【经验】华芯微特MCU SWM190在KEIL环境中实现代码在RAM中运行操作方法
在MCU的实际使用过程中,我们一般会将程序放在FLASH中运行,但有时候需要同时操作falsh或者需要更好的实时性,程序运行的速度更快,这时我们就可以将这代码放到RAM中运行。将代码放在RAM中又可以分为将.C文件放入RAM中以及将部分函数放在RAM中。本文以华芯微特MCU SWM190为例给大家简单介绍一下在KEIL环境中如何让程序运行在RAM上。
SWM190 KEIL环境实现将.C文件在RAM中运行操作方法
以SWM190为例,我们打开SYNWIT公司提供的普通的GPIO工程,编译后查看映射文件(.MAP文件)来查看文件位置。
我们先来看GPIO例程的主要函数,如下图:
接着通过MAP文件看main.c文件在falsh中运行的情况,如下图可以看出main.c文件编译后的地址在以0x00000000为首地址的flash中:
将文件放在RAM中常用的方法有两种,我们以将main.c文件放到RAM中为例:
方法一快速将.c文件放入RAM
1、 点击APP中的想要放置在RAM中的文件,右键然后单击烟花棒(Options for File ‘main.c’)
2、 点击Code/Const,选择IRAM1[0x20000000-0x20004FFF]
3、 点击OK按钮并编译
4、此时可以看到main.c文件上有个*,意味着我们已经成功将main.c文件放在了RAM中
也可通过查看.map文件确认main.c文件的位置,如下图所示,可以看出来main文件的地址变为0x20000000开始的RAM地址。
方法二修改.cst文件
1、在取消勾选Use Memory Layout Form Target Dialog后会出现出现一个.sct文件,点击Edit可直接对该文件进行修改。
打开文件后内容如下:
2、在.sct文件中,将main.o放在RW_IRAM1执行区域(0x20000000-0x00002000),修改后如下:
3、点击编译按钮,编译器会自动将main.c文件放到RAMCODE所在0x20000000开始的区域,结果如下图所示,main文件的地址变为0x20000000开始的RAM地址。
SWM190 在KEIL环境实现将部分函数放在RAM中运行操作方法
我们仍然以SWM190为例,我们打开SYNWIT公司提供的普通的GPIO工程,将while1中的函数封装成KeyScan函数,如下图:
编译后可以通过查看MAP文件来看KeyScan函数的位置,如下图可以看出来KeyScan函数编译后的地址在flash中:
然后我们将KeyScan函数放到RAM中,操作如下:
1、与之前一样,在取消勾选Use Memory Layout Form Target Dialog后会出现一个.sct文件,点击Edit可直接对该文件进行修改,也可以将此文件拷贝到APP目录下(防止删除out目录下内容时误删*.sct文件),然后再进行修改。
2、需要定位到RAM中的KeyScan函数添加前缀
方法一
用#pragma arm section code = “PlaceInRAM”和#pragma arm section将需要放到SRAM中的程序包括起来;
打开文件后内容如下:
方法二
在需要放到RAM中的函数前,用__attribute__((section("PlaceInRAM ")))声明该函数放在PlaceInRAM section中。
3、在.sct文件中,定义一个PlaceInRAM的section,放在RW_IRAM1执行区域(0x20000000-0x00002000)。
修改内容如下图所示:
4、点击编译按钮,编译器会自动将KeyScan函数放到RAMCODE所在0x20000000开始的区域,结果如下图所示,KeyScan函数的地址变为0x20000000开始的RAM地址。
以上是本次介绍的将代码放到RAM的操作方法,如果SWM芯片用户想更多了解SWM芯片信息请联系华芯微特代理世强。
- |
- +1 赞 0
- 收藏
- 评论 0
本文由ll转载自华芯微特32位MCU公众号,原文标题为:MCU之SWM在KEIL环境中实现代码在RAM中运行,本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。
相关推荐
如何实现PWM调光调色与可控硅调光?
由LED专用驱动芯片进行调光,MCU只需要给出PWM信号即可进行亮度调节。例如晶丰明源的BP2886,是一款PWM调光非隔离降压型LED恒流驱动芯片。这种方案的典型特征是有两路调光,一路调白光,一路调黄光,LED驱动芯片旁边带有一个像变压器的大电感。本文介绍PWM调光调色与可控硅调光。
【经验】如何使用JFLASH擦除、写入及读取华芯微特指定型号MCU
本文介绍了华芯微特MCU产品如何使用第三方Segger公司的JFLASH配合J-Link仿真器对指定型号MCU的Flash进行擦除、写入及读取操作。
【经验】华芯微特SWM341/SWM34S系列MCU环境配置指南
华芯微特MCU的系列之SWM341&SWM34S,内核相同,34S在341基础上内置了SDRAM。341芯片使用M33内核,基于ARM-V8指令集的架构,对应的工具版本有更高的要求。本文中华芯微特将为大家介绍SWM341/SWM34S系列MCU环境配置指南。
华芯微特MCU 32 位微控制器产品列表
型号- SWM19SC9T6-50,SWM241PBT7-80,SWM181RCT6-50,SWM211,SWM211G6S7-65,SWM181C9T6-50,SWM22PE8S7-63,SWM241KBT7-80,SWM221EBS7-63,SWM34SRET6-50,SWM21PG6S7-65,SWM221CBT7-50,SWM34SVET6-50,SWM341RET7-50,SWM260KBT7-80,SWM320RET7-50,SWM181DBU6-40,SWM211C8T7-50,SWM21PE6S7-63,SWM341CET7-50,SWM190CBT7-50,SWM166,SWM221,SWM320,SWM341,SWM241,SWM221KBU7-50,SWM260,SWM181,SWM19SCBT7-50,SWM320CET7-50,SWM190,SWM166D8U6-40,SWM32SRET6-50,SWM21DD8U7-40,SWM34SMEU6-40,SWM190RBT7-50,SWM181CBT6-50,SWM21DK6U7-50,SWM341VET7-50,SWM260CBT7-50,SWM34SCET6-50
Top Chinese 8/32-bit MCU Manufacturers with ARM Cortex-M0, M0+, M3, M4 and Stable Supply
In the face of rising semiconductor raw material prices and a continued shortage of production capacity, Sekorm has joined Civil Technology, Arteli, Chipsea, China Microelectronics, Fudan Microelectronics, Aerospace Shun, and other mainstream MCU manufacturers to provide stable MCU supply guarantees
华芯微特SWM341 ISP模式参考
本文介绍华芯微特SWM341MCU ISP模式。
SWM341 系列 MCU数据手册
型号- SWM341VET6(7)–50,SWM34SV,SWM34SRET6,SWM341RET7,SWM34SVET6,SWM34SR,SWM341R系列,SWM341V系列,SWM34SRET6-50,SWM34SVET6-50,SWM341 系列,SWM341RET7-50,SWM34SCET6,SWM341CET7,SWM341V,SWM341CET7-50,SWM341R,SWM341,SWM34SMEU6-40,SWM34SR系列,SWM34SMEU6,SWM34SV系列,SWM341VET7,SWM341VET7-50,SWM34SCET6-50
使用华芯微特SWM341系列MCU环境配置
SWM341是华芯微特的其中一款MCU,341和341+内置SDRAM的34S系列,其内核相同。本文中华芯微特来为大家介绍使用SWM341系列MCU环境配置,希望对各位工程师朋友有所帮助。
SWM181 系列 MCU 数据手册
型号- SWM181RCT6-50,SWM181C8T6,SWM181C9T6,SWM181C9T6-50,SWM181,SWM181RCT6,SWM181 系列,SWM181CCT6-50,SWM181CBT6-50,SWM181DBU6-40,SWM181CBT6,SWM181CCT6,SWM181C8T6-50,SWM181DBU6
华芯微特高性能MCU SWM181用于酒精测试仪,独有的2路高精度ADC,支持最多56个GPIO
酒精检测仪是一种可以测量人体酒精浓度的电子设备。它可以通过呼气或血液等方式来检测酒精浓度,被广泛应用于交通安全、职业健康等领域。针对酒精测试仪,主推华芯微特MCU SWM181,独有的2路高精度ADC(1路16位、1路12位),性价比高、性能稳定!
以华芯微特SWM341/SWM34S系列MCU芯片,介绍从软件层面降低MCU功耗的方法
随着集成电路技术的飞速发展,MCU的功耗问题逐渐成为设计和应用中必须考虑的关键因素。低功耗设计对于提高电路可靠性、降低成本以及延长电池寿命具有至关重要的作用。本文档主要是以华芯微特SWM341/SWM34S系列芯片,介绍从软件层面降低MCU功耗的方法分享。
【经验】解析MCU之TIMER的ADC触发功能
本文华芯微特详细介绍了MCU的TIMER定时器之脉冲发送功能和SWM190 TIMER触发ADC功能库函数配置,供大家参考。
华芯微特MCU(ARM Cortex-M0)32位微控制器产品列表
型号- SWM19SC9T6-50,SWM241PBT7-80,SWM181RCT6-50,SWM211,SWM211G6S7-65,SWM181C9T6-50,SWM241KBT7-80,SWM34SRET6-50,SWM21PG6S7-65,SWM34SVET6-50,SWM341RET7-50,SWM260KBT7-80,SWM320RET7-50,SWM201G6S7-65,SWM181DBU6-40,SWM211C8T7-50,SWM21PE6S7-63,SWM201C6T7-50,SWM341CET7-50,SWM201,SWM190CBT7-50,SWM166,SWM320,SWM20PG6S6-65,SWM341,SWM241,SWM260,SWM181,SWM19SCBT7-50,SWM320CET7-50,SWM190,SWM166D8U6-40,SWM32SRET6-50,SWM21DD8U7-40,SWM34SMEU6-40,SWM190RBT7-50,SWM181CBT6-50,SWM20DC6U7-50,SWM21DK6U7-50,SWM341VET7-50,SWM260CBT7-50,SWM34SCET6-50
简易但有效的MCU芯片抗干扰测试方案
MCU芯片对所在环境中存在的电磁干扰须具有一定程度的抗扰度,确保使用该芯片的设备能正常运行。家电类产品,一般都是通过交流电供电,同时也会对交流电进行控制,驱动大功率部件,比如电机,压缩机等。交流电出现通断情况下,会产生电磁场干扰MCU芯片。本文介绍一个简易但有效的测试方式评估MCU芯片对抗此类干扰的能力。
电子商城
现货市场
服务
可定制显示屏的尺寸0.96”~15.6”,分辨率80*160~3840*2160,TN/IPS视角,支持RGB、MCU、SPI、MIPI、LVDS、HDMI接口,配套定制玻璃、背光、FPCA/PCBA。
最小起订量: 1000 提交需求>
可烧录IC封装SOP/MSOP/SSOP/TSOP/TSSOP/PLCC/QFP/QFN/MLP/MLF/BGA/CSP/SOT/DFN;IC包装Tray/Tube/Tape;IC厂商不限,交期1-3天。支持IC测试(FT/SLT),管装、托盘装、卷带装包装转换,IC打印标记加工。
最小起订量: 1pcs 提交需求>
登录 | 立即注册
提交评论