網絡上流傳了很多用openjtag+Eclipse調試mini2440流水燈的文章,實踐過程中並不一帆風順,有很多問題。
軟件的版本是個很大的問題,網絡的文章很多是用一兩年前的版本,本人歷來喜新不厭舊,一般首選最新版,
舊版做替補。
首選要做的是安裝JTAG工具
山寨版Jlink遇到了很多問題,對gcc工具鏈不熟悉,解決這些問題很惱火。淘寶上有用FT2232製作的openjtag,配合openocd很好用。
sudo cp 50-ftdi.rules /etc/udev/rules.d/
50-ftdi.rules在openjtag附送的光盤裏可以找到。
Eclipse、openocd 和arm-linux-gcc之前裝好了:
Eclipse、openocd可以用“新立得”安裝,Eclipse還需要安裝GNU ARM Eclipse Plug-in。
GNU ARM Eclipse Plug-in 的下載地址:http://sourceforge.net/projects/gnuarmeclipse/
arm-linux-gcc 是友善提供的,版本比較新,比較穩定。
openjtag附送的光盤提供了所有源碼。只需在Eclipse裏建立工程,配置debug就可以調試了。
1. 建立工程。選擇Makefile 空工程。這次不使用Eclipse自動生成的Makefile。
2. 將這些文件拷貝到工程目錄下,按F5刷新。
3. 編譯。如果報錯,檢查是不是遺漏了文件。
4.配置debug
4.1 新建一個 GDB hardware debugging 調試器。先選擇工程,之後選擇elf文件。
4.2 配置 debugger參數:使用arm-linux-gdb 調試器,IP端口是 localhost 3333
4.3 填寫startup
4.4 保存退出。
5. 用openjtag連接mini2440
sudo openocd -f openjtag -f samsung_s3c2440.cfg
6. 在telnet裏面halt cpu,不知爲何必需手動halt,否則有時可以正常調試有時不行。
telnet localhost 4444
>halt
>arm920t cp15 2 0
7. debug
補記:zylin的源
http://opensource.zylin.com/embeddedcdt.html
在nor flash不能調試,在Nand flash調試正常。
用新立得安裝的openocd(3.0.1)不支持monitor arm7_9 sw_bkpts enable,win7下的 0.4.0 with GUI 支持該命令。
調試過程正常,只是必須手動 halt 後 arm920t... 否則不能調試。