玩轉RT-Thread之荔枝派Nano(全志F1C100S) 新手上路

玩轉RT-Thread之荔枝派Nano(全志F1C100S)

一、新手上路

--作者:燕十三(flyingcys)  blog:http://blog.csdn.net/flyingcys

--荔枝派nano/RTT非官方羣:711174828


在此感謝

  • RT-Thread官方成員@uestczyh222提供的荔枝派Nano內核移植、rttbootloader文件、rtota等一系列工具。
  • 挖坑/填坑網https://debugdump.com/站長@暈哥,默默的爲我們收集各種荔枝派Nano相關的資訊、工具。

 

RT-Thread是一款由中國開源社區主導開發的開源嵌入式實時操作系統(遵循GPLv2+許可協議,當標識產品使用RT-Thread時可以按照自由代碼非開源的方式應用在商業產品中),它包含實時嵌入式系統相關的各個組件:實時操作系統內核、TCP/IP協議棧、文件系統、libc接口、圖形引擎等。

 

RT-Thread實時操作系統是一個分層的操作系統,它包括了:

  • 底層移植、驅動層,這層與硬件密切相關,由DriversCPU移植相構成。
  • 硬實時內核,這層是RT-Thread的核心,包含了內核系統中對象的實現,例如多線程機器調度,信號量,郵箱,消息隊列,內存管理,定時器等實現。
  • 組件層,這些是基於RT-Thread核心基礎上的外圍組件,例如文件系統,命令行shell接口,LwIP輕型TCP/IP協議棧,GUI圖形引擎等。

更詳細信息及開發文檔可在官網https://www.rt-thread.org獲取。

RT-Thread代碼開源在github及國內的碼雲,2個倉庫同步更新。20183月底最新版本爲3.0.3github倉庫地址:https://github.com/RT-Thread,碼雲倉庫地址:https://gitee.com/rtthread

荔枝派Nano採用全志科技F1C100s ARM9內核SOC處理器,主頻408MHz,片內DDR32MByte,支持UARTUSB OTGSPITWITPSD/MMCLCD、音視頻接口等衆多外設接口,是一款不可多得的高配低價開發板。荔枝派Nano相關資料可在:

https://pan.baidu.com/s/1smzuGS9下載。

     


   

同時荔枝派Nano在正式發售之前已經得到了LinuxRT-Thread等操作系統支持。RT-Thread是率先完成荔枝派Nano移植的嵌入式實時RTOS操作系統,代碼已經合併進RT-Thread官方github倉庫,github地址爲:

https://github.com/RT-Thread/rt-thread/tree/master/bsp/allwinner_tina

一、開發環境搭建

windows下使用RT-Thread進行荔枝派Nano開發,推薦使用RT-Thread Env工具。RT-Thread Env工具包括配置器和包管理器,用來對內核和組件的功能進行配置,對組件進行自由裁剪,對線上軟件包進行管理,使得系統以搭積木的方式進行構建,簡單方便。

同時Env工具自帶RT-Thread開發過程中需要用到的gitpythonsconsarm-none-eabi-gcc等多種工具。

Env工具可在RT-Thread官網->“資源”->“下載”頁面下載,下載地址:

https://www.rt-thread.org/page/download.html

 

Env自帶的arm-none-eabi-gcc正是荔枝派Nano使用的交叉編譯器,Env工具已經幫我們配置好環境變量,可直接使用。Env工具使用請參照Env工具包內使用說明。

 

二、RT-Thread編譯與運行

1. RT-Thread下載

RT-Thread官方github地址爲:https://github.com/RT-Thread/rt-thread。在Env工具下使用:git clone https://github.com/RT-Thread/rt-thread.git。RT-Thread荔枝派Nano源碼文件位於RT-Thread/bsp/allwinner_tina目錄。

2. RT-Thread編譯

Env工具下切換目錄至RT-Thread/bsp/allwinner_tina,並執行scons命令,即可編譯。 

正確編譯完成後,會自動生成rtthread.bin文件。

 

3. rttbootloader下載

RT-Thread荔枝派NanoWindows下更新固件需通過rttbootloader引導,USB更新。rttbootloader下載只需1次即可,完成後即可通過“rtota工具”下載。在開始正式下載之前需要完成以下步驟:

(1) USB驅動安裝

荔枝派NanoWindows下使用USB需要安裝驅動,驅動可在QQ(711174828)空間下載或挖坑/填坑網F1C100S頁面(https://debugdump.com/t_444.html)下載。

1) 短接flash 14(flash中無可引導代碼時無需此步驟)

2) 連接USB

此時如果在“設備管理器”中發現“無法識別”設備,那就是需要安裝USB驅動。驅動名爲Zadig

 

安裝完成後,即可在Windows下發現USB設備。

(2) rttbootloader下載

rttbootloader_f1c100s_v1.0.0.binRT-Thread適用於F1C100Sbootloader,使用rttbootloader後即可通過Flash,下載、啓動、運行RT-Thread,否則只能下載程序在Ram中運行,掉電後程序即丟失。

當前1.0.0rttbootloader_f1c100s只支持8MByte及以上Flash,並且Falsh地址已經固定。期待更新的1.0.1版本發佈。

rttbootloader_f1c100s_v1.0.0.bin可在QQ(711174828)空間下載或挖坑/填坑網F1C100S頁面(https://debugdump.com/viewtopic.php?pid=3924#p3924)下載。

rttbootloader下載依賴sunxi-toolssunxi-tools可在QQ(711174828)空間下載或挖坑/填坑網F1C100S頁面(https://debugdump.com/t_444.html)下載。

1) 短接flash 14(flash中無可引導代碼時無需此步驟)

2) 連接USB

3) evn工具下輸入sunxi-fel -p spiflash-write 0 rttbootloader_f1c100s_v1.0.0.bin.bin

此時可看到下載進度條,並等待下載完成。下載完成後請斷開flash14腳。

 

4. RT-Thread固件下載

1) OTA固件製作

RT-Thread OTA固件製作依賴“RT-Thread OTA固件打包器”,通過打包器製作出在rttbootloaer下可被識別並更新的固件。

RT-Thread OTA固件打包器”可在QQ(711174828)空間下載或挖坑/填坑網F1C100S頁面(https://debugdump.com/viewtopic.php?pid=3924#p3924)下載。

 

其中:

  • 選擇固件:爲之前RT-Thread源碼bspallwinner_tina目錄編譯完成後的rtthread.bin文件。
  • 保存路徑:可自由設置保存路徑,OTA固件名與選擇固件名一致,後綴爲.rbl
  • 固件名稱:必須設置爲app
  • 固件版本:可根據實際情況輸入。
  • 其他選項爲默認。

 

2) OTA固件更新

上一步驟已完成rttbootloader下載至spiflash中,同時已經生成OTA固件。此時需要將荔枝派Nano啓動至rttbootloader狀態,否則無法更新OTA固件。

OTA固件更新使用“rtota工具”,該工具通過windows命令行執行,可直接在Env工具下運行。期待windows圖形工具發佈!!!

rtota工具”可在可在QQ(711174828)空間下載或挖坑/填坑網F1C100S頁面

(https://debugdump.com/viewtopic.php?pid=3924#p3924)下載

rttbootloader已將Uart0設置爲shell串口,Uart0在荔枝派Nano中分別爲PE0(Rx0)PE1(Tx0),請連接至PCrttbootloader默認波特率爲115200

 

在沒有下載RT-Thread應用固件或在啓動3秒內輸入鍵盤任意鍵,rttbootloader自動進入bootloader

 

rttbootloader模式下,使用env工具,輸入命令:rtota -u ./rtthread.rbl,開始下載。

 

同時輸入rtota,可獲取工具使用手冊

 

其中:

  • -u:下載至flash
  • -R:下載至ram運行。

5. 運行

以上操作已將rtthread.bin下載至荔枝派Nanoflash中,每次重啓後,rttbootloader先行運行,然後啓動RT-Thread應用。

RT-Thread應用同樣使用Uart0設置爲shell串口,將Uart0連接至PC,這樣就可以看到RT-Thread正常啓動後的Logo及荔枝派Nano的時鐘運行頻率等信息。

msh命令行狀態下,輸入help或者TAB鍵,即可查看當前RT-Thread shell命令。

 

下集預告:

玩轉RT-Thread之荔枝派Nano

二、uart應用

敬請期待!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章