用Keil-MDK開發TQ2440裸機程序入門教程

開發板也差不多買了半年了, 以前照着教程用的是軟件是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, 我就不多說啦 ^_^

發佈了1 篇原創文章 · 獲贊 13 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章