Windows下通過 UbootTFTP 方式下載和啟動rt-smart 內(nèi)核
i.MX6ULL 系列處理器啟動方式多樣,啟動時會首先執(zhí)行芯片內(nèi)部 Boot ROM 中的程序。Boot ROM 會根據(jù) BOOT_MODE 寄存器、eFUSEs、配置管腳等狀態(tài)來決定啟動模式以及啟動設備。故在啟動前,用戶可根據(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 復位鍵”,即可切換到 USB 固件下載模式。
我選擇通過 UbootTFTP 方式下載和啟動rt-smart 內(nèi)核
- 首先下載并安裝 Tftpd64 工具 (查看附件有安裝包)
-
在測試電腦上,提前設置好 TFTP 服務器,并配置目錄定位到 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ā)板復位并進入到 “uboot 啟動” 倒計時
-
在進入 “uboot 啟動” 倒計時結束之前,按下鍵盤任意鍵,進入到手動模式
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 啟動” 倒計時結束之前,按下鍵盤任意鍵,進入到手動模式)
=>
-
這樣已經(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
-
設置開發(fā)板ip及TFTP服務器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)絡通了
-
測試下載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
- 下載成功,我的網(wǎng)絡設置是正確的
輸入命令,將 rt-smart 內(nèi)核固件文件 rtthread.bin,通過網(wǎng)絡加載至內(nèi)存中運行
命令格式:dhcpTFTP 服務器 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](https://file.elecfans.com//web2/M00/4E/D7/pYYBAGK9J8KAI0BSAADIu9jNmHk012.png)
-
內(nèi)核
+關注
關注
3文章
1384瀏覽量
40442 -
TFTP
+關注
關注
0文章
21瀏覽量
14358 -
Uboot
+關注
關注
4文章
125瀏覽量
28362 -
i.MX6
+關注
關注
1文章
37瀏覽量
16359 -
RT-Thread
+關注
關注
31文章
1306瀏覽量
40431
發(fā)布評論請先 登錄
相關推薦
RT-Smart的資料合集
[IMX6ULL]RT-Smart系統(tǒng)下的軟件移植筆記推薦
D1哪吒開發(fā)板rt-smart內(nèi)核固件的燒寫與運行步驟
基于RT-Thread操作系統(tǒng)衍生rt-smart實時操作系統(tǒng)簡介
如何實現(xiàn)一種基于Ubuntu Linux環(huán)境通過USB方式燒錄rt-smart內(nèi)核的設計呢
【原創(chuàng)精選】RT-Thread征文精選技術文章合集
rt-smart和master分支有哪些不同呢
樹莓派上rt-smart的應用編程入門
![樹莓派上<b class='flag-5'>rt-smart</b>的應用編程入門](https://file.elecfans.com/web1/M00/EF/47/pIYBAGCcw_iABaJUAABIAMzjPho193.png)
rt-smart移植分析:從樹莓派3b入手
![<b class='flag-5'>rt-smart</b>移植分析:從樹莓派3b入手](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
睿賽德科技微內(nèi)核操作系統(tǒng)rt-smart已支持Arm Mali GPU
優(yōu)雅的在D1S上運行RT-Smart
絲滑的在RT-Smart用戶態(tài)運行LVGL
RT-Smart riscv64匯編注釋
零基礎上手rt-smart適配bsp
![零基礎上手<b class='flag-5'>rt-smart</b>適配bsp](https://file1.elecfans.com/web2/M00/8F/B3/wKgaomTRqa-AWXQuAAGBIMyA6Sw417.jpg)
評論