1.引言
RT-Thread Smart v5.1.0 已經正式發布。這一版本在內核和功能上做了大量的改進與增強。我們可以在ART-Pi Smart開發板盡情探索這一新版更完善更強大的RT-Thread Smart操作系統。ART-Pi Smart開發板搭載了米爾科技的i.MX6ULL核心板,硬件設計和制作由韋東山團隊完成,整體的BSP板級支持包由社區完成。這是首個運行 RT-Thread Smart 的 ARM Cortex-A7 開發板,具有強大的硬件性能和豐富的外設接口,非常適合學習,開發和調試RT-Thread Smart系統。
硬件規格情況
在ART-Pi Smart的板卡上包括了百兆以太網,TF卡插槽,USB device,USB host接口,以及RW007 WiFi模塊,Type-C的USB UART,RGB888 FPC座,Camera FPC座等資源。核心板上板載i.MX6ULL 800MHz ARM Cortex-A7單核32位處理器,512MB DDR3內存,4GB eMMC。
2. RT-Thread Smart v5.1.0 新體驗
RT-Thread v5.1.0 版本的 Smart 中帶來了諸多改進和新功能,以下是一些和Smart系統密切相關的主要新增特性和增強點:
● 更完善的libc支持:高性能互斥鎖 futex 和原生 libc 動態鏈接功能,使系統在多任務處理和內存管理上更高效。新增或修復了 setitimer、setaffinity 等API,提升了系統的靈活性和穩定性。
● 更完善的 POSIX 終端支持:
○ 完整的終端設備及偽終端設備支持
○ 可嵌套,支持作業控制,支持系統調用重啟的 POSIX 信號支持
○ 進程組和會話管理
○ 新的IPC方法 `rt_condvar`
○ dfsv2 devfs 支持符號鏈接等功能。
○ ……
這些特性不僅使 RT-Thread Smart 在功能上更加完善,同時也提升了系統的穩定性和性能,為開發者提供了更強大的工具和更多的可能性。
3. 快速上手
下面介紹如何在ART-Pi Smart開發板上運行v5.1.0版本RT-Thread Smart操作系統。
○ 搭建xmake編譯環境
對于RT-Thread Smart的開發,推薦使用Linux Ubuntu環境,也可以遠程使用Linux環境,在Windows桌面上使用VSCode登陸到Linux Ubuntu環境上使用。
在Linux Ubuntu下需要先安裝xmake環境
1sudoadd-apt-repositoryppa:xmake-io/xmake
2sudoaptupdate
3sudoaptinstallxmake
○ 應用編譯
拉取用戶態應用倉庫 https://github.com/RT-Thread/userapps.git 可以獲得一些示例程序工程。我們通過 xmake f 命令配置構建的目標平臺,使用 xmake 命令編譯構建工程,最后通過 xmake smart-rootfs -f fat 命令將構建完成的產物制作為 fat 格式的根文件系統鏡像。這個鏡像會在后面被燒錄到 sd 卡中使用。
1sourceenv.sh//設置環境變量
2//編譯app
3cdapps
4//配置為arm平臺
5xmakef-aarm
6xmake-j8
7//生成rootfs
8xmakesamrt-image-ffat
○ 內核編譯
前面xmake已經下載了工具鏈,工具鏈具體位置在這里(arm-smart-musleabi 路徑后的數字可能因為版本更新而不同)
1~/.xmake/packages/a/arm-smart-musleabi/211536-3de435f234/f5d0c3febbd2497fa950eb569871a3c0
進入bsp目錄 rt-thread/bsp/nxp/imx/imx6ull-smart
1#更新在線軟件包(主要涉及wifi軟件包)
2source~/.env/env.sh
3pkgs--update
4#編譯內核
5scons-j8
○ eMMC鏡像制作
ART-Pi Smart 支持 eMMC,SD,tftp 等方式啟動內核。我們以 eMMC 為例子說明。在 bsp 目錄下,可以看到 ./emmc/boot.fat文件。這是一個預先制作的 fat 文件系統鏡像,其中已經包含一些文件。我們創建 tmp 目錄,將 boot.fat 臨時本地掛載到 tmp 目錄下,使用tree命令可以看到如下的文件目錄結構。
1.
2├──boot.fat
3├──image
4│├──genimage
5│├──genimage.cfg
6│├──images
7││└──art-pi.img
8│├──input
9││├──boot.fat
10││└──u-boot-dtb.imx
11│├──root
12│└──tmp
13│└──root
14└──tmp
15├──bin
16│└──ash
17├──etc
18│└──inittab
19├──kernel
20│├──rtthread.bin
21│├──rtthread.elf
22│├──rtthread.img
23│└──rtthread.imx
24├──root
25│└──bin
26│└──hello.elf
27└──sbin
28└──init
●tmp/kernel下是內核相關文件
●tmp/sbin/init和tmp/bin/ash用來開機啟動ash
●tmp/root/bin是應用文件夾,可以放置一些自定義應用
每次更新內核/應用,可以參考以下腳本內容生成新的art-pi.img映像文件
1sudomount./boot.fat./tmp/
2sudorm-rftmp/kernel/*
3sudocp-r../rtthread.bintmp/kernel/
4sudocp-r../rtthread.elftmp/kernel/
5sudocp-r../rtthread.imgtmp/kernel/
6sudocp-r../rtthread.imxtmp/kernel/
7sudosync
8sudoumount./tmp
9sudocpboot.fatimage/input/
10cdimage
11mkdirroot
12rm-rftmp
13./genimage
art-pi.img位置在rt-thread/bsp/nxp/imx/imx6ull-smart/emmc/image/images目錄下
○ 鏡像燒寫
1. 首先準備一臺 Windows 測試電腦,下載 100ask_imx6ull 燒寫工具(由百問網提供)
a. 工具下載地址:
https://github.com/100askTeam/gui_for_nxp_uuu/blob/master/100ask_imx6ull%E7%83%A7%E5%86%99%E5%B7%A5%E5%85%B7/100ask_imx6ull_flashing_tool.exe
b. 100ask_imx6ull 燒寫工具需要到 GitHub 去下載,網絡不穩定。如果出現無法訪問或無法下載,請多刷新網頁多嘗試幾次
2. 將用于燒錄的 USB Type-C(上方口) 先連接到 Windows 測試電腦
3. 將另外一個 USB Type-C(下方口)也連接上 Windows 測試電腦,給開發板供電
4. 在測試電腦上,打開串口調試終端:115200 波特率、8位數據位、1位停止位、無奇偶校驗、無流控
5. 先拔掉 ART-Pi Smart 開發板上的 SD 卡(必須先拔掉 SD 卡)
6. 配置 ART-Pi Smart 開發板進入到 USB 固件下載模式
操作方法:開發板上電之后,先按下 "BOOT 啟動按鍵" 不松開,再按下 “RST 復位鍵”,即可切換到 USB 固件下載模式。
7.Windows 主機電腦上,打開燒錄工具 100ask_imx6ull_flashing_tool.exe,查看燒錄工具是否與ART-Pi Smart USB 連接成功
在燒寫軟件的專業版,燒寫制作的鏡像文件art-pi.img
○運行系統和應用
在運行系統之前,還有一件必不可少的工作 —— 準備根文件系統鏡像。根文件系統提供了應用程序運行的必要環境。前文提到,我們在 userapp 倉庫已經構建好了根文件系統。在前面我們以 eMMC 為例介紹了內核燒錄的方式。這里換一種方式,我們以 SD/TF 卡為例子介紹根文件系統。
首先準備一張SD/TF卡,在Linux下為其創建一個大于1GB的分區作為第一分區,在userapp/apps/build下使用sudo dd if=fat.img of=/dev/sdb1命令將根文件系統燒入SD/TF卡中(這里的sd*根據自己SD/TF卡所在位置來設置):
系統上電后我們進入 uboot 并將 bootcmd 修改如下。
1bootcmd=fatloadmmc1:10x80001000/kernel/rtthread.bin;dcacheflush;go0x80001000
將SD卡插入再重新啟動開發板后使用mount sd01 /mnt 將SD卡掛載到處我們的mnt目錄下,進入mnt目錄即可看到我們剛剛用userapp制作好的文件系統。
進入/mnt/bin目錄下可以看到該目錄下已經包含了一些可執行程序。以 hello 程序為例子,輸入命令執行程序,將得到如下輸出。
-
操作系統
+關注
關注
37文章
6848瀏覽量
123428 -
開發板
+關注
關注
25文章
5081瀏覽量
97692 -
ART
+關注
關注
0文章
26瀏覽量
10494 -
RT-Thread
+關注
關注
31文章
1294瀏覽量
40230
發布評論請先 登錄
相關推薦
評論