STM32G0工程Keil MDK下载设置里面的RAM for Algorithm是0x1000,大小是4K
RAM for Algorithm跟烧录算法文件的大小有关,编译了G0的FLM工程,编译信息如下:
Program Size: Code=480 RO-data=4256 RW-data=24 ZI-data=0
这个代码大小已经超过了4K,但是工程是可以下载烧录的,不明白这其中的设置规则
我把RAM for Algorithm设置的大小降到0x654就不能下载烧录,提示cannot load flash programming Algorithm,提高到0x658就能下载了,
这个分配RAM空间的最小值是怎么定的呢?和flashdevice里的页大小有关联吗?
struct FlashDevice const FlashDevice = { FLASH_DRV_VERS, // Driver Version, do not modify! "STM32G0xx 128 KB Flash", // Device Name (128kB) ONCHIP, // Device Type 0x08000000, // Device Start Address 0x00020000, // Device Size in Bytes (128kB) 1024, // Programming Page Size 0, // Reserved, must be 0 0xFF, // Initial Content of Erased Memory 400, // Program Page Timeout 400 mSec 400, // Erase Sector Timeout 400 mSec // Specify Size and Address of Sectors 0x800, 0x000000, // Sector Size 2kB SECTOR_END };