找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4540|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

S3C2410啟動(dòng)代碼從ADSv1.2移植到KEIL For ARM uV4的方法

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:89763 發(fā)表于 2015-9-12 21:55 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
深圳旋極ARM9實(shí)驗(yàn)箱上面的ARM9實(shí)驗(yàn)教程是基于ADSv1.2 和 Mult-ICE2.2并口仿真器的,大概是04~09年期間流行的開發(fā)方式。目前ARM公司主推RVMDK(KEIL For ARM uVsion4)和ULINK(中國ARM玩家主要是JLINK V8)仿真器了,怎么把原來的ADS程序移植到KEIL上面呢?



經(jīng)過分析ADS工程下面的文件,可以看到,原來的工程文件主程序是main.C,其他必須的匯編文件、C頭文件、C源文件都放在common和include目錄下。首先我們需要把這些工程都需要的基本文件都copy出來,放到一個(gè)“基本文件”目錄下。

里面的“DebugInRAM.ini“文件,是通過JTAG將鏡像文件下載到SDRAM內(nèi)存中運(yùn)行時(shí),所需要加載的SDRAM配置文件,相當(dāng)于ADSV1.2工程中每次都需要通過命令行鍵入” obey wtk2410.ads “文件中的內(nèi)容。

DebugInRAM.ini文件的內(nèi)容如下:可以看到,去掉了ads文件里面的禁止vector_catch和semihosting兩個(gè)命令,其余都一樣。

二、建立RVMDK工程文件,不要系統(tǒng)自建的啟動(dòng)代碼,加入基本文件和main主程序文件。

修改init.s文件,這個(gè)是移植的關(guān)鍵。需要注意的地方有:
1. 宏”MOV_PC_LR“在KEIL里面修改成相應(yīng)的BX <Rn>指令。
2.把init.s文件原來定義的段名”Init“ 修改成”RESET“,這應(yīng)該相當(dāng)于ADSV1.2里面告訴編譯器鏡像文件開始的段是誰。

3. 在AREA段定義偽指令前,加入” PRESERVE8 “偽指令,告訴KEIL編譯器字節(jié)對齊。

4. 將ADSv1.2里面的RO、RW、ZI基地址和大小定義的系統(tǒng)變量,修改為KEIL中的格式,所有出現(xiàn)的代碼都要修改。



5. 設(shè)置project\Target 1工程屬性。

misc contrls里面加入”--entry 0x30100000“編譯選項(xiàng)

6. 在”Debug“頁面里面加入 "DebugInRAM.ini"文件,并在”Load Application at Startup“選項(xiàng)打勾。

,重新編譯工程,生成鏡像文件,并下載到SDRAM中開始調(diào)試。

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表