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

當前位置:首頁 > 智能硬件 > 智能硬件
[導讀]本文詳細介紹了向MPC8349 控制計算機移植U-Boot 的方案。隨著嵌入式系統(tǒng)的發(fā)展,U-Boot 作為嵌入式操作系統(tǒng)的引導程序的作用變得越來越主要。在這種情況下,研究基于MPC8349 控制計算機的U-Boot 的移植就更加的重要。研究結(jié)果表明:移植到MPC8349 控制計算機上的U-Boot 能高效、安全、穩(wěn)定的運行。

0 引言
U-Boot (Universal Boot Loader),是在PPC Boot 的基礎(chǔ)上,集成了ARM, XScale, x86,MIPS 等結(jié)構(gòu)發(fā)展來的。作為Boot loader,其主要安裝在嵌入式系統(tǒng)板上的ROM 中。 它主要用來初始化、檢測系統(tǒng)硬件,以及下載、運行有關(guān)的應用代碼。 在這篇論文中,采用的是開源的最新版本U-Boot 1.1.3。U-Boot 1.1.3 支持的CPU包括, MPC8xx, MPC5xx, MPC824x,MPC82xx, MPC83xx, MPC85xx, MPC74xx 等。
U-Boot 之所以主要是因其支持很多文件類型。
(1) 獨立的應用程序:該程序直接在U-Boot 環(huán)境下執(zhí)行,并且執(zhí)行完畢后重新返回U-Boot 環(huán)境。
(2) “Linux 操作系統(tǒng)Kernel 文件”: U-Boot 可以引導Linux 操作系統(tǒng)Kernel 文件在系統(tǒng)板上執(zhí)行。在完成該引導過程后,必須通過重新啟動CPU 才能再次進入U-Boot 環(huán)境。
(3) “操作系統(tǒng)Ramdisk 文件”: U-Boot 可以引導加載Linux 操作系統(tǒng)Ramdisk 文件。該文件主要是作為系統(tǒng)板,啟動時需要加載的文件系統(tǒng)。
(4)“綜合文件”: 該文件可以包括一種或幾種U-Boot 所支持的文件。比如包括Linux 操作系統(tǒng)內(nèi)核和啟動時需要加載的ramdisk 文件系統(tǒng)。
(5) “可執(zhí)行文件”: 該文件主要由U-Boot 將其燒錄到系統(tǒng)板的Flash 中。比如,uboot.bin。
(6) “腳本文件”: 該文件主要用在U-Boot 啟動時利用腳本文件來設(shè)置具體的環(huán)境變量。
1 U-Boot 工作原理
U-Boot啟動過程可以分成三個階段。
(1)執(zhí)行start.S(cpu/mpc83xx/start.S)匯編程序,見圖1.
(2)執(zhí)行U-Boot啟動過程中的第一個C語言函數(shù)board.(lib_ppc/board.c),見圖2。
(3)系統(tǒng)進入主循環(huán)main_loop(common/main.c)延時等待處理用戶命令或自動執(zhí)行啟動,見圖3。


3 U-Boot 的文件結(jié)構(gòu)
在U-boot 包含board, common, cpu, disk,doc, drivers, dtt, examples, fs, include 等文件。但是,針對具體的應用,只需要修改設(shè)定的與我們系統(tǒng)有關(guān)的代碼。當我們的U-boot 編譯成功后,必要的二進制文件將成為在u-boot-1.1.3 文件夾中。這些文件中,最重要的是。
config.mk:定義基地址和CFLAGS。
MAKEALL:用來定義所有支持的系統(tǒng)板以及U-Boot 源碼。
Makefile: U-Boot 編譯時要用到的文件。
Mkconfig:用來創(chuàng)建頭文件并鏈接生成針對系統(tǒng)板的U-Boot的腳本。
u-boot.bin:U-Boot 編譯成功后形成的二進制文件,可以燒錄到系統(tǒng)板的flash 中。
除了以上四個重要文件之后,在u-boot-1.1.3 目錄下面還有一些重要的文件。
(1)在u-boot-1.1.3/board/下,重要的文件包括。
flash.c::定義針對flash 的命令。
init.S:用來定義 TLBs 和LAWs。
mpc8349.c: 針對mpc8349 的特殊代碼。
u-boot.lds:: 系統(tǒng)板的鏈接文件。
(2)在u-boot-1.1.3/cpu/下, 主要的文件包括。
start.c::U-Boot 啟動時所要執(zhí)行的第一個程序。
spd_sdram.c:初始化和配置系統(tǒng)板的DDR。
(3)在u-boot-1.1.3/include/configs/下, 主要的文件包括。

MPC8349.h:針對系統(tǒng)板的具體局宏定義。
flash.h: 包含各種Flash 芯片的具體資料數(shù)據(jù)的定義。
(4)在u-boot-1.1.3/include/lib_ppc/下, 重要的文件包括。

board.c: 系統(tǒng)板的初始化函數(shù)。
(5)在u-boot-1.1.3/common/下, 重要的文件包括。
main.c: 整個U-Boot 啟動時的主循環(huán)函數(shù)。
4 為MPC8349 制作合適的U-Boot
A 針對系統(tǒng)板的 U-Boot 修改
控制計算機的硬件系統(tǒng)包括兩片8M Flash, 128M SDRAM, 6 GBE 和 2 FCC 等。為了讓U-Boot 在該系統(tǒng)上正確的運行 ,應該針對該系統(tǒng)設(shè)置一些特殊的結(jié)構(gòu)參數(shù)選擇。
(1)編輯 “Makefile” and “MAKEALL”
(2)添加新的代碼到針對系統(tǒng)板的文件夾中。
在此過程中,我們應該創(chuàng)建一個新的目錄用來存放系統(tǒng)的特殊代碼。我們可以添加系統(tǒng)板需要的任何文件。在系統(tǒng)板的目錄,有些文件是必須有的。
u-boot-1.1.3/board/mpc8349/mpc8349.c,
u-boot-1.1.3/board/mpc8349/flash.c,
u-boot-1.1.3/board/mpc8349/init.S,
u-boot-1.1.3/board/mpc8349/u-boot.lds,
u-boot-1.1.3/include/configs/MPC8349.h,
u-boot-1.1.3/lib_ppc/board.c,
u-boot-1.1.3/Makefile,
u-boot-1.1.3/MAKEALL.
B. U-Boot 的交叉編譯環(huán)境的建立
開發(fā)系統(tǒng)主機的系統(tǒng)是FC6.0。用到的源碼有g(shù)cc-3.4.3/glibc-2.3.2、Linux 2.6.13.4 和U-boot-1.1.3。
C. U-Boot 交叉編譯的結(jié)果
首先,我們需要添加交叉編譯器(powerpc-Linux-)到u-boot/Makefile 中。在開發(fā)主機上,編譯器存在的路徑為/embedded/mpc_85xx/bin/powerpc-Linux。在添加、修改完Makefile 后,我們就需要進行U-boot 的交叉編譯了。應該輸入以下命令:
# make distclean
# make MPC8349_config
# make
如果編譯成功,會出現(xiàn)以下三個應用文件。
“u-boot/u-boot.bin” : raw binary image
“u-boot/u-boot “ : ELF binary image
“u-boot/u-boot.srec“ : Motorola S-Record image
5 安裝 U-Boot
在把交叉編譯好的U-Boot 文件安裝到系統(tǒng)板上時,我們可以針對不同情況進行安裝。如果系統(tǒng)板上以前沒有U-Boot 型,我們可以使用的CodeWarrior 把U-Boot 燒錄到系統(tǒng)板中。如果系統(tǒng)板已存在可以運行的U-Boot,我們可以利用U-Boot 可以直接下載新制作的U-Boot文件,從而實現(xiàn)U-Boot 的更新。
當使用U - Boot 在更新U-Boot 時,我們首先需要在U-Boot 的環(huán)境變量中設(shè)置各種參數(shù)。這些參數(shù)包括啟動頻率、系統(tǒng)板的ip 和TFTP 服務器的ip。為了查看U-Boot 的環(huán)境變量的設(shè)置情況,我們可以利用printenv 命令 ,從而確保所有的環(huán)境變量設(shè)置是否正確。然后,我們應該插入以太網(wǎng)電纜向TSEC1 端口。然后,我們應該按照下面的步驟。
(1) 通過TFTP 下載u-boot.bin 文件到系統(tǒng)板中的 RAM。需要用的命令是“tftp 1000000u-boot.bin”。
(2) 我們需要把u-boot.bin 文件拷貝到Flash 中。這里,我們需要取消Flash 的寫保護。需要用到的命令是 “protect off fff80000 ffffffff”。
(3) 擦出Flash 上的數(shù)據(jù)。需要用到的命令是 “erase fff80000 ffffffff”。
(4) 把u-boot.bin 文件拷貝到Flash 中。需要用到的命令是 “cp.b 1000000 fff80000 80000”。至此,最新的U-Boot 已被安裝到了MPC8349 控制計算機系統(tǒng)板上。
6 U-Boot 的使用
A 信息查看命令
Bdinfo:將在終端顯示諸如內(nèi)存地址和大小、時鐘頻率、MAC 地址等信息。這些信息在傳遞給Linux 內(nèi)核一些參數(shù)時會用到。
Coninfo:顯示控制臺設(shè)備和信息。
Flinfo: 打印全部Flash 組的信息。
Iminfo:打印程序映像的開頭信息,包含了映像內(nèi)容的校驗(序列號、頭和校驗和)。
Help:help 命令還能夠查看每個命令的參數(shù)說明。
B. 內(nèi)存管理命令
Base:顯示或者設(shè)置一個“基地址”作為所有存儲類命令的地址偏移值。
crc32:可以計算存儲數(shù)據(jù)的校驗和。
cmp:比較兩塊內(nèi)存中的內(nèi)容。
cp:可以在內(nèi)存中復制數(shù)據(jù)塊,包括對Flash 的讀寫操作memory copy。
md:顯示內(nèi)存區(qū)的內(nèi)容。
mm:修改內(nèi)存,地址自動遞增。
mtest:提供一個簡單地存儲器測試。
mw:可以按照字節(jié)、字、長字寫內(nèi)存。
nm:可以修改內(nèi)存,可以按照字節(jié)、字、長字操作。
loop:非??焖俚刈x某個存儲范圍。因為這個命令力圖最快速地讀取存儲單元,所以被用作一種特殊的存儲器測試。
C. Flash 控制命令
cp:可以在內(nèi)存中復制數(shù)據(jù)塊,包括對Flash 的讀寫操作。
flinfo: 打印全部Flash 組的信息,也可以只打印其中某個組。一般嵌入式系統(tǒng)的Flash 只有一個組;
erase:可以擦Flash。
protect:對Flash 寫保護的操作,可以使能和解除寫保護。
D. 執(zhí)行控制命令
autoscr:autoscr 命令,可以在U-BOOT 中運行“腳本”。
bootm:引導啟動存儲在內(nèi)存(RAM 和可以永久保存的Flash)中的程序映像。
go:可以執(zhí)行應用程序。
E. 下載命令
bootp:通過bootp 請求,要求DHCP 服務器分配IP 地址,然后通過TFTP 協(xié)議下載指定的文件到內(nèi)存。
loadb:可以通過串口線下載二進制格式文件。
loads:可以通過串口線下載S-Record 格式文件。
rarpboot :可以使用TFTP 協(xié)議通過網(wǎng)絡(luò)啟動映像。也就是把指定的文件下載到指定地址,然后執(zhí)行。
tftpboot : 可以使用TFTP 協(xié)議通過網(wǎng)絡(luò)下載文件。按照二進制文件格式下載。
F. 環(huán)境變量命令
printenv :打印環(huán)境變量。
saveenv :保存變量。
setenv :可以設(shè)置環(huán)境變量。
run :可以執(zhí)行環(huán)境變量中的命令,后面參數(shù)可以跟幾個環(huán)境變量名。
bootd :運行 “bootcmd”的配置。
G.特殊命令
i2c:I2C 底層文件系統(tǒng)。
ide:IDE 底層文件系統(tǒng) 。
diskboot :從IDE 上啟動。
H. 其他的命令
date:時鐘設(shè)置與讀取命令。
echo:回顯參數(shù)。
reset:執(zhí)行CPU 的復位。
sleep:可以延遲N 秒鐘執(zhí)行,N 為十進制數(shù)。
version:print monitor version。
? :得到所有命令列表。
baudrate :定義串口控制臺的波特率。
bootargs :定義傳遞給Linux 內(nèi)核的命令行參。
bootcmd :保留的環(huán)境變量,也是一種腳本。如果定義了該變量,在autoboot 模式下,將會執(zhí)行該腳本的內(nèi)容。
bootdelay : 定義執(zhí)行自動啟動的等候秒數(shù)。
bootfile :定義缺省的下載文件。
ethaddr :定義以太網(wǎng)接口0 的MAC 地址。
eth1addr:定義以太網(wǎng)接口1 的MAC 地址。
eth2addr :定義以太網(wǎng)接口2 的MAC 地址。
filesize : 定義通過TFTP 下載文件的大小。
gatewayip: 定義IP 地址的網(wǎng)關(guān)。
ipaddr :定義本地的IP 地址。
loadaddr : 定義通過TFTP 下載的默認地址 。
netmask :定義以太網(wǎng)接口的掩碼。
serverip : 定義tftp 服務器端的IP 地址
7 結(jié)論
研究表明,在移植后U-Boot 可以運行安全、穩(wěn)定地運行在MPC8349 控制計算機系統(tǒng)上面。然后,在U-Boot 可以用來初始化,測試的硬件或下載和運行程序代碼。U-Boot 在以后給系統(tǒng)加載Linux 操作系統(tǒng)和應用程序,都表現(xiàn)出很好的穩(wěn)定性,高效性??傊赨-Boot-1.1.3 作為最新版本的U-Boot,具有很強的功能,我們把其移植到MPC8349 控制計算機系統(tǒng)上面,從而使該嵌入式系統(tǒng)順利啟動、穩(wěn)定運行、便于開發(fā)。鑒于這些情況,MPC8349控制計算機系統(tǒng)的應用領(lǐng)域?qū)值膹V泛。
本文作者創(chuàng)新點:本文詳細介紹了向MPC8349 控制計算機移植U-Boot 的方案。MPC8349控制計算機以其優(yōu)越的網(wǎng)絡(luò)功能,在很多領(lǐng)域有著廣泛的應用。本方案把最新版本的U-Boot成功移植到硬件系統(tǒng)中,可以是MPC 控制計算機在嵌入式領(lǐng)域的開發(fā)更加便捷。

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

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉