在此感謝
RT-Thread是一款由中國開源社區主導開發的開源嵌入式實時作業系統(遵循GPLv2+許可協議,當標識產品使用RT-Thread時可以按照自由代碼非開源的方式應用在商業產品中),它包含實時嵌入式系統相關的各個組件:實時作業系統內核、TCP/IP協議棧、文件系統、libc接口、圖形引擎等。
RT-Thread實時作業系統是一個分層的作業系統,它包括了:
更詳細信息及開發文檔可在官網https://www.rt-thread.org獲取。
RT-Thread代碼開源在github及國內的碼雲,2個倉庫同步更新。2018年3月底最新版本為3.0.3。github倉庫地址:https://github.com/RT-Thread,碼雲倉庫地址:https://gitee.com/rtthread。
荔枝派Nano採用全志科技F1C100s ARM9內核SOC處理器,主頻408MHz,片內DDR達32MByte,支持UART、USB OTG、SPI、TWI、TP、SD/MMC、LCD、音視頻接口等眾多外設接口,是一款不可多得的高配低價開發板。荔枝派Nano相關資料可在:
https://pan.baidu.com/s/1smzuGS9下載。
同時荔枝派Nano在正式發售之前已經得到了Linux、RT-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開發過程中需要用到的git、python、scons、arm-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官方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目錄。
在Env工具下切換目錄至RT-Thread/bsp/allwinner_tina,並執行scons命令,即可編譯。
正確編譯完成後,會自動生成rtthread.bin文件。
RT-Thread荔枝派Nano在Windows下更新固件需通過rttbootloader引導,USB更新。rttbootloader下載只需1次即可,完成後即可通過「rtota工具」下載。在開始正式下載之前需要完成以下步驟:
荔枝派Nano在Windows下使用USB需要安裝驅動,驅動可在QQ群(711174828)空間下載或挖坑/填坑網F1C100S頁面(https://debugdump.com/t_444.html)下載。
1) 短接flash 1、4腳(當flash中無可引導代碼時無需此步驟)
2) 連接USB
此時如果在「設備管理器」中發現「無法識別」設備,那就是需要安裝USB驅動。驅動名為Zadig。
安裝完成後,即可在Windows下發現USB設備。
rttbootloader_f1c100s_v1.0.0.bin是RT-Thread適用於F1C100S的bootloader,使用rttbootloader後即可通過Flash,下載、啟動、運行RT-Thread,否則只能下載程序在Ram中運行,掉電後程序即丟失。
當前1.0.0版rttbootloader_f1c100s只支持8MByte及以上的Flash,並且Falsh地址已經固定。期待更新的1.0.1版本發布。
rttbootloader_f1c100s_v1.0.0.bin可在QQ群(711174828)空間下載或挖坑/填坑網F1C100S頁面(https://debugdump.com/viewtopic.php?pid=3924p3924)下載。
其中:
上一步驟已完成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),請連接至PC,rttbootloader默認波特率為115200。
在沒有下載RT-Thread應用固件或在啟動3秒內輸入鍵盤任意鍵,rttbootloader自動進入bootloader。
在rttbootloader模式下,使用env工具,輸入命令:rtota -u ./rtthread.rbl,開始下載。
同時輸入rtota,可獲取工具使用手冊
其中:
以上操作已將rtthread.bin下載至荔枝派Nano的flash中,每次重啟後,rttbootloader先行運行,然後啟動RT-Thread應用。
RT-Thread應用同樣使用Uart0設置為shell串口,將Uart0連接至PC,這樣就可以看到RT-Thread正常啟動後的Logo及荔枝派Nano的時鐘運行頻率等信息。
在msh命令行狀態下,輸入help或者TAB鍵,即可查看當前RT-Thread shell命令。