日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀] 1. 首先修改u-boot源碼的兩個(gè)文件 1.1 將u-boot根目錄下的config.mk, #DBGFLAGS= -g改成:DBGFLAGS=-gdwarf-2 1.2 將 u-boot/cpu/arm920t/config.mk 中的 PLATFORM_CPPFLAGS +=$(call cc-option,-mapc

1. 首先修改u-boot源碼的兩個(gè)文件
1.1 將u-boot根目錄下的config.mk,
#DBGFLAGS= -g改成:DBGFLAGS=-gdwarf-2

1.2 將 u-boot/cpu/arm920t/config.mk 中的
PLATFORM_CPPFLAGS +=$(call cc-option,-mapcs-32,-mabi=apcs-gnu)
改成:
PLATFORM_CPPFLAGS +=$(call cc-option,-mapcs-32,$(call cc-option,-mabi=apcs-gnu),)

附錄中有解釋。

改好后 make EmbedSky_config && make all, 生成 u-boot.bin 和 u-boot兩個(gè)文件,其中u-boot.bin 只包含可執(zhí)行的二進(jìn)制代碼及數(shù)據(jù)而u-boot是一個(gè)elf格式的可執(zhí)行文件。u-boot: ELF 32-bit LSB executable, ARM, version 1 (ARM), statically linked, not stripped

2. 將u-boot 和 u-boot.bin 拷貝到windows目錄下,例如: c:source

3. 連線,板子設(shè)為NorFlash啟動(dòng)并接通電源,

4. 配置Jlink, 最后點(diǎn)擊 Target—>connect 出現(xiàn)Connect successfully.

注:JLINK相關(guān)的資料及使用方法可以在TQ2440_CDWindows平臺(tái)開發(fā)工具包Jlink資源 中找到,

使用方法見 《TQ2440開發(fā)板使用手冊V2.3_20100125.pdf》

第一次用到是在手冊4.1.3節(jié)

第二次用到是在手冊5.3.3節(jié)

5. 打開axd,

5.1 Options—> Configure Interface –> Session File 中設(shè)定axd的 Run Configure Script 腳本來配置sdram.

5.2 Options –> Configure Target 選定Jlink的 Multi-ICE

5.3 System Views –> Command Line Interface(或按Alt + L)

loadbinary c:sourceu-boot.bin 0x33d80000
loadsymbols c:sourceu-boot
setpc 0x33d80000

好了下面就可以單步調(diào)試了,以上只是匯編部分的調(diào)試方法,網(wǎng)上還有人說可以c語言單步調(diào)試,現(xiàn)在這項(xiàng)技術(shù)還沒有掌握,等搞定之后再研究c的調(diào)試。


1.注意此處是 -gdwarf-2而不是-gwarf,原因見如下連接:
http://againinput4.blog.163.com/blog/static/17279949120118901220684/
“正常編譯都是OK的,只是無意間,把一個(gè)編譯選項(xiàng)從:
DBGFLAGS= -gdwarf-2
設(shè)置為
DBGFLAGS= -gdwarf
結(jié)果導(dǎo)致編譯時(shí)候出錯(cuò):
cc1: error: invalid option `abi=apcs-gnu'
而不是預(yù)想的,如果識(shí)別不了編譯參數(shù)-gdwarf,那么至少會(huì)提示不識(shí)別此參數(shù),而不是給出不相關(guān)的其他錯(cuò)誤啊。
所以,此處弄出個(gè)
cc1: error: invalid option `abi=apcs-gnu'
還真的很是無語,如果在不小心或者不知情的情況下,給了個(gè)錯(cuò)誤的編譯參數(shù),結(jié)果編譯器卻沒有正確提示,那么真的很難找到問題到底出在哪,也就難解決問題了。
【總結(jié)】
如果以后編譯Uboot的時(shí)候,遇到此提示:
cc1: error: invalid option `abi=apcs-gnu'
可以考慮一下,有可能是,類似于我這里,給了個(gè)編譯參數(shù)
DBGFLAGS= -gdwarf,而arm-linux-gcc不識(shí)別,導(dǎo)致報(bào)出此問題?!?/p>

2原因見如下鏈接:
http://zhangzhiyin1982.blog.163.com/blog/static/28991217200753025619921/
“在make的過程中,出現(xiàn):
isystem /usr/local/arm/bin/../lib/gcc-lib/arm-linux/3.2/include -pipe -DCONFIG_ARM -D__ARM__ -march=armv4 -mtune=arm7tdmi -msoft-float -mabi=apcs-gnu -Uarm -Wall -Wstrict-prototypes -c -o hello_world.o hello_world.c
cc1: invalid option `abi=apcs-gnu'
出錯(cuò)的文件是/cpu/arm920t/下的config.mk:將
PLATFORM_CPPFLAGS +=$(call cc-option,-mapcs-32,-mabi=apcs-gnu)
改成:
PLATFORM_CPPFLAGS +=$(call cc-option,-mapcs-32,$(call cc-option,-mabi=apcs-gnu),)
再make,就OK了。
注意:
1、u-boot-1.1.5(及更高版本)無法在arm-linux-gcc 2.95.3版本上編譯通過,無法識(shí)別“-MQ”參數(shù),該參數(shù)在rules.mk中設(shè)定;”


本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉