本用例是展示HC32F4A0片上2M flash的擦除和读写功能,由于默认配置是程序写入flash中,并从flash中运行程序,所以需要将程序配置为从RAM中运行,这样才能正确运行此程序。默认配置如下:
可以看到MCU的内部flash为2M,RAM为512K,配置过程如下:
1.设置程序存放的地址,IROM1,这里设置从0x1FFE0000开始,大小为0x8000;
2.设置程序RAM运行地址,IRAM1,由于前面的0x8000大小的RAM用于存放程序,所以这里得设置从0x1FFE8000开始,大小为0x80000-0x8000=0x78000.
3.设置中断向量表存放位置的宏,VECT_TAB_SRAM表存放在SRAM中。
4.先去选Use Memory,在右边的R/O Base填上程序的起始地址0x1FFE0000 ,R/W Base填上RAM的的起始地址0x1FFE8000.然后勾选Use Memory.
5.勾选Load Application,在工程文件同级目录下新建一个RAM.ini文件,文件内容为如下,然后再Initialization File将文件加载进来。
SP = _RDWORD(0x1FFE0000); // Setup Stack Pointer
PC = _RDWORD(0x1FFE0004); // Setup Program Counter
_WDWORD(0xE000ED08, 0x1FFE0000); // Setup Vector Table Offset Register
6.如下图配置。
7.此时配置完成,重新编译后,点击debug进入调试。