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

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

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

通過Uboot?TFTP啟動rt-smart內(nèi)核

RT-thread ? 來源:RT-thread ? 作者:RT-thread ? 2022-06-30 12:34 ? 次閱讀

Windows下通過 UbootTFTP 方式下載和啟動rt-smart 內(nèi)核

i.MX6ULL 系列處理器啟動方式多樣,啟動時會首先執(zhí)行芯片內(nèi)部 Boot ROM 中的程序。Boot ROM 會根據(jù) BOOT_MODE 寄存器、eFUSEs、配置管腳等狀態(tài)來決定啟動模式以及啟動設(shè)備。故在啟動前,用戶可根據(jù)自己需要配置 ART-Pi Smart 開發(fā)板的啟動方式。
目前,ART-Pi Smart 開發(fā)板有以下兩種啟動方式:

  • eMMC 模式(默認啟動模式):ART-Pi Smart 上電時,默認從 eMMC 啟動,自動運行 U-Boot
  • USB 模式:選擇從 USB啟動,通過 USB 接口(上方的 USB-TypeC OTG 接口),串行下載固件
    操作方法:開發(fā)板上電之后,先按下 "BOOT 啟動按鍵" 不松開,然后,再按下 “RST 復(fù)位鍵”,即可切換到 USB 固件下載模式。

我選擇通過 UbootTFTP 方式下載和啟動rt-smart 內(nèi)核

  • 首先下載并安裝 Tftpd64 工具 (查看附件有安裝包)
  • 在測試電腦上,提前設(shè)置好 TFTP 服務(wù)器,并配置目錄定位到 rtthread.bin 文件所在的目錄
  • 將 ART-Pi Smart 開發(fā)板通過有線網(wǎng)口和測試電腦處于同一個局域網(wǎng)(例,將開發(fā)板和測試電腦通過網(wǎng)線連接到同一臺路由器或交換機
    ??將網(wǎng)線插到 ART-Pi Smart 開發(fā)板的網(wǎng)口,請檢查網(wǎng)口上兩個 LED 燈(綠色和黃色)是否亮起。
  • 將 USB-TypeC(下面的)連接到電腦給開發(fā)板上電,上電時將默認從 eMMC 啟動,自動運行 U-Boot
  • 在測試電腦上,打開串口調(diào)試終端:115200 波特率、8 位數(shù)據(jù)位、1 位停止位、無奇偶校驗、無流控,啟動終端
  • 一般插上串口線,還沒那么啟動終端,uboot就啟動完了,重啟一下 輸入reboot命令 或按下 ART-Pi Smart 開發(fā)板上的 “ RST 復(fù)位鍵” ,讓開發(fā)板復(fù)位并進入到 “uboot 啟動” 倒計時


  • 在進入 “uboot 啟動” 倒計時結(jié)束之前,按下鍵盤任意鍵,進入到手動模式
U-Boot 2017.03-g002b758ac9-dirty (Nov 24 2021 - 20:08:02 +0800)

CPU:   Freescale i.MX6ULL rev1.1 696 MHz (running at 396 MHz)
CPU:   Industrial temperature grade (-40C to 105C) at 39C
Reset cause: WDOG
Model: Freescale i.MX6 ULL 14x14 EVK Board
Board: MX6ULL 14x14 EVK
DRAM:  512 MiB
MMC:   FSL_SDHC: 0, FSL_SDHC: 1
*** Warning - bad CRC, using default environment

Display: TFT7016 (1024x600)
Video: 1024x600x24
In:    serial
Out:   serial
Err:   serial
switch to partitions #0, OK
mmc1(part 0) is current device
Net:   eth1: ethernet@020b4000, eth0: ethernet@02188000 [PRIME]
Normal Boot
Hit any key to stop autoboot:  0(#在進入 “uboot 啟動” 倒計時結(jié)束之前,按下鍵盤任意鍵,進入到手動模式)
=>
  • 這樣已經(jīng)進入u-boot命令模式
    如果沒有進入到手動模式,則開發(fā)板會自動進入到 i.MX6ULL 核心板自帶的嵌入式 rt-smart 系統(tǒng)。
  • 測試是否連通電腦
=> ping 192.168.0.26
ethernet@02188000 Waiting for PHY auto negotiation to complete.... done
*** ERROR: `ipaddr' not set
ping failed; host 192.168.0.26 is not alive
  • uboot沒有DHCP client 不能自動獲取IP,用ipaddr命令,按提示手動IP
  • 設(shè)置開發(fā)板ip及TFTP服務(wù)器IP

=> setenv ipaddr 192.168.0.100
=> setenv serverip 192.168.0.26
=> saveenv
  • 再次測試是否連通電腦
=> ping 192.168.0.26
Using ethernet@02188000 device
host 192.168.0.26 is alive
  • 這回與電腦網(wǎng)絡(luò)通了
  • 測試下載rtthread.bin
=> dhcp 0x80001000 192.168.0.26:rtthread.bin;dcache flush;go 0x80001000

BOOTP broadcast 1

BOOTP broadcast 2

DHCP client bound to address 192.168.0.69 (520 ms)

Using ethernet@02188000 device

TFTP from server 192.168.0.26; our IP address is 192.168.0.69

Filename 'rtthread.bin'.

Load address: 0x80001000

Loading: #################################################################

#################################################################

#################################################################

###################

1.4 MiB/s

done

Bytes transferred = 1095360 (10b6c0 hex)

## Starting application at 0x80001000 ...


\ | /

- RT -  Thread Smart Operating System

/ | \  5.0.0 build May1 2022

2006 - 2020 Copyright by rt-thread team

lwIP-2.1.2 initialized!

[15] E/drv.enet: emac device init success

[20] I/I2C: I2C bus [i2c3] registered

[24] I/I2C: I2C bus [i2c4] registered

[73] I/SDIO: SD card capacity 7565312 KB.

found part[0], begin: 4194304, size: 7.216GB

[88] E/drv.enet: PHY Link down, please check the cable connection and link partner setting.

[138] I/SDIO: emmc card capacity 3817472 KB.

found part[0], begin: 2098176, size: 500.0MB

found part[1], begin: 526386176, size: 1.0GB

found part[2], begin: 1600128000, size: 10.0MB

found part[3], begin: 1610613760, size: [161] I/touch: rt_touch init success

[165] I/gt911: touch device gt911 init success

[171] I/sal.skt: Socket Abstraction Layer initialize success.

200.0MB

emmc file system initialization done!

sd0 file system initialization done!

open em failed!

hello rt-smart

msh />[3390] W/app.filesystem: sd card mount to '/mnt' failed!

[5130] D/drv.enet: enet1 link up

輸入命令,將 rt-smart 內(nèi)核固件文件 rtthread.bin,通過網(wǎng)絡(luò)加載至內(nèi)存中運行

命令格式:dhcpTFTP 服務(wù)器 IP(即,測試電腦 IP 地址):固件文件(xx.bin文件);dcache flush;go 固件入口地址

=> dhcp 0x80001000 192.168.0.26:rtthread.bin;dcache flush;go 0x80001000

BOOTP broadcast 1

BOOTP broadcast 2

DHCP client bound to address 192.168.0.69 (520 ms)

Using ethernet@02188000 device

TFTP from server 192.168.0.26; our IP address is 192.168.0.69

Filename 'rtthread.bin'.

Load address: 0x80001000

Loading: #################################################################

#################################################################

#################################################################

###################

1.4 MiB/s

done

Bytes transferred = 1095360 (10b6c0 hex)

## Starting application at 0x80001000 ...


\ | /

- RT -  Thread Smart Operating System

/ | \  5.0.0 build May1 2022

2006 - 2020 Copyright by rt-thread team

lwIP-2.1.2 initialized!

[15] E/drv.enet: emac device init success

[20] I/I2C: I2C bus [i2c3] registered

[24] I/I2C: I2C bus [i2c4] registered

[73] I/SDIO: SD card capacity 7565312 KB.

found part[0], begin: 4194304, size: 7.216GB

[88] E/drv.enet: PHY Link down, please check the cable connection and link partner setting.

[138] I/SDIO: emmc card capacity 3817472 KB.

found part[0], begin: 2098176, size: 500.0MB

found part[1], begin: 526386176, size: 1.0GB

found part[2], begin: 1600128000, size: 10.0MB

found part[3], begin: 1610613760, size: [161] I/touch: rt_touch init success

[165] I/gt911: touch device gt911 init success

[171] I/sal.skt: Socket Abstraction Layer initialize success.

200.0MB

emmc file system initialization done!

sd0 file system initialization done!

open em failed!

hello rt-smart

msh />[3390] W/app.filesystem: sd card mount to '/mnt' failed!

[5130] D/drv.enet: enet1 link up

yes 成功了

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

    關(guān)注

    3

    文章

    1360

    瀏覽量

    40185
  • TFTP
    +關(guān)注

    關(guān)注

    0

    文章

    20

    瀏覽量

    14314
  • Uboot
    +關(guān)注

    關(guān)注

    4

    文章

    125

    瀏覽量

    28125
  • i.MX6
    +關(guān)注

    關(guān)注

    1

    文章

    37

    瀏覽量

    16272
  • RT-Thread
    +關(guān)注

    關(guān)注

    31

    文章

    1261

    瀏覽量

    39837
收藏 人收藏

    評論

    相關(guān)推薦

    RT-Smart的資料合集

    基礎(chǔ),講解 RT-Smart啟動過程。內(nèi)核地址空間RT-SmartRT-Thread 的一大區(qū)別是用戶態(tài)和
    發(fā)表于 03-22 15:06

    [IMX6ULL]RT-Smart系統(tǒng)下的軟件移植筆記推薦

    1、RT-Smart系統(tǒng)下的LwIP移植關(guān)于 i.MX 6ULL 的啟動方式,已經(jīng)老生常談了。關(guān)于啟動過程的分析,網(wǎng)上能搜到一堆原理講解,不過不推薦把那個解釋當(dāng)作最佳答案,建議還是自行從手冊入手關(guān)于
    發(fā)表于 03-25 16:25

    D1哪吒開發(fā)板rt-smart內(nèi)核固件的燒寫與運行步驟

    前BSP需要簡單的修改才能保證編譯通過,這里注意講解 rt-smart 內(nèi)核固件的燒寫與運行搭建d1-allwinner-nezha 的 rt-smart 最小系統(tǒng)后,在ubuntu
    發(fā)表于 06-17 11:06

    基于RT-Thread操作系統(tǒng)衍生rt-smart實時操作系統(tǒng)簡介

    執(zhí)行。rt-smart 是一款高性能混合微內(nèi)核操作系統(tǒng),在傳統(tǒng)嵌入式操作系統(tǒng)劃分中,rt-smart 能夠填補傳統(tǒng) RTOS 和大型操作系統(tǒng) Linux 之間的空白,在實時性、成本、安全性、
    發(fā)表于 06-22 17:56

    如何實現(xiàn)一種基于Ubuntu Linux環(huán)境通過USB方式燒錄rt-smart內(nèi)核的設(shè)計呢

    提示設(shè)置IP,開發(fā)板要與Ubuntu處于同一網(wǎng)絡(luò))另外小記一下:通過 USB 方式燒錄 rt-smart 內(nèi)核(基于 Windows 環(huán)境)解壓放100ask_imx6ull_flashing_tool.exe那個工具下面,然后
    發(fā)表于 06-27 11:42

    【原創(chuàng)精選】RT-Thread征文精選技術(shù)文章合集

    專欄作者 :RT-thread簡介:簡介:RT-Thread X RISC-V 嵌入開發(fā),文章連載通過Uboot TFTP
    發(fā)表于 07-26 14:56

    rt-smart和master分支有哪些不同呢

    最近在調(diào)研rt-smart和master分支,有幾個感悟或者問題想和大家交流下:1.從代碼層次上看 文件目錄樹結(jié)構(gòu)貌似一樣,點開src核心代碼,每個文件差異較大。是否smart和master獨立維護
    發(fā)表于 10-14 10:52

    樹莓派上rt-smart的應(yīng)用編程入門

    我們從現(xiàn)在開始會逐步連載RT-Thread Smart(簡稱rt-smart,甚至有時會稱為smart os)的介紹文章,旨在讓大家認識,接觸到sm
    的頭像 發(fā)表于 05-13 14:10 ?3088次閱讀
    樹莓派上<b class='flag-5'>rt-smart</b>的應(yīng)用編程入門

    rt-smart移植分析:從樹莓派3b入手

    移植rt-smart到最新的板子上具體需要注意哪些細節(jié),哪些才是移植rt-smart的關(guān)鍵點?本文從樹莓派3b上移植rt-smart的角度,從頭分析rt-sm...
    發(fā)表于 01-25 18:48 ?0次下載
    <b class='flag-5'>rt-smart</b>移植分析:從樹莓派3b入手

    睿賽德科技微內(nèi)核操作系統(tǒng)rt-smart已支持Arm Mali GPU

    睿賽德科技今日宣布,其微內(nèi)核操作系統(tǒng) RT-Thread Smart(簡稱:rt-smart)已支持Arm Mali GPU,為實時操作系統(tǒng)在汽車、消費電子等GUI應(yīng)用領(lǐng)域提供一個新的
    的頭像 發(fā)表于 09-29 10:42 ?2015次閱讀

    優(yōu)雅的在D1S上運行RT-Smart

    -Thread Smart 是基于 RT-Thread 操作系統(tǒng)上的混合操作系統(tǒng),簡稱為 rt-smart,它把應(yīng)用從內(nèi)核中獨立出來,形成獨立的用戶態(tài)應(yīng)用程序,并具備
    的頭像 發(fā)表于 11-16 20:15 ?2745次閱讀

    絲滑的在RT-Smart用戶態(tài)運行LVGL

    開發(fā)流程 1、RT-Smart 環(huán)境搭建 下載 RT-Smart 用戶態(tài)應(yīng)用代碼: 1 git?clone?https: //github.com/RT-Thread/userapps.git
    的頭像 發(fā)表于 11-22 20:20 ?1199次閱讀

    RT-Smart riscv64匯編注釋

    -thread/tree/rt-smart 啟動 代碼路徑 libcpuisc-v-headc906startup_gcc.S /* ?*?Copyright?(c)?2006-2018,?RT
    的頭像 發(fā)表于 02-08 21:40 ?1088次閱讀

    零基礎(chǔ)上手rt-smart適配bsp

    RT-Thread Smart(簡稱rt-smart)是基于RT-Thread操作系統(tǒng)衍生,面向帶MMU(Memory Management Unit),中高端應(yīng)用的芯片,例如ARM
    的頭像 發(fā)表于 08-08 10:34 ?965次閱讀
    零基礎(chǔ)上手<b class='flag-5'>rt-smart</b>適配bsp

    RT-Smart riscv64匯編注釋

    rt-smart在全志D1上的代碼為例,主要注釋了rt-smart在riscv64上的系統(tǒng)初始化和異常處理的代碼
    的頭像 發(fā)表于 10-12 17:26 ?567次閱讀
    <b class='flag-5'>RT-Smart</b> riscv64匯編注釋