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
- 下載成功,我的網(wǎng)絡(luò)設(shè)置是正確的
輸入命令,將 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 成功了
聲明:本文內(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)注
4文章
1439瀏覽量
42596 -
TFTP
+關(guān)注
關(guān)注
0文章
24瀏覽量
14772 -
Uboot
+關(guān)注
關(guān)注
4文章
131瀏覽量
29863 -
i.MX6
+關(guān)注
關(guān)注
1文章
37瀏覽量
16757 -
RT-Thread
+關(guān)注
關(guān)注
32文章
1580瀏覽量
44512
發(fā)布評論請先 登錄
相關(guān)推薦
熱點推薦
RT-Smart的資料合集
基礎(chǔ),講解 RT-Smart 的啟動過程。內(nèi)核地址空間RT-Smart 與 RT-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)上能搜到一堆原理講解,不過不推薦把那個解釋當作最佳答案,建議還是自行從手冊入手關(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
rt-smart移植分析:從樹莓派3b入手
移植rt-smart到最新的板子上具體需要注意哪些細節(jié),哪些才是移植rt-smart的關(guān)鍵點?本文從樹莓派3b上移植rt-smart的角度,從頭分析rt-sm...
發(fā)表于 01-25 18:48
?0次下載
睿賽德科技微內(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)域提供一個新的
優(yōu)雅的在D1S上運行RT-Smart
-Thread Smart 是基于 RT-Thread 操作系統(tǒng)上的混合操作系統(tǒng),簡稱為 rt-smart,它把應(yīng)用從內(nèi)核中獨立出來,形成獨立的用戶態(tài)應(yīng)用程序,并具備
絲滑的在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
RT-Smart riscv64匯編注釋
-thread/tree/rt-smart 啟動 代碼路徑 libcpuisc-v-headc906startup_gcc.S /* ?*?Copyright?(c)?2006-2018,?RT
零基礎(chǔ)上手rt-smart適配bsp
RT-Thread Smart(簡稱rt-smart)是基于RT-Thread操作系統(tǒng)衍生,面向帶MMU(Memory Management Unit),中高端應(yīng)用的芯片,例如ARM
通過Uboot?TFTP啟動rt-smart內(nèi)核
評論