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

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

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

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

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

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

掃碼添加小助手

加入工程師交流群

U-BOOT是德國DENX小組開發(fā)的用于多種嵌入式微處理器的引導(dǎo)加載程序,它是系統(tǒng)上電后運行的第一段程序代碼,用于初始化目標(biāo)板硬件,為嵌入式操作系統(tǒng)提供目標(biāo)板硬件配置信息,并裝載、引導(dǎo)和運行嵌入式操作系統(tǒng)等。U—BooT支持網(wǎng)絡(luò)功能,在下載操作系統(tǒng)內(nèi)核和大的文件系統(tǒng)時,比其它不支持網(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功能更加強大,使用更加方便。

U—BOOT簡介

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

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

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

硬件平臺

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

驅(qū)動程序

在U-BOOT中嵌入千兆網(wǎng)絡(luò)功能需要設(shè)計千兆網(wǎng)卡驅(qū)動程序,并在U—BOOT中進行移植,在相應(yīng)的硬件平臺上實現(xiàn)通過千兆網(wǎng)口下載等功能。網(wǎng)卡驅(qū)動程序主要由初始化程序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)等組成。初始化程序的工作主要是配置和初始化硬件,在初始化程序里可以完成對網(wǎng)絡(luò)控制芯片AX88180和PHY芯片的配置,比如將接口設(shè)置為1000Mbps、全雙工模式等。數(shù)據(jù)發(fā)送就是將上層協(xié)議打

編輯:jq

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

掃碼添加小助手

加入工程師交流群

    評論

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    摘 要:論文研究了一種直流無刷電機的無位置傳感器的轉(zhuǎn)子位置的硬件電路檢測方法。結(jié)合傳統(tǒng)“反電動勢\"方法,分析并設(shè)計了一種新的帶通濾波器延時檢測電路。該電路不僅可以抑制高頻分量和消除直
    發(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% 的工程師都分不清?

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