【GD32L233C-START评测】番外1 下载故障的解决
[复制链接]
本帖最后由 yang_alex 于 2022-2-17 22:50 编辑
在GD32L233C-START评估板上编译好程序,在下载时跳出如下错误提示框
哎呦!之前的程序下载都正常,怎么这次就不行了呢?先确认一下吧。
确认后,结果又弹出下面的错误框:
不能加载下载算法文件当然下载会失败了。
那为啥不能加载下载算法文件呢?把下载USB线重新拔插了一次,仍然不行。换回上次的项目,结果下载正常,说明不是硬件上的问题。折腾了好久,突然注意到了编译输出框中的提示:
“Insufficient RAM for Flash Algorithms” FLASH算法的RAM空间不足!突然想起原来MCU内部FLASH比较小的时候,可能是边传数据边烧写(真的像写FLASHRAM一样,一一对应地给地址和写入代码数据)。FLASH比较大的时候是先下载烧写算法到MCU内部RAM上(FLASH的烧写算法本身也相当于一个小程序,在烧录器或调试器向FLASHRAM烧写程序的过程中放在芯片内部来执行,SRAM运行速度比FLASHRAM快,所以往往放到SRAM上,所以烧写算法在烧写过程中是需要分配内存空间的),再在RAM上开辟一块缓存,一边烧写(FLASHRAM写入比较慢)一边从PC端下载烧写数据(在FLASHRAM写入等待时间里)。所以说这个故障和MCU烧写代码时RAM分配大小有关。
果然,把下图中下载算法用的RAM调大些:
故障就解除了。
这里有个疑问:为什么这个配置数据不和器件型号绑定。在烧录算法里当确定烧录器件型号的时候,这颗MCU的RAM也可以确定了啊。之前外挂SDRAM和FLASHRAM时可以说不知道用户单板上FLASHRAM的大小,但现在是内置的,知道器件型号就一定可以确认RAM和FLASHRAM的大小了啊!
|