吐槽一下AG32纯做CPLD的坑,顺便自己做一个记录.
1.AG32纯做CPLD时,启动时间是50ms,没错是50ms.
开机从内部spi flash结尾100K位置读取cpld逻辑代码到SRAM,还要解压后才能运行,所以这么慢.MCU啥都准备好了,AG32还在解压代码.
2.AG32纯做CPLD时,SWD是关不掉的.
白白占用两个IO.就算在运行CPLD代码前,设置SWJ_CNTL为0x1f都没用,一运行cpld逻辑代码就会开启SWD功能.
3.他的例程dfu_uart也有坑.
本身dfu_uart例程挺好的,提供其他MCU通过串口烧录或者加载CPLD逻辑代码到AG32内存运行.这样不用烧录CPLD都可以生产.MCU每次加载固件进内存就可以了.
但就是这个过程有坑.因为dfu_uart要使用AG32本身的UART,这个dfu_uart加载程序到内存后运行前,这个该死的dfu_uart没有把串口IO释放.导致CPLD没法用这两个IO.希望AGM技术看到能修复一下dfu_uart.inc.
综上,希望大家遇到都少走弯路.附上新版RM.尽管内容遮遮掩掩.
AG32 MCU Reference Manual(20250828修订版).pdf
离线