閱讀417 返回首頁    go 阿裏雲 go 技術社區[雲棲]


Windows下基於ADS+J-Link 的ARM開發環境搭建

在一般ARM編程教學和實驗環境裏,一般采用 ADS加+並口轉Jtag板+H-Jtag的開發環境。但是這種方法最大缺點是需要機器上有一個並口。現在無論PC還是筆記本都很難有並口,因此采用USB接口調試器就大行其道。其中Segger的JLink是比較有名和方便的調試器。
     
      ADS 1.2 ,可以如下鏈接下載
      https://esoft.mcu123.com/MCU123_temp_0080309@/ARM/ads1.2.rar
      硬件可以參考這個
      https://s.click.taobao.com/t_1?i=qz0qHj7qltKQRQ%3D%3D&p=mm_11796696_0_0&n=11
一.J-Link的安裝
      首先要安裝驅動。可從官方網站下載https://www.segger.com/cms/jlink-software.html
     
      我下載最新驅動4.14d ,https://www.segger.com/cms/admin/uploads/userfiles/file/J-Link/Setup_JLinkARM_V414d.zip (最後測試這一個版本在AXD無法使用,總是程序死掉)
     
      我最後成功是老的版本4.02d,這個版本基本上可以保證是正常使用。
     
      關於segger的老版本都集中放在這裏
      https://www.segger.com/cms/j-link-older-versions.html
      我用的是4.02d這個驅動
      https://www.segger.com/cms/admin/uploads/userfiles/file/J-Link/Setup_JLinkARM_V402d.zip
      圖形安裝程序一路next即可。
   1.1 測試PC機與J-Link的聯接
      驅動安裝後在主菜單會有Segger->J-Link ARM 4.02d 的菜單。
      將JLink的USB接口接在PC機上(jtag那一頭可先不接開發板),正常情況下,Windows會提示發現硬件並自動安裝硬件。運行J-Link  GDB Server程序。會有如下界麵
    
1.此時再將J-Link上的Jtag線轉接到開發板,我用的是TQ2440;
2.開發板上電後不要進入操作係統(Arm-Linux或WinCE),因此它可能會與仿真軟件有衝突,比較簡單方法是切換到Nor flash啟動模式,這個模式通常不會進入OS;
3.接入JLink後,LCD將不會有顯示,這是正常現象。
再次運行GDB Server.正常聯接會有如下提示
並且聯接上開發板時,J-Link GDB 會自動執行J-Link Control Panel 界麵如下。
(注意要正常用gdb,一般要手工把字節序調成Little Endian,這裏一下用不上,就無所謂了)
經過這樣測試表示,J-Link整體工作正常。
 
二.ADS中用J-Link調試程序
2.1 用ADS打開項目源碼
在ADS上用打開測試項目,我一般用教學的LED項目。編譯後,選擇調試按鈕進入AXD調試界麵,第一次使用AXD一般會出錯,可以不管錯誤直接按2.2,2.3步來配置即可
2.2 配置AXD interface (必須配置!)
選擇AXD主菜單的Options->Configure Interface ...。
配置兩項,一是General 通用頁標簽中,Target connection選擇HALT模式
二是AXD初始化時,配置SDRAM的地址。
可以把配置命令寫在一個腳本裏。在AXD中設為初始化腳本。
方法,選擇configure Interface -->Session File--> Run Configuration  Script.
添入SDRAM初始化腳本2440init.txt全路徑(注意路徑不要帶中文,為防止格式錯誤最好用附件自帶的)
 
2440init.txt內容如下

setmem 0x53000000,0x00000000,32

setmem 0x4a000008,0xffffffff,32

setmem 0x4a00001c,0x00007fff,32

setmem 0x48000000,0x2212d110,32

setmem 0x48000004,0x00000f40,32

setmem 0x48000008,0x00002e50,32

setmem 0x4800000c,0x00002e50,32

setmem 0x48000010,0x00002e50,32

setmem 0x48000014,0x00002e50,32

setmem 0x48000018,0x00002e50,32

setmem 0x4800001c,0x00018005,32

setmem 0x48000020,0x00018005,32

setmem 0x48000024,0x00960542,32

setmem 0x48000028,0x00000032,32

setmem 0x4800002c,0x00000030,32

setmem  0x48000030,0x00000030,32

2.3 配置J-Link的RDI接口
在AXD調試界麵。選擇AXD主菜單的Options->Configure Target...。
選擇sigger安裝目錄下的JLinkRDI.dll。這一步是讓AXD調用J-Link的DLL來調試。 RDI是(Remote Debug  Interface 和簡稱,是ARM公司設計用於其它調試器與AXD通訊的協議
配置完後應該可以直接在J-Link調試,如果你沒有相關經驗,可以關掉AXD,重新執行2.1步來調試程序
2.4 AXD調用J-Link調試界麵
我測試是完整2440測試程序,643k的axf測試程序一瞬間就下載完畢即可調試,這用並口調試時不可想象,用並口可能幾分鍾都沒下完,而且單步調試非常之慢。而且J-Link來調試則完全沒有這一個問題。速度非常之快。
在調試時,J-Link的Control panel 將自動打開

最後更新:2017-04-03 14:54:27

  上一篇:go Jlink 燒寫Uboot
  下一篇:go BT656跟BT1120和BT709有什麼區別