STM32使用J-Link仿真相關(guān)匯總
目錄:
一、SWD實(shí)時仿真接線
二、仿真設(shè)置
三、仿真時問題的解決
1、仿真時添加變量或數(shù)組
2、程序下載
3、盡量不要由J-Link給線路板供電
4、仿真器與線路板連接需可靠
5、使用J-Link時,Keil軟件出現(xiàn)無響應(yīng)
----------------------------------------
所有的操作基于WIN XP,stm32使用J-Link(SWD模式)。
另可參見系統(tǒng)、軟件、數(shù)碼/Keil編譯軟件的使用匯總(三、Keil5.12編譯報(bào)錯的處理)。
----------------------------------------------------------------------------------------------------------------
一、SWD實(shí)時仿真接線
--------------------------------------------------------------------------------------------------
二、仿真設(shè)置
J-LINK的SWD仿真時,對單片機(jī)口線的設(shè)置
void KEY_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable,ENABLE); //關(guān)閉JTAG,否則“增加”PBin(3)鍵失效
//GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable,ENABLE);
//設(shè)置為GPIO_Remap_SWJ_Disable,表現(xiàn)為程序執(zhí)行到KEY_Init()函數(shù)會停住,有時會
//報(bào)“CPU_REG_SET():Register 0 is already marked as valid.”
//設(shè)置為GPIO_Remap_SWJ_JTAGDisable即可解決此問題。
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB|RCC_APB2Periph_GPIOD, ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_15;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
GPIO_Init(GPIOB, &GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_10|GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14|GPIO_Pin_15;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
GPIO_Init(GPIOD, &GPIO_InitStructure);
}
----------------------------------------------------------------------------------------------------------------
三、仿真時問題的解決
1、仿真時添加變量或數(shù)組
1)連接上J-Link仿真器,出現(xiàn)數(shù)組顯示為變量,只要在此處設(shè)置斷點(diǎn),再仿真到相應(yīng)的數(shù)組位置即可解決此問題。
2)點(diǎn)變量或數(shù)組右鍵可快速添加到Watch中。
2、程序下載
1)程序下載完成后,J-LINK使單片機(jī)處于復(fù)位狀態(tài),只要start debug,然后再stop debug即可。如下圖。
或者勾選“Reset and Run”
2)在試驗(yàn)時“編程到FLASH時寫選項(xiàng)字節(jié)”前面切記不要打鉤,這是讀保護(hù)、寫保護(hù)。
3、盡量不要由J-Link給線路板供電,內(nèi)部有短接。
4、仿真器與線路板連接需可靠
5、查看仿真器是否連接上
如果勾選2處不能燒寫,可按下圖
5、使用J-Link時,Keil軟件出現(xiàn)無響應(yīng)
J-Link連接上線路板,中途線路板斷電,極容易出現(xiàn)無響應(yīng)。拔去J-Link連接電腦的USB線再插上。
----------------------------------------------------------------------------------------------------------------