亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? u-boot的makefile分析.txt

?? 關于 linux 的開發, 主要介紹啦linux下開發的重要細節地方
?? TXT
字號:
U-BOOT是一個LINUX下的工程,在編譯之前必須已經安裝對應體系結構的交叉編譯環境,這里只針對ARM,編譯器系列軟件為arm-linux-*。

U-BOOT的下載地址: http://sourceforge.net/projects/u-boot
我下載的是1.1.6版本,一開始在FTP上下載了一個次新版,結果編譯失敗。1.1.6是沒問題的。

u-boot源碼結構

    解壓就可以得到全部u-boot源程序。在頂層目錄下有18個子目錄,分別存放和管理不同的源程序。這些目錄中所要存放的文件有其規則,可以分為3類。
    第1類目錄與處理器體系結構或者開發板硬件直接相關;
    第2類目錄是一些通用的函數或者驅動程序;
    第3類目錄是u-boot的應用程序、工具或者文檔。

u-boot的源碼頂層目錄說明

目    錄                特    性                解 釋 說 明
board                  平臺依賴          存放電路板相關的目錄文件,
                                        例如:RPXlite(mpc8xx)、
                                        smdk2410(arm920t)、
                                        sc520_cdp(x86) 等目錄

cpu                    平臺依賴          存放CPU相關的目錄文件
                                        例如:mpc8xx、ppc4xx、
                                        arm720t、arm920t、 xscale、i386等目錄

lib_ppc                平臺依賴          存放對PowerPC體系結構通用的文件,
                                        主要用于實現PowerPC平臺通用的函數

lib_arm                平臺依賴           存放對ARM體系結構通用的文件,
                                         主要用于實現ARM平臺通用的函數

lib_i386               平臺依賴           存放對X86體系結構通用的文件,
                                         主要用于實現X86平臺通用的函數

include                通用                頭文件和開發板配置文件,
                                          所有開發板的配置文件都在configs目錄下

common               通用                通用的多功能函數實現
lib_generic            通用                通用庫函數的實現
net                     通用                存放網絡的程序
fs                      通用                存放文件系統的程序
post                    通用                存放上電自檢程序
drivers                 通用                通用的設備驅動程序,主要有以太網接口的驅動
disk                    通用                硬盤接口程序
rtc                     通用                RTC的驅動程序
dtt                     通用                數字溫度測量器或者傳感器的驅動
examples               應用例程             一些獨立運行的應用程序的例子,例如helloworld
tools                   工具                存放制作S-Record或者u-boot格式的映像等工具,
                                          例如mkimage

doc                     文檔                開發使用文檔

    u-boot的源代碼包含對幾十種處理器、數百種開發板的支持。可是對于特定的開發板,配置編譯過程只需要其中部分程序。這里具體以S3C2410 & arm920t處理器為例,具體分析S3C2410處理器和開發板所依賴的程序,以及u-boot的通用函數和工具。

編譯

以smdk_2410板為例,編譯的過程分兩部:

# make smdk2410_config
# make

頂層Makefile分析

要了解一個LINUX工程的結構必須看懂Makefile,尤其是頂層的,沒辦法,UNIX世界就是這么無奈,什么東西都用文檔去管理、配置。首先在這方面我是個新手,時間所限只粗淺地看了一些Makefile規則。

以smdk_2410為例,順序分析Makefile大致的流程及結構如下:

1) Makefile中定義了源碼及生成的目標文件存放的目錄,目標文件存放目錄BUILD_DIR可以通過make O=dir 指定。如果沒有指定,則設定為源碼頂層目錄。一般編譯的時候不指定輸出目錄,則BUILD_DIR為空。其它目錄變量定義如下:

#OBJTREE和LNDIR為存放生成文件的目錄,TOPDIR與SRCTREE為源碼所在目錄
OBJTREE  := $(if $(BUILD_DIR),$(BUILD_DIR),$(CURDIR))
SRCTREE  := $(CURDIR)
TOPDIR  := $(SRCTREE)
LNDIR  := $(OBJTREE)
export TOPDIR SRCTREE OBJTREE

2)定義變量MKCONFIG:這個變量指向一個腳本,即頂層目錄的mkconfig。

MKCONFIG := $(SRCTREE)/mkconfig
export MKCONFIG

在編譯U-BOOT之前,先要執行 

# make smdk2410_config

smdk2410_config是Makefile的一個目標,定義如下:

smdk2410_config : unconfig
 @$(MKCONFIG) $(@:_config=) arm arm920t smdk2410 NULL s3c24x0

 unconfig::
 @rm -f $(obj)include/config.h $(obj)include/config.mk \
  $(obj)board/*/config.tmp $(obj)board/*/*/config.tmp

顯然,執行# make smdk2410_config時,先執行unconfig目標,注意不指定輸出目標時,obj,src變量均為空,unconfig下面的命令清理上一次執行make *_config時生成的頭文件和makefile的包含文件。主要是include/config.h 和include/config.mk文件。

然后才執行命令

 @$(MKCONFIG) $(@:_config=) arm arm920t smdk2410 NULL s3c24x0
MKCONFIG 是頂層目錄下的mkcofig腳本文件,后面五個是傳入的參數。

對于smdk2410_config而言,mkconfig主要做三件事:

在include文件夾下建立相應的文件(夾)軟連接,

#如果是ARM體系將執行以下操作:
#ln -s     asm-arm        asm   

#ln -s  arch-s3c24x0    asm-arm/arch 
#ln -s   proc-armv       asm-arm/proc

生成Makefile包含文件include/config.mk,內容很簡單,定義了四個變量:

ARCH   = arm
CPU    = arm920t
BOARD  = smdk2410
SOC    = s3c24x0

生成include/config.h頭文件,只有一行:

/* Automatically generated - do not edit */
#include "config/smdk2410.h"

mkconfig腳本文件的執行至此結束,繼續分析Makefile剩下部分。

3)包含include/config.mk,其實也就相當于在Makefile里定義了上面四個變量而已。

4) 指定交叉編譯器前綴:

ifeq ($(ARCH),arm)#這里根據ARCH變量,指定編譯器前綴。
CROSS_COMPILE = arm-linux-
endif

5)包含config.mk:

#包含頂層目錄下的config.mk,這個文件里面主要定義了交叉編譯器及選項和編譯規則
# load other configuration
include $(TOPDIR)/config.mk

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
天天综合色天天| 欧美国产激情一区二区三区蜜月| 亚洲精品福利视频网站| 99热这里都是精品| 亚洲欧美二区三区| 日本韩国欧美国产| 午夜精品在线看| 日韩欧美一区在线| 国产一区二区精品在线观看| 久久久久久久久蜜桃| 成人免费观看视频| 亚洲麻豆国产自偷在线| 欧美日产国产精品| 精品一区二区在线视频| 国产亚洲女人久久久久毛片| 成人在线综合网站| 亚洲一区在线观看免费观看电影高清 | 视频在线在亚洲| 日韩一区二区三区免费观看| 狠狠色狠狠色合久久伊人| 国产精品日韩精品欧美在线| 日本韩国欧美一区二区三区| 蜜臀精品久久久久久蜜臀| 久久久不卡网国产精品二区| 色综合色狠狠综合色| 无码av中文一区二区三区桃花岛| 精品久久久久久亚洲综合网| 99久久777色| 日韩av电影免费观看高清完整版在线观看 | 九色|91porny| **性色生活片久久毛片| 欧美精品日韩一本| 国产成人午夜精品5599 | 欧美一级片在线看| 国产精品一区二区三区网站| 一区二区日韩电影| 久久久久久久免费视频了| 色综合中文字幕| 久久se精品一区精品二区| 国产精品成人一区二区三区夜夜夜| 欧美人妖巨大在线| 懂色av一区二区三区免费看| 天天色天天爱天天射综合| 久久久www成人免费无遮挡大片| 在线观看免费亚洲| 国产精品99久久久久久有的能看| 亚洲国产成人tv| 中文字幕精品在线不卡| 在线播放国产精品二区一二区四区 | 蜜桃久久av一区| 久久国产精品无码网站| 亚洲色图第一区| 久久精品一区二区三区四区| 欧美日韩国产一级| 色哟哟在线观看一区二区三区| 精品一区二区三区久久久| 亚洲国产婷婷综合在线精品| 国产精品美女久久久久久久久| 欧美不卡一区二区三区| 欧美日韩中文精品| 色综合网站在线| 成人久久视频在线观看| 国产在线播精品第三| 日韩不卡一区二区三区| 一区二区三区视频在线观看| 国产精品久久久久久久久搜平片| 久久久久久久久久久99999| 欧美一个色资源| 51午夜精品国产| 欧美日韩免费一区二区三区| 91尤物视频在线观看| 粉嫩aⅴ一区二区三区四区| 国产乱理伦片在线观看夜一区| 美女mm1313爽爽久久久蜜臀| 日韩中文字幕不卡| 五月天亚洲婷婷| 午夜伦理一区二区| 婷婷一区二区三区| 婷婷国产在线综合| 天堂影院一区二区| 蜜臀av性久久久久蜜臀aⅴ四虎| 亚洲高清不卡在线观看| 亚洲一区二区高清| 午夜精品久久久久影视| 午夜精品视频在线观看| 日韩一区精品视频| 日本在线观看不卡视频| 免费黄网站欧美| 美女脱光内衣内裤视频久久影院| 日本欧美久久久久免费播放网| 日韩一区欧美二区| 麻豆91小视频| 国产一区二区三区免费看 | 一区二区三区国产豹纹内裤在线| 亚洲美女屁股眼交3| 亚洲一区中文在线| 免费在线观看视频一区| 欧美日韩免费在线视频| 6080午夜不卡| 精品国产乱码久久久久久免费| 欧美r级电影在线观看| 国产亚洲精品中文字幕| 国产精品久久久久影视| 一区二区三区成人| 麻豆高清免费国产一区| 丰满放荡岳乱妇91ww| 91在线一区二区三区| 欧美日韩视频在线一区二区| 日韩一区二区三区视频| 国产精品全国免费观看高清| 亚洲精品乱码久久久久久久久 | 欧美日韩国产天堂| 精品久久国产老人久久综合| 欧美激情艳妇裸体舞| 一区二区三区不卡在线观看| 日本免费在线视频不卡一不卡二| 国产综合一区二区| 91美女在线视频| 日韩免费高清av| 亚洲色图另类专区| 蜜桃视频在线观看一区二区| 成人av网在线| 69p69国产精品| 国产精品蜜臀av| 日本不卡视频一二三区| 成人一级视频在线观看| 欧美日本在线播放| 国产精品久久久久久一区二区三区| 亚洲1区2区3区视频| 高清在线不卡av| 91精品福利在线一区二区三区| 日本一区二区三区四区| 五月天久久比比资源色| 成人免费视频网站在线观看| 91精品欧美一区二区三区综合在| 国产欧美日韩不卡免费| 青青草成人在线观看| 色欧美88888久久久久久影院| 精品国产伦一区二区三区观看体验 | 亚洲精品乱码久久久久久黑人| 精品一区二区av| 91 com成人网| 一区二区三区高清| 不卡电影一区二区三区| 精品久久国产字幕高潮| 亚洲午夜电影在线| 97久久精品人人澡人人爽| 精品久久久久久久久久久院品网| 亚洲午夜精品网| 91亚洲精品一区二区乱码| 久久久久88色偷偷免费| 美洲天堂一区二卡三卡四卡视频 | 日韩美女在线视频| 亚洲一区免费在线观看| jlzzjlzz国产精品久久| 2020国产精品久久精品美国| 日韩av午夜在线观看| 欧美视频中文字幕| 一区二区三区四区在线免费观看 | 亚洲欧美日韩一区二区| 国产不卡高清在线观看视频| 精品国产一区二区三区四区四| 天天操天天干天天综合网| 欧美性xxxxxxxx| 亚洲综合丝袜美腿| 一本色道久久综合亚洲91| 亚洲欧美自拍偷拍色图| 北岛玲一区二区三区四区| 中文字幕精品—区二区四季| 国产成人在线色| 久久久精品黄色| 国产一区二区三区四区在线观看| 日韩精品最新网址| 看电视剧不卡顿的网站| 欧美大片一区二区| 极品少妇xxxx偷拍精品少妇| 日韩欧美在线1卡| 国产一区在线视频| 国产午夜久久久久| 成人在线综合网| 亚洲视频在线一区观看| 91黄色免费网站| 亚洲成人av福利| 日韩美女在线视频| 国产一区 二区| 国产精品国产三级国产普通话三级| 成人黄色电影在线| 亚洲猫色日本管| 欧美高清www午色夜在线视频| 日韩中文字幕一区二区三区| 精品va天堂亚洲国产| 国产精品 日产精品 欧美精品| 欧美国产激情二区三区| 91视频在线观看| 婷婷亚洲久悠悠色悠在线播放| 欧美成人aa大片| 99这里只有精品| 丝瓜av网站精品一区二区| 欧美mv日韩mv| 91啪在线观看|