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

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

时间:2023-08-16 11:02:44浏览次数:36  
标签:__ FLASH CH32V printf MCU consumer 分配 user

在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/liaigu/p/17633420.html

相关文章

  • 关于CH32系列MCU SDI虚拟串口功能的使用
    该功能需要配合EVT对应例程以及对应WCH-LinkUtility工具使用,WCH-LinkUtility下载链接如下:https://www.wch.cn/downloads/WCH-LinkUtility_ZIP.html该功能目前仅支持以下型号MCU,如下图,且需要配合WCH-LinkE使用,具体可见WCH-Link使用说明5.2.11小节,WCH-Link使用说明下载链接如下:ht......
  • AVR汇编(七):位操作和MCU控制指令
    AVR汇编(七):位操作和MCU控制指令位操作指令SBI/CBISBI指令用于设置I/O寄存器中的第b位,CBI指令用于清除I/O寄存器中的第b位。例如:SBIDDRB,5;PB5设为输出模式CBIPORTB,5;PB5输出低电平移位LSL指令用于逻辑左移,低位补0。LSR指令用于逻辑右移,高位......
  • 关于CH32系列MCU SDI虚拟串口功能的使用
    该功能需要配合EVT对应例程以及对应WCH-LinkUtility工具使用,WCH-LinkUtility下载链接如下:https://www.wch.cn/downloads/WCH-LinkUtility_ZIP.html该功能目前仅支持以下型号MCU,如下图,且需要配合WCH-LinkE使用,具体可见WCH-Link使用说明5.2.11小节,WCH-Link使用说明下载链接如下:ht......
  • CH32V003在MRS中的初始化过程
    在MRS的默认配置中,在main函数执行之前,就已经执行了时钟的初始化配置程序,这部分程序被放在了一个名为system_ch32v00x.c的文件中,这个文件默认被加载到MRS的User目录下(可双击打开它)。在该文件中,最重要的一个函数就是SystemInit,它负责系统的初始化工作,其代码如下所示。 voidSyste......
  • 国产MCU-CW32F030开发学习- 移植rtthread-nano
    国产MCU-CW32F030开发学习--移植rtthread-nano硬件平台CW32_48F大学计划板CW32_IOT_EVA物联网开发评估套件RT-ThreadNanoRT-ThreadNano是一个极简版的硬实时内核,它是由C语言开发,采用面向对象的编程思维,具有良好的代码风格,是一款可裁剪的、抢占式实时多任务的RTOS。其内存资源......
  • CH32V003及其开发环境
    CH32V003是南京沁恒微电子股份有限公司推出的一颗工业级通用微控制器芯片(单片机)。它基于32位RISC-V指令集及架构设计,采用该公司自主开发的青稞V2A(QingKeV2)内核,基于RV32EC指令集,具有2级流水线,支持2级中断嵌套,支持2级硬件堆栈。支持48MHz系统主频,具有宽压(3.3/5V)、单线调试(SWDIO)、低......
  • CH32V003开发环境MRS配置
    MRS是MounRiver工作室采用开源项目Eclipse制作的一款易于使用的开发工具,它几乎是为WCH系列芯片量身定制的,相对于其他一些开发环境,它具有编译速度快,使用简洁方便,支持多种平台等特点,可访问MounRiver的官网(www.mounriver.com)下载最新版本。MRS的安装可全部采用默认选项进行,安装完成......
  • 嵌入式开发中的各种Flash
    1、FlashMemory简介FlashMemory是一种非易失性的存储器。在嵌入式系统中通常用于存放系统、应用和数据等。在PC系统中,则主要用在固态硬盘以及主板BIOS中。另外,绝大部分的U盘、SDCard等移动存储设备也都是使用FlashMemory作为存储介质。2、FlashMemory的主要特性......
  • STM32标准库实现Flash存储和读取
     在STM32F103C8T6微控制器上使用标准库实现Flash存储和读取数据可以通过以下步骤完成:首先,确保你已经配置好了STM32F103C8T6的Flash存储器。默认情况下,Flash存储器已经被分成了两个扇区,一个用于存放程序代码(MainFlashMemory),另一个用于存放数据(DataEEPROM)。在代码中包含s......
  • startup_ch32v00x.S启动文件分析(上)
    引言CH32系列MCU是由南京沁恒(WCH)公司推出的一系列处理器芯片。引自官网:CH32V、CH32X、CH32L系列MCU采用自研的青稞RISC-V内核,基于蓬勃发展的RISC-V开源指令集架构,针对低功耗和高速响应等应用优化扩展,免费配套IDE等开发工具软件,免除第三方内核技术的授权费和提成费,通过内置和组......