首页 > 其他分享 >关于CH32V系列MCU FLASH地址的分配

关于CH32V系列MCU FLASH地址的分配

时间:2023-10-24 14:35:37浏览次数:26  
标签:__ FLASH CH32V printf MCU consumer 分配 user

来源: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]);

 

最后可通过编译器查看分配空间是否合理,如下,分配合理。

标签:__,FLASH,CH32V,printf,MCU,consumer,分配,user
From: https://www.cnblogs.com/wchmcu/p/17784723.html

相关文章

  • 关于CH32系列MCU设置noinit变量
    关于noinit定义:noinit段指的是芯片SRAM的一块内存区域(注意是RAM区而非Flash),在该段定义的变量、或者函数,在除了掉电之外的任何芯片复位的情况下都不会被重新初始化。关于noinit作用:no_init段常用来保存一些敏感信息,特殊应用场合下的不能被复位的数据或者做复位判断标志等数据。这......
  • 【WCH蓝牙系列芯片】-基于CH32V208开发板—动态修改蓝牙从机MAC地址
    -------------------------------------------------------------------------------------------------------------------------------------   ......
  • 嵌入式(MCU)STM32L496QEI6/STM32L496QGI3基于ARM®Cortex®-M4内核
    一、简介STM32L432位MCU+FPU是超低功耗微控制器,基于高性能的ARM®Cortex®-M432位RISC内核,工作频率高达80MHz。Cortex-M4内核具有单浮点单元(SFPU)精度,支持所有ARM单精度数据处理指令与数据类型。同时执行全套DSP指令和存储保护单元(MPU),增强应用安全性。明佳达供求嵌入式(MC......
  • CH32F系列MCU代码在SRAM中运行配置方法
    第一种:使用Keil仿真的方式。因SRAM启动与FLASH无关,在SRAM中运行,断电后数据丢失,故在keil下仅用于仿真。有四个注意事项:1)、BOOT0、BOOT1都需要接高电平,从RAM启动;2)、在Debug选项中,InitializationFile选项加载SRAM.INI文件;3)、FLashDownload界面中算法文件起始地址修改成RAM的起始......
  • RX66T优化用于电机控制R5F566TFFGFP、R5F566TKGGFP、R5F566TKCGFP搭载第三代RXv3 CPU
    1、RX66T 框图2、描述RX66T32位MCU是基于第三代RXv3CPU内核的旗舰32位RXMCU系列中的首款产品。这些MCU优化用于电机控制,可满足实时性能和增强稳定性要求。这些特性帮助实现下一代智能工厂设备和智能家电中的逆变器控制。这些MCU还具有下一代设计中嵌入式AI所需的额外处理能......
  • 基于CH32V208开发板—FLASH读写、擦除
    -------------------------------------------------------------------------------------------------------------------------------------在CH32V208系列芯片中,各个型号的参数如下图:FLASH的大小包含零等待区和非零等待区,一共是480K。1、内部实际存储代码的flash为慢速flas......
  • ROM,FLASH和RAM的区别?
     转载自:ROM,FLASH和RAM的区别-Choris的文章-知乎https://zhuanlan.zhihu.com/p/38339306存储器的种类:ROM、RAM、FLASH-NewLook的文章-知乎https://zhuanlan.zhihu.com/p/640008073 本文非博主所写,博主结合自己的理解对原文做了删改已标明转载作者及出处,仅供学......
  • 关于Cortex-M3报错解决方法总结:Flash Download failed错误
    事情原因:在一次使用ST-LINKv2下载程序时,突然出现Error:FlashDownloadFailed-"Cortex-M3”这个错误,显示没有错误,没有警告。芯片型号接线都没有问题。当时就很摸不着头脑,然后上网查看了一下。原来是因为STM32F103C8T6有64kFlash和20kRAM,tm他们不属于高容量的Flash。所以我改了......
  • Flash8.0下载安装教程
    1、下载地址:https://www.jb51.net/softs/555686.html?pc2、在下载好之后然后双击Flash-chs.exe:出现这个弹窗界面:点击下一步;3、选择我接受协议和条款然后点击下一步;4、自定义存储位置,选择是否创建快捷方式然后直接下一步:点击安装:安装完成之后,出现这样一个弹窗界面......
  • FlashDuty Changelog 2023-09-21 | 自定义字段和开发者中心
    FlashDuty:一站式告警响应平台,前往此地址免费体验!自定义字段FlashDuty已支持接入大部分常见的告警系统,我们将推送内容中的大部分信息放到了Lables进行展示。尽管如此,我们用户还是会有一些扩展或定制性的需求,比如人工标记一个故障是否为误报。因此我们提供了自定义字段功能,......