硬件配置:mini2440開發板,J-Link V8,USB轉串口線
軟件環境:Windows 7 32bit,ADS1.2,PuTTY(代替超級終端),J-Link ARM V4.34驅動
1.准備步驟
A:裝好J-Link V8的驅動,用20pin轉10pin的Jtag轉接板把J-Link和mini2440的板子連好,板子上開關S2撥在NOR一端,此時打開 SEGGER J-Link GDB Sever,正常如下圖所示:
B:打開ADS中的AXD Debugger,在彈出的Fatal AXD Error中點Configure,再點擊Add添加一項,目錄選擇J-Link驅動的安裝目錄,把JLinkRDI.dll添加進去,再點OK,如下圖:
此時,重新打開AXD Debugger,則會自動彈出SEGGER J-Link RDI Status對話框,說明已經配置好了。
2.編譯,運行程序
A:首先,分別對AXD Debugger和CodeWarrior for ARM Developer Suite右鍵屬性,修改兼容性-選擇WinXP SP3,並勾上禁用桌面元素,如下圖。
B:用ADS1.2打開mini2440光盤-非操作系統示例代碼\myled工程,編譯Compile,Make,沒有錯誤通過后,再次點擊Project-Run,如果一切正常,沒有錯誤彈出,會看到4個LED兩兩交替閃爍,說明你成功了,同時AXD調試器下方會有進度條顯示:,可以修改程序mian.c中delay(40)中數值的大小,看燈的閃爍快慢變化來進一步驗證。
data = 0x06; while(1) { rGPBDAT = (data<<5); dely(100); data =~data; }
C:用PuTTY和2440test.bin文件測試板子狀況:
2440test是源自三星的一個非操作系統測試程序,里面集成了很多小型的測試程序,涉及到GPIO的配置,中斷的編寫,常見接口的測試使用等,其中每一部分的測試代碼都有很強的獨立性,非常適合“ARM基礎性”練習實驗。2440test 是基於 ADS1.2開發環境創建的,它編譯出的二進制文件不能下載到Linux 或者wince系統中運行,只能下載到內存指定地址(這里是0x30000000)運行,也可以燒寫到Nand Flash 中運行。
程序的調試信息還有選項是通過超級終端(串口)來完成的,所以這里我們要用到串口通信。
Win7上沒有超級終端,可以用免費小巧的PuTTY代替,下載地址:http://www.putty.org
配置也很簡單,插入USB轉串口線,只需要選擇串口號,輸入波特率就可以,如下圖:
接下來,我們用ADS1.2打開2440test的工程文件,在inc/Option.h這個文件,我們要修改一下TFT液晶屏的型號,這里我的mini2440板,所以只#define LCD_T35,把其他注釋掉。
好了,接着就一路編譯Compile,Make,沒有錯誤通過后,再次點擊Project-Run,會聽到蜂鳴器發出滴的一聲,同時,TFT屏上刷出了一朵太陽花,成功啦!!!
此時PuTTY終端上會輸出以下信息,我們就可以輸入選項,逐一測試了~~
比如輸入9,回車就會進行SD卡讀寫測試,如下圖:
2440test是一個很好的參考教材,參考它的源代碼我們就可以做一些很簡單的驅動了,如蜂鳴器,按鍵,SD卡等等。
最后有幾點疑問:
1.點擊Project-Run的時候,有時會出現 "processor ARM79_0 raised an exception.Cause: The processor was reset" 的信息,這需要修改SEGGER J-Link RDI Configuration\CPU\最后一項選擇No reset。
2.有時板子會一直處在復位狀態,插拔電源也不好使,插拔一下J-Link才能解決問題。
3.此種用J-Link調試程序的方法,是把程序下到內存里運行的,板子斷電或復位程序就沒了,需要注意。