本用例是展示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进入调试。
本文详细介绍了如何在HC32F4A0微控制器上对2Mflash进行擦除和读写操作,重点讲解了如何将程序配置为从RAM运行,包括设置程序地址、中断向量表位置和使用Memory选项以及RAM.ini文件配置,以便于正确运行和调试程序。
1806

被折叠的 条评论
为什么被折叠?



