国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【IMX6ULL驅(qū)動開發(fā)學習】10.設(shè)置uboot使用網(wǎng)絡(luò)加載zImage和dtb

這篇具有很好參考價值的文章主要介紹了【IMX6ULL驅(qū)動開發(fā)學習】10.設(shè)置uboot使用網(wǎng)絡(luò)加載zImage和dtb。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

首先根據(jù)這篇博客,保證自己的開發(fā)板與Ubuntu主機處于同一個網(wǎng)段,并且可以ping通

【IMX6ULL驅(qū)動開發(fā)學習】03.設(shè)置IMX6ULL開發(fā)板與虛擬機在同一網(wǎng)段


1. 在uboot中設(shè)置網(wǎng)絡(luò)

首先啟動自己的板子進入Linux系統(tǒng),使用 ifconfig 命令或者 ifconfig -a 命令查看自己網(wǎng)卡的地址

ifconfig
ifconfig -a

我的網(wǎng)卡地址是這個

52:15:66:2E:16:71

重啟板子,uboot倒計時時,按任意鍵進入uboot
設(shè)置 ethaddr

setenv ethaddr 52:15:66:2E:16:71

接著設(shè)置自己的ip

setenv ipaddr 192.168.1.100

設(shè)置服務(wù)器ip

setenv serverip 192.168.1.200

保存變量

saveenv

重啟后按任意鍵進入uboot
測試ping命令

Hit any key to stop autoboot:  0 
=> ping 192.168.1.200
FEC1 Waiting for PHY auto negotiation to complete.... done
Using FEC1 device
host 192.168.1.200 is alive
=> 

出現(xiàn)這兩句,就說明網(wǎng)絡(luò)通了

Using FEC1 device
host 192.168.1.200 is alive

2. 服務(wù)器端設(shè)置tftp服務(wù),拷貝內(nèi)核與設(shè)備樹到tftp目錄

安裝tftp服務(wù)端

sudo apt install tftpd-hpa 

在家目錄下新建tftp共享文件夾

mkdir tftpboot
chmod 777 tftpboot

設(shè)置 /etc/default/tftpd-hpa 文件
主要設(shè)置 TFTP_DIRECTORY=“/home/me/tftpboot”,設(shè)置tftp共享目錄

# /etc/default/tftpd-hpa

TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/home/me/tftpboot"
TFTP_ADDRESS=":69"
TFTP_OPTIONS="-l -c -s"
#TFTP_OPTIONS="--secure"

將內(nèi)核文件和設(shè)備樹文件復制到tftp共享目錄下
zImage 的路徑 /home/…/…/Linux內(nèi)核文件/arch/arm/boot/
dtb 的路徑 /home/…/…/Linux內(nèi)核文件/arch/arm/boot/dts

cp zImage /home/me/tftpboot
cp ***.dtb /home/me/tftpboot

【IMX6ULL驅(qū)動開發(fā)學習】10.設(shè)置uboot使用網(wǎng)絡(luò)加載zImage和dtb

重啟tftp服務(wù)

sudo service tftpd-hpa restart

3. 設(shè)置nfs服務(wù)器
Ubuntu主機端確保虛擬機打開nfs服務(wù)
首先安裝nfs服務(wù)

sudo apt-get install nfs-kernel-server rpcbind

配置nfs共享目錄

sudo gedit /etc/exports

/etc/exports 文件最后添加一行(根據(jù)自己的文件路徑而定)

/home/me/imx6ull_nfs    *(rw,sync,no_root_squash,no_subtree_check)

表示 /home/me/imx6ull_nfs 目錄下的文件都可以被掛載共享,* 表示可以可以被所有的服務(wù)器掛載,而不是只能共享給一個服務(wù)器

執(zhí)行以下命令使配置生效

sudo exportfs -r

最后一步,將你自己的文件系統(tǒng)拷貝到你的nfs共享目錄下**(注意要是解壓后的根文件系統(tǒng)哦)**
【IMX6ULL驅(qū)動開發(fā)學習】10.設(shè)置uboot使用網(wǎng)絡(luò)加載zImage和dtb


4. 測試手動從tftp服務(wù)器加載內(nèi)核 & 設(shè)備樹
啟動開發(fā)板,按任意鍵進入uboot命令行

(1)加載內(nèi)核

tftp 80800000 zImage

(2)加載設(shè)備樹

tftp 83000000 imx6ull-alientek-emmc.dtb

(3)啟動內(nèi)核和設(shè)備樹
(bootz用于啟動zImage和ext4文件系統(tǒng),
? 命令格式:bootz 內(nèi)核地址 文件系統(tǒng)地址 設(shè)備樹地址
? 如果內(nèi)存中沒有文件系統(tǒng)則用 - 代替)

bootz 80800000 - 83000000

【IMX6ULL驅(qū)動開發(fā)學習】10.設(shè)置uboot使用網(wǎng)絡(luò)加載zImage和dtb
(4)測試成功,設(shè)置ubootcmd(這是uboot倒計時后要后執(zhí)行的命令)

setenv bootcmd 'tftp 80800000 zImage; tftp 83000000 imx6ull-alientek-emmc.dtb; bootz 80800000 - 83000000'

保存變量

saveenv

5. 使用NFS掛載根文件系統(tǒng)

第4步操作中,我們加載了內(nèi)核與設(shè)備樹,之后就會開始啟動內(nèi)核,那根文件系統(tǒng)呢?

根文件系統(tǒng)的加載需要在uboot中設(shè)置 bootargs,bootargs是傳遞給內(nèi)核的參數(shù),
告訴內(nèi)核從哪里加載根文件系統(tǒng)、IP、控制臺等等

原本的 bootargs

=> print bootargs
bootargs=console=ttymxc0,115200 root=/dev/mmcblk1p2 rootwait rw

輸入以下命令修改bootargs
(將 root=/dev/mmcblk1p2 改成 root=/dev/nfs nfsroot=192.168.1.200:/home/me/imx6ull_nfs

setenv bootargs 'console=ttymxc0,115200 root=/dev/nfs nfsroot=192.168.1.200:/home/me/imx6ull_nfs rootwait rw'

保存變量

saveenv

============================

PS:博客經(jīng)過了幾次修改,后面這些是暫時被刪除的部分,因為怕后面需要,所以就先放在這里,讀者不用管

輸入 pri 查看當前uboot內(nèi)的變量,把 ubootargsubootcmd 先保存下來
用于之后恢復原值

【IMX6ULL驅(qū)動開發(fā)學習】10.設(shè)置uboot使用網(wǎng)絡(luò)加載zImage和dtb

(1)設(shè)置 ubootargs

setenv bootargs 'console=tty0 console=ttymxc0,115200 root=/dev/mmcblk1p2 rootwait rw'

console用來設(shè)置 linux 終端(或者叫控制臺),也就是通過什么設(shè)備來和Linux進行交互,是串口還是屏幕?
這里設(shè)置console為ttymxc0,因為linux啟動以后I.MX6ULL 的串口1在linux下的設(shè)備文件就是/dev/ttymxc0,115200是串口的波特率
= - = - = - = - = - = - =
root用來設(shè)置根文件系統(tǒng)的位置,root=/dev/mmcblk1p2 用于指明根文件系統(tǒng)存放在mmcblk1 設(shè)備的分區(qū) 2 中。
root 后面有rootwait rw,rootwait表示等待 mmc 設(shè)備初始化完成以后再掛載,否則的話mmc 設(shè)備還沒初始化完成就掛載根文件系統(tǒng)會出錯的。rw表示根文件系統(tǒng)是可以讀寫的。

(2)設(shè)置ubootcmd(Uboot倒計時后要后執(zhí)行的命令)

setenv bootcmd 'tftp 80800000 zImage; tftp 83000000 imx6ull-alientek-emmc.dtb; bootz 80800000 - 83000000'

最后保存變量,然后重啟uboot

saveenv

重啟文章來源地址http://www.zghlxwxcb.cn/news/detail-506598.html

boot

(3)測試
【IMX6ULL驅(qū)動開發(fā)學習】10.設(shè)置uboot使用網(wǎng)絡(luò)加載zImage和dtb
恢復 bootcmd 變量值,從emmc中啟動內(nèi)核和設(shè)備樹

setenv bootcmd 'run findfdt;mmc dev ${mmcdev};mmc dev ${mmcdev}; if mmc rescan; then if run loadbootscript; then run bootscript; else if run loadimage; then run mmcboot; else run netboot; fi; fi; else run netboot; fi'

最后保存變量,然后重啟uboot

saveenv

重啟

boot

到了這里,關(guān)于【IMX6ULL驅(qū)動開發(fā)學習】10.設(shè)置uboot使用網(wǎng)絡(luò)加載zImage和dtb的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 【IMX6ULL驅(qū)動開發(fā)學習】22.IMX6ULL開發(fā)板讀取ADC(以MQ-135為例)

    【IMX6ULL驅(qū)動開發(fā)學習】22.IMX6ULL開發(fā)板讀取ADC(以MQ-135為例)

    IMX6ULL一共有兩個ADC,每個ADC都有八個通道,但他們共用一個ADC控制器 在imx6ull.dtsi文件中已經(jīng)幫我們定義好了adc1的節(jié)點部分信息 注意 num-channels = 2; ,這個表示指定使用ADC1的兩個通道,即通道1和通道2 如果你要使用多個ADC通道,修改這個值即可 配置ADC引腳的 pinctrl ,在自己的

    2024年02月12日
    瀏覽(60)
  • 【IMX6ULL驅(qū)動開發(fā)學習】15.IMX6ULL驅(qū)動開發(fā)問題記錄(sleep被kill_fasync打斷)

    【IMX6ULL驅(qū)動開發(fā)學習】15.IMX6ULL驅(qū)動開發(fā)問題記錄(sleep被kill_fasync打斷)

    發(fā)現(xiàn)問題的契機: 學習異步通知的時候,自己實現(xiàn)一個功能:按鍵控制蜂鳴器,同時LED燈在閃爍 結(jié)果:LED好像也同時被按鍵控制了 最后調(diào)試結(jié)果發(fā)現(xiàn): 應(yīng)用層的 sleep 被驅(qū)動層的 kill_fasync 打斷,所以sleep沒有執(zhí)行完就重新進入下一次循環(huán)了 修改代碼后解決該問題 解決邏輯就

    2024年02月13日
    瀏覽(18)
  • 【IMX6ULL驅(qū)動開發(fā)學習】08.IMX6ULL通過GPIO子系統(tǒng)函數(shù)點亮LED

    【IMX6ULL驅(qū)動開發(fā)學習】08.IMX6ULL通過GPIO子系統(tǒng)函數(shù)點亮LED

    通過GPIO子系統(tǒng)函數(shù)點亮LED 1、GPIO子系統(tǒng)函數(shù) 1.1 確定 led 的GPIO標號,查看內(nèi)核中的gpiochip 查看 gpiochip ,以正點原子的IMX6ULL阿爾法開發(fā)板為例 查看原理圖,發(fā)現(xiàn)led接的引腳是 GPIO1_IO3,對應(yīng) /sys/kernel/debug/gpio 中的 gpiochip0 組,gpiochip0 組從0開始算起, 所以 GPIO1_IO3 對應(yīng)的標號就

    2024年02月10日
    瀏覽(23)
  • 【IMX6ULL驅(qū)動開發(fā)學習】10.Linux I2C驅(qū)動實戰(zhàn):AT24C02驅(qū)動設(shè)計流程

    【IMX6ULL驅(qū)動開發(fā)學習】10.Linux I2C驅(qū)動實戰(zhàn):AT24C02驅(qū)動設(shè)計流程

    前情回顧:【IMX6ULL驅(qū)動開發(fā)學習】09.Linux之I2C框架簡介和驅(qū)動程序模板_阿龍還在寫代碼的博客-CSDN博客 目錄 一、修改設(shè)備樹(設(shè)備樹用來指定引腳資源) 二、編寫驅(qū)動 2.1?i2c_drv_read 2.2?i2c_drv_write 2.3 完整驅(qū)動程序 三、上機測試 放在哪個I2C控制器下面 AT24C02的I2C設(shè)備地址(查

    2024年02月11日
    瀏覽(85)
  • 【IMX6ULL驅(qū)動開發(fā)學習】02.hello驅(qū)動程序之cdev注冊字符設(shè)備驅(qū)動程序和設(shè)置次設(shè)備號

    【IMX6ULL驅(qū)動開發(fā)學習】02.hello驅(qū)動程序之cdev注冊字符設(shè)備驅(qū)動程序和設(shè)置次設(shè)備號

    目錄 一、register_chrdev 二、解決方法 2.1?alloc_chrdev_region函數(shù):注冊一系列字符設(shè)備編號 2.2?cdev_init函數(shù):初始化cdev結(jié)構(gòu)體? 2.3??cdev_add函數(shù):將字符設(shè)備添加到系統(tǒng)中 ?三、驅(qū)動程序 【IMX6ULL驅(qū)動開發(fā)學習】01.編寫第一個hello驅(qū)動+自動創(chuàng)建設(shè)備節(jié)點(不涉及硬件操作)_阿龍還

    2024年02月14日
    瀏覽(25)
  • 【IMX6ULL驅(qū)動開發(fā)學習】19.mmap內(nèi)存映射

    【IMX6ULL驅(qū)動開發(fā)學習】19.mmap內(nèi)存映射

    mmap將一個文件或者其它對象映射進內(nèi)存 ,使得應(yīng)用層可以直接讀取到驅(qū)動層的數(shù)據(jù),無需通過copy_to_user函數(shù) 可以用于像LCD這樣的外設(shè), 需要讀寫大量數(shù)據(jù)的 一、應(yīng)用層 mmap用法: 用open系統(tǒng)調(diào)用打開文件, 并返回描述符fd. 用mmap建立內(nèi)存映射, 并返回映射首地址指針start. 對映

    2024年02月16日
    瀏覽(21)
  • 【IMX6ULL驅(qū)動開發(fā)學習】11.Linux之SPI驅(qū)動

    【IMX6ULL驅(qū)動開發(fā)學習】11.Linux之SPI驅(qū)動

    參考:驅(qū)動程序開發(fā):SPI設(shè)備驅(qū)動_spi驅(qū)動_鄧家文007的博客-CSDN博客 目錄 一、SPI驅(qū)動簡介 1.1 SPI架構(gòu)概述 1.2 SPI適配器(控制器)數(shù)據(jù)結(jié)構(gòu) 1.2 SPI設(shè)備數(shù)據(jù)結(jié)構(gòu) 1.3 SIP設(shè)備驅(qū)動 1.4 接口函數(shù) ?二、SPI驅(qū)動模板 SPI驅(qū)動框架和I2C驅(qū)動框架是十分相似的,不同的是因為SPI是通過片選引

    2024年02月11日
    瀏覽(31)
  • 【IMX6ULL驅(qū)動開發(fā)學習】12.Linux驅(qū)動之設(shè)備樹

    【IMX6ULL驅(qū)動開發(fā)學習】12.Linux驅(qū)動之設(shè)備樹

    承接上一篇博客 【IMX6ULL驅(qū)動開發(fā)學習】11.驅(qū)動設(shè)計之面向?qū)ο骭分層思想(學習設(shè)備樹過渡部分) 代碼獲?。?https://gitee.com/chenshao777/imx6-ull_-drivers 我后面將三個層合并了(實際上只有前兩層),合并成一個dev_drv.c了,暫時沒有加GPIO操作,只是個框架 合并前的代碼在 11.butt

    2024年02月13日
    瀏覽(48)
  • iMX6ULL驅(qū)動開發(fā) | 讓imx6ull開發(fā)板支持usb接口FC游戲手柄

    iMX6ULL驅(qū)動開發(fā) | 讓imx6ull開發(fā)板支持usb接口FC游戲手柄

    手邊有一閑置的linux開發(fā)板iMX6ULL一直在吃灰,不用來搞點事情,總覺得對不住它。業(yè)余打發(fā)時間就玩起來吧,總比刷某音強。從某多多上買來一個usb接口的游戲手柄,讓開發(fā)板支持以下它,后續(xù)就可以接著在上面玩童年經(jīng)典游戲啦。 ?我使用的是正點原子的I.MX6U-ALPHA 開發(fā)板,

    2024年02月14日
    瀏覽(38)
  • 【IMX6ULL驅(qū)動開發(fā)學習】12.Linux SPI驅(qū)動實戰(zhàn):DAC驅(qū)動設(shè)計流程

    【IMX6ULL驅(qū)動開發(fā)學習】12.Linux SPI驅(qū)動實戰(zhàn):DAC驅(qū)動設(shè)計流程

    基礎(chǔ)回顧:?【IMX6ULL驅(qū)動開發(fā)學習】10.Linux I2C驅(qū)動實戰(zhàn):AT24C02驅(qū)動設(shè)計流程_阿龍還在寫代碼的博客-CSDN博客 【IMX6ULL驅(qū)動開發(fā)學習】11.Linux之SPI驅(qū)動_阿龍還在寫代碼的博客-CSDN博客 查看芯片手冊,有兩種DAC數(shù)據(jù)格式,12位和16位,這里選用16位數(shù)據(jù)(2字節(jié))編寫驅(qū)動。 ?重點在

    2024年02月11日
    瀏覽(28)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包