www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀] 1. 首先修改u-boot源碼的兩個文件 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源碼的兩個文件
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兩個文件,其中u-boot.bin 只包含可執(zhí)行的二進(jìn)制代碼及數(shù)據(jù)而u-boot是一個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啟動并接通電源,

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

注:JLINK相關(guān)的資料及使用方法可以在TQ2440_CDWindows平臺開發(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)在這項技術(shù)還沒有掌握,等搞定之后再研究c的調(diào)試。


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

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'
出錯的文件是/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版本上編譯通過,無法識別“-MQ”參數(shù),該參數(shù)在rules.mk中設(shè)定;”


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

U-Boot提供命令行接口(CLI),允許開發(fā)者實時查看硬件信息、修改啟動參數(shù)、讀寫存儲設(shè)備等操作。例如,通過串口或網(wǎng)絡(luò)連接可實時調(diào)試內(nèi)存狀態(tài)或監(jiān)控系統(tǒng)運行,部分工業(yè)設(shè)備仍依賴其硬實時響應(yīng)能力。

關(guān)鍵字: uboot 嵌入式

在嵌入式系統(tǒng)開發(fā)、調(diào)試和測試過程中,J-Link作為一種高效的調(diào)試工具,為開發(fā)者提供了極大的便利。然而,要想充分發(fā)揮J-Link的功能,首先需要正確安裝其驅(qū)動程序。本文將詳細(xì)介紹J-Link驅(qū)動的安裝過程,并深入解析其中...

關(guān)鍵字: jlink 嵌入式系統(tǒng) 嵌入式開發(fā)

同大多數(shù)的Bootloader一樣,uboot的啟動過程也分為BL1、BL2兩個階段,分別對應(yīng)著SPL和Uboot。

關(guān)鍵字: Bootloader uboot SPL

JLink、JTAG接口詳細(xì)圖解

關(guān)鍵字: jlink 接口

Keil MDK編譯器(V4.03)與J-LINK使用

關(guān)鍵字: jlink 下載

JLINK不同版本之間的區(qū)別

關(guān)鍵字: jlink 下載器

STM32 使用Jlink燒寫步驟

關(guān)鍵字: jlink 教程

在學(xué)習(xí)飛思卡爾K60單片機(jī),調(diào)試的時候在單片機(jī)和電腦之間要接一個j-link,請問這個jlink在調(diào)試的過程中扮演了什么樣的角色?它又能實現(xiàn)哪些功能?請解惑,謝謝

關(guān)鍵字: jlink 作用

J-Link驅(qū)動安裝和JLINK下載Hex程序使用說明

關(guān)鍵字: jlink 驅(qū)動 安裝

jlink接口定義詳解

關(guān)鍵字: jlink 接口
關(guān)閉