来源:https://www.cnblogs.com/liaigu/p/17784283.html 关于在MRS开发环境下,针对CH32V系列MCU FLASH分配,具体方法如下: 比如开辟一段空间,存放数组等数据,首先在ld文件中修改FLASH分配,如下图: .consumer_flash1 :
{
. = ALIGN(4);
}AT>FLASH1
.consumer_flash2 :
{
. = ALIGN(4);
}AT>FLASH2
其次,在程序中使用分配好的FLASH1和FLASH2,如下图,将两个数组分别放到FLASH1区域和FLASH2区域。然后打印查看对应的地址和数据,发现没有问题,说明操作成功。 const uint8_t __attribute__((section(".consumer_flash1"))) user_data1[20] = {4,2,3,4,5,6,7,8,9,0xa,0xb,0xc,0xd,0xe,0x0};
const uint8_t __attribute__((section(".consumer_flash2"))) user_data2[20] = {5,2,3,4,5,6,7,8,9,0xa,0xb,0xc,0xd,0xe,0x0};
printf("%x\r\n", user_data1);
printf("%d\r\n", user_data1[0]);
printf("%x\r\n", user_data2);
printf("%d\r\n", user_data2[0]);
最后可通过编译器查看分配空间是否合理,如下,分配合理。
|