全球最实用的IT互联网信息网站!

AI人工智能P2P分享&下载搜索网页发布信息网站地图

当前位置:诺佳网 > 电子/半导体 > 模拟技术 >

投稿 | 基于IAR仿真RA低功耗

时间:2022-11-04 10:39

人气:

作者:admin

标签: mcu 

导读:基于IAR仿真RA低功耗...

RA MCU 生态工作室致力于构建一个完善的 RA 生态,这将会是一个好玩有趣的开放社区,也提供各种RA相关问题的解决方法。

1.概述

为实现RA进入Deep software standby mode 后能保持Jlink仿真连接,唤醒DS(Deep software standby mode)后芯片复位也能保持Jlink仿真。本文档是基于RA4M2芯片做测试实现。(理论上RA所有芯片都通用)

2.配置说明

根据芯片手册文档说明是支持DeepSoftware Standby mode仿真的,需要做一些配置,并且Jlink也需要配置打开Low Power Debug,Jlink仿真的Low Power Debug默认是关闭的,需要做一些配置。

下图为芯片手册说明(详细的配置寄存器请自行看手册):

50ba60e6-0f69-11ed-9ade-dac502259ad0.png

下图为Jlink文档上边的Low Power Debugging说明(我们是属于文档中介绍的第4种模式):

50dabd1e-0f69-11ed-9ade-dac502259ad0.png

根据Jlink文档中的介绍相关配置相关的说明如下图所示(文档链接:https://wiki.segger.com/Generic_IDE#Low_power_debugging

51018df4-0f69-11ed-9ade-dac502259ad0.png

由上总结需要通过IAR链接配置Jlink script file 跟Jlink setting file。

3.代码

Jlink script file 内容如下图所示(需要自行新建.JLinkScript 文件放IAR工程目录下边):

510c0ff4-0f69-11ed-9ade-dac502259ad0.png

源码:

void clear_DBIRQ( void )
{
JLINK_CORESIGHT_WriteDP( 2, ( 1 << 24 ) | ( 0 << 4 ) ); // Select AP[1], bank 0
JLINK_CORESIGHT_WriteAP( 0, ( 0 ) | ( 2 << 0 ) | ( 1 << 31 ) ); // AP-access size. Fixed to 2: 32-bit  // Enable software access to the Debug APB bus.
JLINK_CORESIGHT_WriteAP(1, 0x80000410); //MCUCTRL register
JLINK_CORESIGHT_WriteAP( 3, 0x00000000 ); //Clear DBIRQ bit
JLINK_MEM_WriteU16( 0x4001E3FE, 0xA502 ); // PRCR register. Enable access to SYOCDCR register
JLINK_MEM_WriteU8( 0x4001E40E, 0x80 );  // SYOCDR register, set DBGEN bit
JLINK_MEM_WriteU8(0x4001E407, 0x00);    // SYOCDR register, set DBGEN bit
JLINK_MEM_WriteU16( 0x4001E3FE, 0xA500 ); // PRCR register. Disable access to SYOCDCR register
}
void InitTarget( void )
{
clear_DBIRQ();
}
void SetupTarget( void )
{
clear_DBIRQ();
}
int InitEMU(void) {
JLINK_ExecCommand("EnableLowPowerHandlingMode");
return 0;


Jlink setting file文件配置如下图所示(文件所在目录为IAR工程下边的settings\工程名_Debug.jlink)

5136868a-0f69-11ed-9ade-dac502259ad0.png

源码:


[BREAKPOINTS]
ForceImpTypeAny = 0
ShowInfoWin = 1
EnableFlashBP = 2
BPDuringExecution = 0
[CFI]
CFISize = 0x00
CFIAddr = 0x00
[CPU]
MonModeVTableAddr = 0xFFFFFFFF
MonModeDebug = 0
MaxNumAPs = 0
LowPowerHandlingMode = 1
OverrideMemMap = 0
AllowSimulation = 1
ScriptFile=""
[FLASH]
EraseType = 0x00
CacheExcludeSize = 0x00
CacheExcludeAddr = 0x00
MinNumBytesFlashDL = 0
SkipProgOnCRCMatch = 1
VerifyDownload = 1
AllowCaching = 1
EnableFlashDL = 2
Override = 0
Device="ARM7"
[GENERAL]
WorkRAMSize = 0x3000
WorkRAMAddr = 0x2000D000
RAMUsageLimit = 0x00
[SWO]
SWOLogFile=""
[MEM]
RdOverrideOrMask = 0x00
RdOverrideAndMask = 0xFFFFFFFF
RdOverrideAddr = 0xFFFFFFFF
WrOverrideOrMask = 0x00
WrOverrideAndMask = 0xFFFFFFFF
WrOverrideAddr = 0xFFFFFFFF

IAR 需要增加调用.JLinkScript文件命令,如下图所示(命令:--jlink_script_file=$PROJ_DIR$/DS_MODE_debug.JLinkScript):

5183dab6-0f69-11ed-9ade-dac502259ad0.png

配置好后就可以仿真低功耗了。注意:仿真状态下的功耗并无参考价值,如需实际需脱机测试。

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信