1. 程式人生 > >韋東山“第09課第1節 u-boot分析之編譯體驗“之學習筆記

韋東山“第09課第1節 u-boot分析之編譯體驗“之學習筆記

Windows系統啟動過程,PC上電 => 進入BIOS(引導作業系統)=> windows => 識別C,D等的硬碟 => 執行應用程式

嵌入式系統啟動過程,上電 => bootloader(引導核心)=> LINUX => 掛接根檔案系統 => 執行應用程式

 

---”表示原來的程式碼

+++”表示修改後的程式碼

-p1”表示忽略掉第一個斜槓之前的目錄(因為已經在那個目錄下了)

patch -p? < ../補丁檔案

menu : 回到uboot選單

 Diff -urN u-boot-1.1.6/board/100ask24x0/100ask24x0.c u-boot-1.1.6_jz2440/board/100ask24x0/100ask24x0.c

--- u-boot-1.1.6/board/100ask24x0/100ask24x0.c 1970-01-01 07:00:00.000000000 +0700

+++ u-boot-1.1.6_jz2440/board/100ask24x0/100ask24x0.c 2010-11-26 12:54:37.034090906 +0800

diff :命令常用來比較檔案,目錄,也可以用來製作補丁檔案。

常用選項:

1:“-u”:表示在比較結果中輸出上下文中一些相同的行,這有利於人工定位

2:“-r”:表示遞迴比較各個目錄下的檔案

3:“-N”:將不存在的檔案當作空檔案

4:“-w”:忽略對空格的比較

4:“-B”:忽略對空行的比較

Tar命令具有打包,解包,壓縮,解壓縮4種功能,它常用的壓縮和解壓縮方式有兩種。

gzip :   (1)  .gz               bzip2 : (1)  .bz2 

       (2)  .z     

Tar命令常用的5個選項:

1:“c”表示建立,用來生成檔案包

2:“x”表示提取,從檔案包中提取檔案

3:“z”使用gzip方式進行處理。它與“c”結合就表示壓縮,與“x”結合就表示解壓縮

4:“j”使用bzip2方式進行處理,它與“c”結合就表示壓縮,與“x”結合就表示解壓縮

5:“f”使用檔案,後面接著一個檔名

總結打補丁步驟:

1:解壓

2:進入解壓後的目錄

3打補丁

[email protected]:~$ cd /work/mini2440_system

[email protected]:/work/mini2440_system$ ls

u-boot-1.1.6_jz2440.patch  u-boot-1.1.6.tar.bz2

[email protected]:/work/mini2440_system$ tar xjf u-boot-1.1.6.tar.bz2   //解壓

[email protected]:/work/mini2440_system$ ls

u-boot-1.1.6  u-boot-1.1.6_jz2440.patch  u-boot-1.1.6.tar.bz2

[email protected]:/work/mini2440_system$ cd u-boot-1.1.6/           //進入解壓的目錄

[email protected]:/work/mini2440_system/u-boot-1.1.6$ patch -p1 < ../u-boot-1.1.6_jz2440.patch         // 使用patch命令打補丁

[email protected]:/work/mini2440_system/u-boot-1.1.6$ make 100ask24x0_config //配置,以讓這個u-boot支援不同的開發板

Configuring for 100ask24x0 board...

[email protected]:/work/mini2440_system/u-boot-1.1.6$ make  //編譯

u-boot使用print 命令,輸出的都是環境變數,修改環境變數,要使用set命令

 

bootdelay : 表示倒數計時

uboot的最終目的是啟動核心,從flash讀出核心,放到SDRAM,然後啟動核心,

所以uboot要實現的功能有:(用於開發)

1:讀Flash,寫Flash,支援網絡卡,USB

2:初始化SDRAM,初始化時鐘,初始化串列埠

3:啟動核心

總結:

 

相關推薦

東山091 u-boot分析編譯體驗學習筆記

Windows系統啟動過程,PC上電 => 進入BIOS(引導作業系統)=> windows => 識別C,D等的硬碟 => 執行應用程式 嵌入式系統啟動過程,上電 => bootloader(引導核心)=> LINUX => 掛

092 u-boot分析Makefile結構分析學習筆記

                        --start-group lib_generic/libgeneric.a board/100ask24x0/lib100ask24x0.a cpu/arm920t/libarm920t.a cpu/arm920t/s3c24x0/libs3c24x0.a l

55:60分鐘內從零起步駕馭Hive實戰學習筆記

內容:        Hive本質解析        Hive安裝實戰        使用Hive操作搜尋引擎資料實戰 SparkSQL前身是Shark,Shark強烈依賴於Hive。Spark原來沒有做SQL多維度資料查詢工具,後來開發了Shark,Shark依賴於Hiv

東山嵌入式Linux學習筆記——128 字元裝置驅動程式定時器防抖動

注:本文部分內容摘自《魚樹學員筆記》。 當按鍵按得比較快的時候,這裡出現了兩次中斷值,也即產生了抖動。 這裡產生了“抖動”,按鍵是機械開關,按下鬆開時裡面的金屬彈片可能抖動了好幾次。這種抖動產生了多次“脈衝”導致多次中斷。 方法: 使用定時器來防抖動。

43_Android燈光系統_編寫HAL_lights.c

name java values delay use 進行 ipc col drive JNI文件:com_Android_server_LedService.cpp 註冊本地方法,會加載HAL文件: 3. 編寫android燈光系統的hal程序 Ja

34

原因 img 模式 應該 乘法表 制表符 logs blog 空格 循環嵌套: 練習3: 九九乘法表: 列的變化是依次遞增的,從1到2 從2 到3;行的變化也是從1到3,。所以y做內循環初始值為1,塔尖模式應該改變循環條件。 用"\t"(制表符)代替空格的

03_剛接觸開發板重燒整個系統

重燒系統:uboot (裸板程式),燒寫好uboot後就可以用其燒寫核心,可以用USB/tftp下載 3.1 u-boot 的燒寫和少些裸板是一樣的 方法一:用oflash把uboot燒到Nor Flash上 方法二:用在Nor Flash上的uboot燒寫uboot到

04_剛接觸開發板使用vmwae和預先做好的ubuntu

 在Windows 編寫程式碼,查資料,寫完之後上傳到Linux伺服器, 在Linux裡編譯。在虛擬機器裡安裝VMware,VMware裝Linux。 4. 解壓使用製作好的ubuntu 4.1 自己下載安裝vmware 4.2 按開發板手冊解壓ubuntu 4.

05 剛接觸開發板u-boot, kernel打補丁編譯

一. uboot打補丁、建source insight工程、編譯、燒寫 1. 解壓 u-boot-1.1.6.tar.gz2 tar xjf u-boot-1.1.6.tar.gz2 2. 打patch patch -p1 < ../u-boot-1.1.6_jz24

09:【實戰】Redis網絡通信模塊源碼分析(2)

last ltib lstat big 管道 upm 是否 keys 調試工具 偵聽 fd 與客戶端 fd 是如何掛載到 EPFD 上去的   同樣的方式,要把一個 fd 掛載到 EPFD 上去,需要調用系統 API epoll_ctl ,搜索一下這個函數名。在文件 ae_

0902 u-boot-1.1.6分析Makefile結構分析

我們配置時 是make 100ask24x0_config 這條命令到底幹了什麼?現在分析一下 開啟原始碼目錄樹頂層的makefile 就相當於執行這條命令    @$(MKCONFIG) $(@:_config=) arm arm920t 100ask24x0 NULL

百度前端學院-基礎學院-/

bubuko doc 長度 borde href developer mar 例如 特殊 今天是一個跨天的任務,學習目標是:掌握CSS盒模型及Float; 盒模型要點: 如果盒子的高度被設置為百分比長度,那麽盒子高度不會遵循這個設置了的百分比長度,而是總會采用盒子內容的高

-三講05_03_bash腳本編程二 條件判斷

表達 重名 關鍵字 系統 amp 文件是否存在 取反 bash腳本編程 bash 第五課-第三講05_03_bash腳本編程之二 條件判斷 變量名稱:只能保含字母數字下劃線,且不能數字開頭。不能和系統中已存在的環境變量重名。見名知意bash中如何實現條件判斷?條件測試類型

-四講05_04_bash腳本編程三 條件判斷及算術運算

ash 如果 寫一個腳本 字符 命令引用 是否 練習 bash腳本 [] 第五課-第四講05_04_bash腳本編程之三 條件判斷及算術運算 練習:寫一個腳本,判斷當前系統上是否有用戶的默認shell為bash:如果有,就顯示有多少個這類用戶,否則,就顯示沒有這類用戶 bc

-三講06_03_bash腳本編程五 字符串測試及for循環

art start 是否 環境變量 100% 展開 字符 如果 lar 第六課-第三講06_03_bash腳本編程之五 字符串測試及for循環 1.字符測試1)==(=賦值用的):等號兩側引用變量的結果所以一個等號也可以自動判斷出不是賦值,相等為真,不等為假。一定註意等號兩

-三講 07_03_Linux文件查找詳解

所有 正則表達 找到 指定 find 文本查找 ++ inux 詳解 第七課-第三講 07_03_Linux文件查找詳解 一. let 用法I = 1SUM=$[ $SUM+$I ] = let SUM+=$I = let SUM++-= I-=1 相當於 I--+= I+

-四講 07_04_特殊權限SUID等詳解

人的 大寫 backup 就是 取值 特殊權限 詳解 -- 執行 第七課-第四講 07_04_特殊權限SUID等詳解 一. 特殊權限 SUID: 運行某程序時,相應進程的屬主是該程序文件自身的屬主,而不是啟動者chmod u+s filechmod u-s file文件本

python 一個python程式

什麼是命令列模式和Python互動模式。 命令列模式 在Windows開始選單選擇“命令提示符”,就進入到命令列模式,它的提示符類似C:\>: ┌────────────────────────────────────────────────────────┐ │Microsoft Windows

-三講磁碟及檔案系統管理詳解之一

一、磁碟管理(詳細的講解硬碟的原理)機械式硬碟---(cpu,記憶體 是電氣裝置)U盤 光碟 軟盤硬碟出廠前有一次“低階格式化”,劃分磁軌分割槽:建立獨立的檔案系統MBR:Master Booter Record 主引導記錄 0盤面 0磁軌 0扇區 512個位元組,不屬於任何一個作業系統。作業系統不能直接訪問

deep learming 吳恩達 三週程式設計 Autonomous driving application - Car detection - v3

Autonomous driving - Car detection Welcome to your week 3 programming assignment. You will learn about object detection using the very powerful YOLO