上個月買了一個openJTAG一直沒時間使用,今天用了一下,還行,給大家分享一下RVDS4.0與openJTAG的使用方法
首先得安裝好openJTAG的相關驅動以及GDB調試軟件,這個在openJTAG的使用手冊上面都有,這里就不多說了,來看看RVDS4.0的設置吧
只有一個.s文件,是匯編寫的,用來測試無uboot環(huán)境下的啟動的,其它編譯設置請看我的博文,RVDS4.0建立工程,我這里使用的地址為0x0,地址,也就是ARM啟動后第一條指令所在位置.
;----------------------------------------------------------------------------------------------------- ;功能: S3C6410硬件初始化代碼 ;作者: 異靈元(cp1300@139.com) ;創(chuàng)建時間:2012-10-27 ;修改時間:2012-10-27 ;修訂說明: ;----------------------------------------------------------------------------------------------------- PRESERVE8 INCLUDE?????s3c6410_map.inc ;寄存器地址映射 AREA????Init,CODE,READONLY ENTRY? B ResetHandler ;系統(tǒng)硬件復位 B UndHandler ;未定義指定中斷 B SWIHandler?????? ;軟件中斷 B PaAbort???????????? ;取指令異常中斷 B DaAbort??????????? ;取數(shù)據(jù)異常中斷? B . ;保留 B IRQHandler????? ;中斷 B FIQHandler????? ;快速中斷 ResetHandler PROC ;----------------------------------------------------------------------------------------------------- ;關閉看門狗 ;----------------------------------------------------------------------------------------------------- LDR R0, =S3C6410_WTCON ;看門狗寄存器地址 LDR R1, =0x0 STR R1, [R0] ;寫0,關閉看門狗 ;----------------------------------------------------------------------------------------------------- ;點亮所有LED ;----------------------------------------------------------------------------------------------------- LDR R0, =S3C6410_GPMCON LDR R1, =0x1111 ;推挽輸出 STR R1, [R0] LDR R0, =S3C6410_GPMDAT LDR R1, =0x0 ;寫入0,點亮所有燈 STR R1, [R0] main_loop B main_loop ENDP UndHandler PROC EXPORT UndHandler [WEAK] B . ENDP SWIHandler PROC EXPORT SWIHandler [WEAK] B . ENDP PaAbort PROC EXPORT PaAbort [WEAK] B . ENDP DaAbort PROC EXPORT DaAbort [WEAK] B . ENDP IRQHandler PROC EXPORT IRQHandler [WEAK] B . ENDP FIQHandler PROC EXPORT FIQHandler [WEAK] B . ENDP END
再看看如何配置調試
(默認大家已經(jīng)安裝好了openJTAG相關驅動)
?
1.首先得安裝RVDS4.0,不會的看看我的博客
安裝RVDS4.0 : http://blog.csdn.net/cp1300/article/details/7772645
RVDS4.0建立工程: http://blog.csdn.net/cp1300/article/details/7772809
?
2.安裝zylincdt插件.
不好意思我的是漢語的,大家看著辦啊
點擊‘幫助’ -------------- ‘SoftwareUpdates’ ---------------‘Find and Install’
點開后選擇下面的一個選項,下一步
如下圖界面
點擊新建遠程站點 ,右邊的第一個
?
名稱填寫:? zylincdt
URL填寫:???????? http://opensource.zylin.com/zylincdt
?
?
勾選后點擊完成,需要聯(lián)網(wǎng)下載更新,按提示安裝,中途可能會有警告,確認就行,安裝完成后會自動重啟RVDS的,完成后
在調試里面會多出zylin 相關的調試選項.
3.新建一個調試
在 Zylin Embedded debug(Native) 下面新建一個調試配置,如上圖,我的是 ok6410無Uboot調試
在Debugger選項卡上面需要注意了
Debugger 選擇 Embedded GDB,設置如上圖所示
勾選一個 默認的斷點,我的是ResetHandler這個按照自己的實際情況,如果有C語言這里一般就是main函數(shù)了
GDB調試器:選擇你的openJLINK光盤里面安裝的工具.說明里面都有,我的路徑是:D:Program Filesyagartobinarm-elf-gdb.exe
GDB命令文件這個也是光盤里面帶的,我的是:D:DesktopOK6410ok6410filestarts3c6410_gdb.init
在命令選項卡里面添加四條命令,功能依次是 載入調試文件,設置斷點,繼續(xù)執(zhí)行
命令為
monitor reset
monitor halt
load
//break main
continue
這樣可以一鍵運行,將//去掉程序會自動停在主函數(shù),注意下一次仿真下載之前需要停止本次仿真.
應用即可
4.開始調試
在openJTAG的終端里面輸入 halt,暫停,其實可以在設置的時候第一條指令如果是break,這個步驟就可以省略了,但是建議多次調試后復位一下開發(fā)板
調試前一定要先打開OPENJTAG : OPENOCD GUI,如圖
設置在光盤手冊里面也有.
編譯好工程后點擊調試即可
注意要選擇剛剛建立的調試配置.
5.調試
出現(xiàn)如上圖,就成功了,省下的就非常簡單了,大家自己琢磨琢磨.
看完后大家肯定會覺得沒什么用,因為自己手上可能沒有openJTAG,并且這個還有點貴,但是告訴大家一個好消息,JLINK一樣可以這樣用,一樣可以再RVDS4.0上面進行調試,使用方法和eclipse一模一樣的,不懂可以查eclipse的使用,但是jlink很容易卡死,很不穩(wěn)定。
一樣的程序,跑飛了。。。
卡死了。。。
附上:jlink調試,大部分操作都一樣,設置如下,調試前想打開jlink-gdb