開發板也差不多買了半年了, 以前照着教程用的是軟件是ADS,在win7下老是崩潰, 後來才知道ADS早就不提供支持了, ADS的公司怎樣怎樣了...(此處省略300..)
然後我就搗鼓着怎麼轉到KEIL上來, 具體的例程代碼我不會移植, 不過裸機開發是沒什麼問題的了, 在網上也找了些教程, 因爲我比較菜, 然後教程又不是針對TQ2440的, 也有針對TQ2440的, 內容不全, 前段時間一直看不懂, 無奈, 搗鼓了好長時間, 終於明白了, 然後就想寫一份文檔, 造福一下和我一樣用TQ2440的後人~
主要內容有:
1 準備工作
2.JLINK SDRAM調試
3.JLINK 燒寫NOR Flash
4.生成下載到NAND的bin文件(這個不需要JLINK)
一. 準備工作:
1. JLINK驅動(如果只是打算生成下載到nand的bin文件的話就不用看這個了)
1). 首先安裝驅動
2). 閱讀此目錄下的readme文檔, 用Flash.csv 支持更多Nor Flash的配置文件替換C:\Program Files\SEGGER\JLinkARM_V408e\ETC\JFlash目錄下的同名文件(假設您是把這個軟件安裝到C盤的)
(原文件名:1.png)
對JLINK不熟可以參考TQ2440的使用手冊第四章, TQ2440燒寫說明, 4.1.3 使用Jlink-Flasher燒寫
2. 創建工程和編寫代碼
(原文件名:2.png)
(原文件名:3.png)
選擇CPU, 然後點OK
(原文件名:4.png)
複製啓動代碼到我的工程文件裏, 選是,
(原文件名:5.png)
然後工程就建好了
(原文件名:6.png)
啓動代碼就在S3C2440.s裏面, 在Keil裏面是可以可視化自由配置的, 打開S3C2440.s你會看到很多的彙編代碼, 呵呵, 我也不喜歡彙編. 然後點下面的配置嚮導
(原文件名:7.jpg)
先都打個勾吧, 其實我也不知道這樣配置好不好,
(原文件名:8.jpg)
對了, LED對應的IO口要設置爲輸出
(原文件名:9.png)
建個main.c文件, 寫你的工程代碼咯~這裏就以閃爍燈爲例啦
新建文件, 其實不太想說這個了, 考慮到可能還真有人沒用過Keil的...
(原文件名:10.png)
點保存, 文件名爲main.c
(原文件名:1.png)
(原文件名:1.png)
好了, 開始寫代碼了, 噢, 還要先把main.c文件添加到項目裏來咧
(原文件名:1.png) 選擇main.c, 鼠標單擊Add
(原文件名:1.png) 工程目錄裏就有這個東東了
(原文件名:1.png)
下面是代碼:
注意到我在第一句打了個斷點, 呵呵, 無奈, 之前調試的時候上系統啓動後自動在main函數入口停下來的指令不管用, 所以就手動加了個斷點了,然後就可以保存文件啦
(原文件名:1.png)
設置工程:
(原文件名:1.png)
這一項玩過51的就再熟不過了
(原文件名:1.png)
這個設置不重要, 習慣而已
(原文件名:1.png)
準備完啦, 繼續~
二. JLINK在SDRAM中調試TQ2440
用SDRAM調試是一個不錯的方式, 可以有效的減少Flash的擦寫, 方便又快捷, 呵呵, 不囉嗦了, 直接進入正題~
在SDRAM裏面調試的時候是這樣設置的, 主要是ROM1和RAM1的起始地址
(原文件名:1.png)
(原文件名:1.png)
對了, 還要複製一個初始化文件, 文件在Keil的安裝目錄裏找, 我這裏是D:\Program Files\Keil\ARM\Boards\Samsung\S3C2440\RTX_Blinky\Ext_RAM.ini
直接複製到你的工程目錄下, 然後還要做一點修改, 如果不修改, 就調試不了, 會出現這樣的情況
(原文件名:1.png)
工程輸出的.axf文件(我也不清楚是用來幹啥的)在工程目錄下的Output文件夾裏, 所以可以用編輯工具(記事本就行了)打開來這樣修改:
(原文件名:1.png)
然後添加這個文件,
(原文件名:1.png)
呃, 突然發現少做了一件事...這樣就OK了, 設置utilities這裏添加了燒寫算法的, 其實在燒NOR Flash那裏我才需要這個, 這個算法是不能擦除的, 但是這裏我找不到合適的算法, 就用這個相近的了, 要擦除的話就用JFlash。
Note:update target before degugging de 選項是不選的,我第一眼看以爲是要勾上的!!!!
(原文件名:1.png)
現在可以按F7編譯了, 然後用你的JLINK連接好TQ2440開發板和你的電腦, TQ2440要先上電哦~最後在KEIL裏面點調試就行了~
(原文件名:1.png)
然後你就可以單步調試什麼的了, 主要是由這裏控制的, 我就不多說了, 自己搗鼓搗鼓去吧~
(原文件名:1.png)
三. 燒寫NOR Flash
燒寫NOR Flash時要這樣配置:
(原文件名:1.png)
然後是這個, 再囉嗦一下, 設置utilities, 這裏添加了燒寫算法的, 這個算法是隻能用來編程不能擦除的, 但是這裏我找不到合適的算法, 就用這個相近的了, 要擦除的話就用JFlash
(原文件名:1.png)
按F7編譯, 然後打開JFlash, JFlash的設置參考TQ2440的用戶手冊哈,然後
(原文件名:1.png)
擦除...
(原文件名:1.png)
回到MDK, LOAD, 就可以看到下載成功了
(原文件名:1.png)
四. 生成下載到NAND的bin文件
首先, TQ2440開發板出廠的時候是有燒有BootLoader的, 我也不懂BootLoader的原理, 所以直接用那個就行了. 如果剛剛燒過NOR Flash, 那麼BootLoader就沒了, 要重新燒進去了, 這個可以參考TQ2440的使用手冊第四章, TQ2440燒寫說明, 4.1.3 使用Jlink-Flasher燒寫
然後這個是設置
(原文件名:1.png)
接着, 讓keil在生成後運行生成bin文件的用戶程序,
(原文件名:1.png)
然後編譯就可以生成需要的bin文件了, 就在你的工程目錄下, 下載的方式和TQ2440裸奔教程那裏一開始說的是一樣的, 用secureCRT和DNW, 我就不多說啦 ^_^