NUC980 & RT-Thread
(1) NUC980nuc980 是新塘推出的基於 ARM926EJ-S,整合 64 MB 或 128 MB DDR-II 的處理器,主頻可以達到300MHZ,有 64-pin、128-pin 和 216-pin LQFP 封裝,主要應用為工業自動化控制、工業物聯網閘道器 ( Gateway ) 、網路印表機裝置、電錶集中器、智慧家居閘道。
(2) RT-Thread
RT-Thread 是一個國產的 RTOS ,詳細資訊檢視 RT-Thread 官網
開發環境
- Win10
- 編譯器:GCC,這裡使用 RT-Thread 提供的 RT-Thread env 中的 GCC
硬體
我手上的硬體是官方出的 NuMaker-RTU-NUC980:
該板子上使用的是 NUC980DR61YC ,內建 64MB DDR,LQFN 64 封裝。
下載 RT-Thread env
可以在 https://www.rt-thread.org/page/download.html 找到 RT-Thread env 下載地址:
下載解壓出來後為:
裡面的 Env_User_Manual_zh.pdf 有該工具的使用說明
獲取 RT-Thread
(20210526)看了下 RT-Thread 已 release 的最新的版本,雖然已經對 NUC980 進行支援,可是沒有 NuMaker-RTU-NUC980 的工程,不過 RT-Thread github 中最新的程式碼已經有了:這裡選擇從 rt-thread github 下載原始碼:
編譯
下載完 RT-Thread 後,首先進入目錄 rt-thread\bsp\nuvoton\nk-rtu980,然後右鍵開啟 RT-Thread env,或者開啟 RT-Thread env,然後進入目錄 rt-thread\bsp\nuvoton\nk-rtu980,如下:
這裡什麼都不做改動,直接使用預設配置,在 RT-Thread env 中 執行 menuconfig --generate,生成配置:
然後更新 rt-thread 包,並下載所使用軟體包:
然後執行 scons 指令進行編譯:
燒錄執行
板子上一共有2 個 micro usb 介面,一個用於是連線到 nuc980 usb,可以用於給 nuc980 下載韌體,還有一個USB是連線到板子上的 USB 轉 TTL,可以用於除錯,把NUC980 設定為 USB 啟動進入下載模式,然後分別把這兩個 USB 口都連線到 PC,使用 MobaXterm 開啟對應 COM口,,開啟 NuWriter,選擇 NUC980DR61YC,這裡讓 RT-Thread 在 nuc980 RAM上跑,如下:下載,然後可以看到 RT-Thread 已經執行起來了,並且板子上一個 LED 也閃爍起來了:
把 RT-Thread 跑起來了,看了官方給出的 nuc980 支援的儲存裝置(Storage_Supporting_List),如果是 SPI NOR Flash 的話,最大支援 256M bit,也就是 32M 位元組,nuc980 支援的最少的 DRAM 也有 64M 位元組,這麼大的 Flash 跟 RAM,如果是當微控制器跑的話,嘿嘿,那真的是可以為所欲為了: