用Keil-MDK開發TQ2440裸機程序入門教程——LED流水燈實現


覺得此編文章很詳實,故轉載之,來自http://www.amobbs.com/thread-5281512-1-1.html

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM