<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > ulink-Jlink下在ram和flash中調(diào)試STM32的方法

          ulink-Jlink下在ram和flash中調(diào)試STM32的方法

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

          Keil MDK3.20 在ULINK下stm32

          本文引用地址:http://www.ex-cimer.com/article/148406.htm

          1. 程序在RAM中運(yùn)行

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

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

          新建工程,選擇 的具體型號,我買的萬利的開發(fā)板,選擇stm32f103Vb。

          ?

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

          ?

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

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

          ?

          RAM.ini中具體內(nèi)容如下:

          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中了。

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

          NVIC_SetVectorTable(0x20000000 , 0x0);

          NVIC_SetVectorTable(0x08000000 , 0x0);

          ?

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

          2. Flash中調(diào)試

          新建工程后系統(tǒng)默認(rèn)設(shè)定好IROM1為FLASH的地址和空間大小。只需要兩步:

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

          ?

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

          ?

          ?

          之后就可以FLASH調(diào)試了。

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

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

          仿真器:ULINK



          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();