這一節主要討論1個問題:點燈。點燈是實際開發中,特別是裸板開發中常見的除錯手段,相當於主機開發中漫天飛舞的printf/printk。為了追蹤程式的現場執**況,很多時候我們都使用點乙個燈的方法來進行初步的判斷。如果你把剛才編譯的程式燒錄到soc,你又怎麼知道這個uboot有沒有工作呢?所以,我們在這裡就要完成這樣乙個程式的改造。
雖說只是點乙個燈, 但麻雀雖小五臟俱全, 也算是對uboot原始碼進行修改, 我總結了一點改造uboot的流程, 這一篇就按下面的改造流程來組織:
找執行邏輯,即插入**的位置。
根據執行邏輯編寫功能**。找配置邏輯,即修改哪些檔案使配置生效。
根據配置邏輯修改配置使功能**生效。重新編譯燒寫uboot。根據我的電路板。我的led最終接在了gpf3_5介面,所以我配置相應的暫存器,點亮乙個燈,並將這部分**新增到"arch/arm/cpu/armv7/start.s +134"
135 msr cpsr,r0
136
137 #if 1
138 ldr r0, =0x114001e0 @load gpf3con address to register
139 ldr r1, [r0] @load data in gpf3_5con
140 bic r1, r1,#0xff0000 @output 0x110000
141 orr r1, r1,#0x110000
142 str r1, [r0]
143
144 ldr r0, =0x114001e4 @load gpf3_5dat address to register
145 mov r1, #0x20 @10 0000
146 str r1, [r0]
147 #endif
148 /*
這段**不需要額外的配置即可工作
無改寫完程式,重新編譯uboot(強烈建議寫指令碼,我這裡就不貼了),如果沒有問題,我們的燈就可以亮了
uboot移植 uboot啟動回顧
一 uboot啟動的第一階段start.s 路徑uboot cpu s5pc11x start.s 1 include 標頭檔案包含,config.件原始碼中不存 在,配置後自動生成 路徑 include linux config.h 2 include 標頭檔案包含,version.件原始碼中不存...
u boot移植詳解 初識u boot
u boot是一種普遍用於嵌入式系統中的bootloader。bootloader是基於特定硬體平台來實現的,因此幾乎不可能為所有的嵌入式系統建立乙個通用的bootloader,不同的處理器架構都有不同的bootloader,bootloader不但依賴於cpu的體系結構,還依賴於嵌入式系統板級裝置...
uboot移植記錄
首先是uboot移植記錄系列。這系列文章適合於uboot移植的初學者,這裡基於常見的開發平台s3c2410。若需要移植uboot到乙個全新開發板,則需要參考更多的資料並對uboot有更深入的了解。本人對此也有所鑽研,也有個較牛的同事專門做這這個的,呵呵 若感興趣的朋友大家可以一起 因此關於新平台ub...