RA MCU 生態(tài)工作室致力于構建一個完善的 RA 生態(tài),這將會是一個好玩有趣的開放社區(qū),也提供各種RA相關問題的解決方法。
1.概述
為實現(xiàn)RA進入Deep software standby mode 后能保持Jlink仿真連接,喚醒DS(Deep software standby mode)后芯片復位也能保持Jlink仿真。本文檔是基于RA4M2芯片做測試實現(xiàn)。(理論上RA所有芯片都通用)
2.配置說明
根據(jù)芯片手冊文檔說明是支持DeepSoftware Standby mode仿真的,需要做一些配置,并且Jlink也需要配置打開Low Power Debug,Jlink仿真的Low Power Debug默認是關閉的,需要做一些配置。
下圖為芯片手冊說明(詳細的配置寄存器請自行看手冊):

下圖為Jlink文檔上邊的Low Power Debugging說明(我們是屬于文檔中介紹的第4種模式):

根據(jù)Jlink文檔中的介紹相關配置相關的說明如下圖所示(文檔鏈接:https://wiki.segger.com/Generic_IDE#Low_power_debugging

由上總結需要通過IAR鏈接配置Jlink script file 跟Jlink setting file。
3.代碼
Jlink script file 內容如下圖所示(需要自行新建.JLinkScript 文件放IAR工程目錄下邊):

源碼:
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)

源碼:
[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):

配置好后就可以仿真低功耗了。注意:仿真狀態(tài)下的功耗并無參考價值,如需實際需脫機測試。
-
mcu
+關注
關注
146文章
17847瀏覽量
360633
發(fā)布評論請先 登錄
RA4L1數(shù)據(jù)手冊
RA4L1硬件手冊
瑞薩RA4L1系列微控制器與RA4L1-SENSOR套件概述(數(shù)據(jù)手冊免費下載)

新品上市 | 瑞薩RA4L1低功耗MCU--USB,CANFD,段碼LCD,適用低功耗電池應用

瑞薩RA家族RA4L1低功耗MCU量產上市

【RA-Eco-RA2E1-48PIN-V1.0開發(fā)板試用】開發(fā)板介紹和環(huán)境搭建
【RA-Eco-RA2E1-48PIN-V1.0開發(fā)板試用】開發(fā)板介紹&環(huán)境搭建
【RA-Eco-RA2E1-48PIN-V1.0開發(fā)板試用】RA-Eco-RA2E1-48PIN-V1.0開發(fā)板基于Keil MDK環(huán)境搭建
【RA-Eco-RA2E1-48PIN-V1.0開發(fā)板試用】帶你認識RA-Eco-RA2E1-48PIN-V1.0開發(fā)板
RA0E1 MCU低功耗演示例程

評論