关于CH32V系列MCU FLASH地址的分配
关于在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]);
最后可通过编译器查看分配空间是否合理,如下,分配合理。
分类:
32位MCU学习
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~