91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

教大家一種在U—BooT中嵌入千兆網(wǎng)絡(luò)功能的方法

電子工程師 ? 來(lái)源:華仔 ? 作者:華仔 ? 2021-03-04 17:39 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

U-BOOT是德國(guó)DENX小組開(kāi)發(fā)的用于多種嵌入式微處理器的引導(dǎo)加載程序,它是系統(tǒng)上電后運(yùn)行的第一段程序代碼,用于初始化目標(biāo)板硬件,為嵌入式操作系統(tǒng)提供目標(biāo)板硬件配置信息,并裝載、引導(dǎo)和運(yùn)行嵌入式操作系統(tǒng)等。U—BooT支持網(wǎng)絡(luò)功能,在下載操作系統(tǒng)內(nèi)核和大的文件系統(tǒng)時(shí),比其它不支持網(wǎng)絡(luò)的引導(dǎo)加載程序速度更快、更方便。目前U—BOOT僅支持10M/100M的網(wǎng)絡(luò)功能,隨著科學(xué)技術(shù)發(fā)展,千兆網(wǎng)絡(luò)功能必將大量應(yīng)用在嵌入式系統(tǒng)中。本文介紹了一種讓U—BOOT支持千兆網(wǎng)絡(luò)功能的方法,可以使U—BOOT功能更加強(qiáng)大,使用更加方便。

U—BOOT簡(jiǎn)介

U—BOOT的全稱是Universal Boot Loader,它遵循GPL條款的開(kāi)放源碼項(xiàng)目,支持多種處理器,如ARM、PowerPC、MIPS等,也支持LinuxVxWorks、QNX、RTEMS、ARTOS、LynxOS等嵌入式操作系統(tǒng)。

U-BOOT包含兩種不同的工作模式:?jiǎn)?dòng)加載模式和下載模式。啟動(dòng)加載模式也稱為自主模式,即U—BOOT從目標(biāo)機(jī)上的某個(gè)固態(tài)存儲(chǔ)設(shè)備上將操作系統(tǒng)加載到RAM中運(yùn)行,這種模式是U—BOOT的正常工作模式。下載模式就是在開(kāi)發(fā)或生產(chǎn)過(guò)程中,U—BOOT通過(guò)網(wǎng)絡(luò)連接等通信手段從主機(jī)下載操作系統(tǒng)內(nèi)核和文件系統(tǒng)等到目標(biāo)機(jī)的RAM中,然后再寫到目標(biāo)機(jī)上的FLASH類固態(tài)存儲(chǔ)設(shè)備中。U—BOOT允許用戶在這兩種工作模式間進(jìn)行切換,系統(tǒng)啟動(dòng)時(shí)會(huì)延時(shí)等待一段時(shí)間,如果這時(shí)用戶沒(méi)有按鍵,U—BOOT就默認(rèn)進(jìn)入啟動(dòng)加載模式。

U—BOOT代碼采用一種高度模塊化的編程方式,可以很方便地在不同的硬件平臺(tái)上進(jìn)行移植。U—BOOT下包含多個(gè)目錄,如圖1所示。其中BOARD目錄下存放了所有其支持的目標(biāo)板子目錄,比如BOARD/SMDK2440/就是本文將要用到的目標(biāo)板;COMMON目錄是與體系結(jié)構(gòu)無(wú)關(guān)的文件,實(shí)現(xiàn)各種命令的C文件;CPU目錄存放了其支持的CPU類型,比如arm920t、mips、mpc8260和nios等,每個(gè)特定的子目錄中都包括cpu.c和interrupt.c、start.s;DRIVERS目錄存放了各種外設(shè)接口的驅(qū)動(dòng)程序,其中就包含本文用到的千兆網(wǎng)絡(luò)的驅(qū)動(dòng)程序;FS目錄存放了一些文件系統(tǒng),U—BOOT現(xiàn)在支持cramfs、fat、fdos、jffs2和registerfs;net目錄存放的是與網(wǎng)絡(luò)有關(guān)的代碼,BOOTP協(xié)議、TFTP協(xié)議、RARP協(xié)議和NFS文件系統(tǒng)的實(shí)現(xiàn),INCLUDE目錄存放了一些相關(guān)頭文件,還有對(duì)各種硬件平臺(tái)支持的匯編文件、系統(tǒng)的配置文件和對(duì)文件系統(tǒng)支持的文件。

硬件平臺(tái)

本文使用的硬件平臺(tái)是基于S3C2440A的開(kāi)發(fā)板和基于非PCI千兆以太網(wǎng)控制芯片AX88180的嵌入式網(wǎng)卡,如圖2所示。S3C2440A是ARM920T核的16/32位RISC嵌入式微處理器,運(yùn)行頻率高達(dá)500MHz,開(kāi)發(fā)板上有64M NAND閃存、64M SDRAM;網(wǎng)卡由MAC芯片AX88180、PHY芯片88E1111、RJ45等電路組成;S3C2440A目標(biāo)板與網(wǎng)卡之間采用目標(biāo)板32位擴(kuò)展總線相連接,在產(chǎn)品設(shè)計(jì)時(shí)也可以將這兩部分設(shè)計(jì)在同一塊板上。

驅(qū)動(dòng)程序

在U-BOOT中嵌入千兆網(wǎng)絡(luò)功能需要設(shè)計(jì)千兆網(wǎng)卡驅(qū)動(dòng)程序,并在U—BOOT中進(jìn)行移植,在相應(yīng)的硬件平臺(tái)上實(shí)現(xiàn)通過(guò)千兆網(wǎng)口下載等功能。網(wǎng)卡驅(qū)動(dòng)程序主要由初始化程序eth_init(bd_t*bd)、關(guān)閉網(wǎng)絡(luò)設(shè)備程序eth_halt(void)、發(fā)送數(shù)據(jù)包程序eth_send(volatilevoid*packet,intlength)、接收數(shù)據(jù)包程序inteth_rx(void)等組成。初始化程序的工作主要是配置和初始化硬件,在初始化程序里可以完成對(duì)網(wǎng)絡(luò)控制芯片AX88180和PHY芯片的配置,比如將接口設(shè)置為1000Mbps、全雙工模式等。數(shù)據(jù)發(fā)送就是將上層協(xié)議打

編輯:jq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    一種基于電壓監(jiān)控器與內(nèi)置自檢機(jī)制的汽車攝像頭功能安全設(shè)計(jì)方法

    本期,為大家帶來(lái)的是《功能安全應(yīng)用中使用電壓監(jiān)控器監(jiān)控電壓軌》,介紹了一種基于電壓監(jiān)控器與內(nèi)置自檢機(jī)制的汽車攝像頭功能安全設(shè)計(jì)
    的頭像 發(fā)表于 03-13 09:19 ?4145次閱讀
    <b class='flag-5'>一種</b>基于電壓監(jiān)控器與內(nèi)置自檢機(jī)制的汽車攝像頭<b class='flag-5'>功能</b>安全設(shè)計(jì)<b class='flag-5'>方法</b>

    如何使 i.MX93 上的 U-Boot SPL 和 ATF/BL31輸出靜音呢?

    到外部網(wǎng)絡(luò)設(shè)備時(shí),U-Boot SPL 和 ATF/BL31 啟動(dòng)消息會(huì)回顯到外部設(shè)備的控制臺(tái)。如果外部設(shè)備也啟動(dòng),它可以將這些字符解釋為輸入命令,從而可能損壞其引導(dǎo)加載程序或配置。 我成功靜音的內(nèi)容
    發(fā)表于 03-09 08:28

    深入解析U-Boot image.c:RK平臺(tái)鏡像處理核心邏輯

    瑞芯微(RK)平臺(tái)的嵌入式開(kāi)發(fā),U-Boot作為核心的啟動(dòng)加載程序,負(fù)責(zé)完成鏡像解析、校驗(yàn)、加載等關(guān)鍵流程。而image.c正是U-Boot
    的頭像 發(fā)表于 02-24 16:46 ?1521次閱讀
    深入解析<b class='flag-5'>U-Boot</b> image.c:RK平臺(tái)鏡像處理核心邏輯

    玩轉(zhuǎn)U-Boot bdinfo:嵌入式bsp開(kāi)發(fā)者的定制、擴(kuò)展與裁剪實(shí)戰(zhàn)指南

    作為嵌入式開(kāi)發(fā)者,U-Boot 是我們調(diào)試、適配板卡的核心工具,而 bdinfo 命令更是板級(jí)信息調(diào)試的“利器”——它能直觀打印內(nèi)存布局、Flash 信息、網(wǎng)絡(luò)配置、時(shí)鐘頻率等核心參數(shù)。但原廠
    的頭像 發(fā)表于 02-24 15:26 ?748次閱讀
    玩轉(zhuǎn)<b class='flag-5'>U-Boot</b> bdinfo:<b class='flag-5'>嵌入</b>式bsp開(kāi)發(fā)者的定制、擴(kuò)展與裁剪實(shí)戰(zhàn)指南

    U-Boot 引導(dǎo)加載程序 TFTP 超時(shí)的奇怪解決方法

    U-Boot 引導(dǎo)加載程序 TFTP 超時(shí)的奇怪解決方法 (Star64 JH7110 RISC-V SBC)
    發(fā)表于 02-24 07:01

    U-Boot SPL核心文件spl.c深度解析:從啟動(dòng)流程到調(diào)試優(yōu)化

    嵌入式系統(tǒng)開(kāi)發(fā),U-Boot 的 SPL(Secondary Program Loader)扮演著至關(guān)重要的角色,它是系統(tǒng)上電后執(zhí)行的第
    的頭像 發(fā)表于 02-05 14:08 ?181次閱讀
    <b class='flag-5'>U-Boot</b> SPL核心文件spl.c深度解析:從啟動(dòng)流程到調(diào)試優(yōu)化

    深入解析U-Boot TPL代碼:嵌入式啟動(dòng)的“第棒”背后的秘密

    嵌入式系統(tǒng)啟動(dòng)過(guò)程,從按下電源鍵到操作系統(tǒng)開(kāi)始運(yùn)行,中間藏著系列精密的初始化步驟。今天我們就來(lái)拆解 Rockchip 平臺(tái) U-Boot
    的頭像 發(fā)表于 02-05 14:07 ?1110次閱讀
    深入解析<b class='flag-5'>U-Boot</b> TPL代碼:<b class='flag-5'>嵌入</b>式啟動(dòng)的“第<b class='flag-5'>一</b>棒”背后的秘密

    深入解析U-Boot命令處理核心文件:功能、調(diào)試與開(kāi)發(fā)價(jià)值

    嵌入式系統(tǒng)開(kāi)發(fā),U-Boot 作為主流的引導(dǎo)加載程序,其命令處理、交互邏輯和自動(dòng)啟動(dòng)流程是核心功能模塊。本文將圍繞command.c、c
    的頭像 發(fā)表于 02-03 15:44 ?907次閱讀
    深入解析<b class='flag-5'>U-Boot</b>命令處理核心文件:<b class='flag-5'>功能</b>、調(diào)試與開(kāi)發(fā)價(jià)值

    深入解析U-Boot核心文件board_f.c:知識(shí)點(diǎn)、調(diào)試要點(diǎn)與開(kāi)發(fā)價(jià)值

    嵌入式系統(tǒng)開(kāi)發(fā),U-Boot 作為應(yīng)用最廣泛的引導(dǎo)程序,其底層初始化邏輯直接決定了硬件啟動(dòng)的穩(wěn)定性與可靠性。
    的頭像 發(fā)表于 02-03 15:38 ?762次閱讀
    深入解析<b class='flag-5'>U-Boot</b>核心文件board_f.c:知識(shí)點(diǎn)、調(diào)試要點(diǎn)與開(kāi)發(fā)價(jià)值

    解析Rockchip平臺(tái)U-Boot核心文件:boot_rkimg.c到底做了什么?

    嵌入式開(kāi)發(fā),U-Boot 作為引導(dǎo)程序的 “中流砥柱”,負(fù)責(zé)初始化硬件、加載內(nèi)核并啟動(dòng)系統(tǒng)。對(duì)于 Rockchip 平臺(tái)的設(shè)備(如常見(jiàn)的開(kāi)發(fā)板、智能終端),
    的頭像 發(fā)表于 02-03 15:29 ?780次閱讀
    解析Rockchip平臺(tái)<b class='flag-5'>U-Boot</b>核心文件:<b class='flag-5'>boot</b>_rkimg.c到底做了什么?

    深入理解?RK3506 U-Boot?重定位:從代碼到原理

    嵌入式系統(tǒng),U-Boot?作為引導(dǎo)加載程序,其啟動(dòng)流程的核心環(huán)節(jié)之就是 重定位(Relocation) 。對(duì)于?RK3506?這類基于
    的頭像 發(fā)表于 11-28 07:05 ?664次閱讀
    深入理解?RK3506 <b class='flag-5'>U-Boot</b>?重定位:從代碼到原理

    一種帶通濾波器無(wú)位置傳感器轉(zhuǎn)子檢測(cè)的應(yīng)用

    摘 要:論文研究了一種直流無(wú)刷電機(jī)的無(wú)位置傳感器的轉(zhuǎn)子位置的硬件電路檢測(cè)方法。結(jié)合傳統(tǒng)“反電動(dòng)勢(shì)\"方法,分析并設(shè)計(jì)了一種新的帶通濾波器延時(shí)檢測(cè)電路。該電路不僅可以抑制高頻分量和消除直
    發(fā)表于 08-04 14:56

    飛凌嵌入式ElfBoard ELF 1板卡-uboot編譯u-boot/u-boot.bin/u-boot.imx

    u-boot文件就是編譯流程章節(jié)講的,鏈接器將鏈接各.o文件之后生成的.elf文件,該文件包含了大量的調(diào)試信息、地址信息和注釋信息,不能被直接執(zhí)行,需要轉(zhuǎn)換成為可執(zhí)行的u-boot.bin文件,而
    發(fā)表于 05-22 11:24

    飛凌嵌入式ElfBoard ELF 1板卡-Uboot

    上節(jié)中講到U-Boot是BootLoader的一種U-Boot全稱為Universal Boot Loader,即通用的BootLoader,所謂通用就是指它適用于多種
    發(fā)表于 05-22 10:44

    U-Boot 和 Bootloader,99% 的工程師都分不清?

    嵌入式軟件工程師聽(tīng)說(shuō)過(guò) u-boot 和 bootloader,但很多工程師依然不知道他們到底是啥。 ? 今天就來(lái)簡(jiǎn)單講講?u-boot 和 bootloader?的內(nèi)容以及區(qū)別
    的頭像 發(fā)表于 03-25 20:47 ?1818次閱讀