<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > ulink-Jlink下在ram和flash中調試STM32的方法

ulink-Jlink下在ram和flash中調試STM32的方法

作者: 時(shí)間:2012-09-11 來(lái)源:網(wǎng)絡(luò ) 收藏

Keil MDK3.20 在ULINK下stm32

本文引用地址:http://dyxdggzs.com/article/148406.htm

1. 程序在RAM中運行

要點(diǎn):(1)程序的下載地址改到RAM空間中

(2)程序的debug之前要設定SP,PC指針到Ram空間

新建工程,選擇 的具體型號,我買(mǎi)的萬(wàn)利的開(kāi)發(fā)板,選擇stm32f103Vb。

?

設定程序下載地址,如下圖所示,IROM1的地址指向了空間。

?

空間大小如何分配取決于自己的需求。本款處理器內部大小為20K,分配16K給只讀區,4K給可讀可寫(xiě)區。這樣IROM設定的大小為0x4000,IRAM1的起始就變?yōu)?X20004000,大小只剩下0X1000。

Debug標簽選擇ULINK1 Cortex Debugger(軟件采用yjgyiysbcc兄crack)。不選Load Application at Start,在Initialization中加入啟動(dòng)腳本RAM.ini。

?

RAM.ini中具體內容如下:

FUNC void Setup (void) {

SP = _RDWORD(0x20000000); // Setup Stack Pointer

PC = _RDWORD(0x20000004); // Setup Prog Counter

_WDWORD(0xE000ED08, 0x20000000); // Setup Vector Table Offset Register

}

LOAD XXX.axf INCREMENTAL // Download,紅色代表工程文件名.axf

Setup(); // Setup for Running

g, main

Utilities下Update Target before Debugging不選

這樣添加后就可以在RAM中了。

>>>>>>我們需要在代碼中設置正確的中斷向量表位置。中斷向量表通常被放置在用戶(hù)程序的開(kāi)始,所以中運行時(shí),向量表位于0x08000000處,而當代碼被放置在SRAM中運行時(shí),他的位置就成了0x20000000。在初始化NVIC時(shí),我們可以放置如下代碼,定義向量表的位置

NVIC_SetVectorTable(0x20000000 , 0x0);

NVIC_SetVectorTable(0x08000000 , 0x0);

?

>>>>>工程選項中Debug項,Download選項卡中,去掉所有鉤子,不下載代碼到,這樣就可以在RAM中程序了!

2. Flash中調試

新建工程后系統默認設定好IROM1為FLASH的地址和空間大小。只需要兩步:

1) 設定調試工具為ULINK1 CORTEX DEBUGGER,如下圖所示,不需要設定起始腳本。

?

2) 在Utility中設定選擇ULINK1 cortex debugger,并設定編程算法。如下圖所示。

?

?

之后就可以FLASH調試了。

硬件:萬(wàn)利的 EK-F開(kāi)發(fā)板,硬件去掉RS3,RS4 排阻,斷開(kāi)開(kāi)發(fā)板本身的仿真器。

軟件:KEIL MDK3.20+ULINK驅動(dòng)替換文件。

仿真器:ULINK



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>