新唐火神板開箱實作(一):NuMaker-Volcano與NuEclipse IDE入門篇
一、前言
其實早在約兩年前(2018年)新唐科技就推出自家基於Eclipse的IDE,名為NuEclipse。它支援新唐Cortex-M系列微控制器,並包含OpenOCD可以直接在IDE內進行燒錄與debug,支援Windows與Linux作業系統,功能與業界常用的Keil MDK非常相似且可以免費使用。
最近新唐新推出一顆有CAN的便宜MCU,M0A23已經被我搶先拿到開發板了,也剛好有在做車用相關的專案。許多人都有問過我怎麼使用NuEclipse,這回我們就以CAN通訊為實驗主題,分個三到四篇寫一系列的NuEclipse的入門文章。我們拿到的NuMaker-Volcano上面是新唐M0A23EC1AC,是一顆Cortex-M0、32KB Flash、4KB SRAM的微控制器。內建48MHz的振盪器,在多數情況下無須外加石英晶體,讓TSSOP28的封裝擁有26個I/O。
順帶一提,新唐目前有和ARM簽約,只要是使用新唐Cortex-M0和M23的微控制器,也能免費、無限制的使用Keil MDK。細節可以參考新唐與MDK的網站。https://www.nuvoton.com/tool-and-software/ide-and-compiler/
https://www2.keil.com/nuvoton/M0-M23
二、準備工作
下面這些東西會在接下來的幾篇文章中用到。
1. 硬體
1. 新唐NuMaker-Volcano開發板
2. CAN Transceiver (我是用TI TCAN1042V-Q1,他的CAN bus 5V與數位信號的VIO是分開的)
3. Kvaser Leaf Light HS V2 (USB to CAN adapter,也可以用另一塊開發板收發CAN資料)
2. 軟體
1. Windows 10或Ubuntu 18.04 LTS的電腦,其他作業系統還沒試過
2. NuEclipse_V1.01.017
3. NuMicro_ICP_Programming_Tool_V3.05.7174r
4. NuMicro_ISP_Programming_Tool_V4.03
5. Kvaser Python module
6. Kvaser Linux Drivers and SDK
3. 韌體
1. M0A21_Series_BSP_CMSIS_V3.00.000,或者新唐的GitHub也可以下載到
三、安裝NuEclipse
1. 如果你的電腦是Windows 10,那就到新唐官網下載Windows版本的安裝檔,執行之後照著安裝精靈裝完就好了。
2. 如果你的電腦是Linux,那就下載Linux版本。下載完畢以後解壓縮,在terminal裡面cd到NuEclipse_V1.01.017_Linux_Setup的目錄下,然後./install.sh執行安裝的script,沒意外就會自動裝完(最後好像會要你開一下權限)。裝完之後再cd到eclipse的目錄下,./eclipse就可以執行NuEclipse。
四、建立專案
執行NuEclipse以後,選取左上方工具列File > New > C Project可以叫出下面這個畫面。我們取個喜歡的專案名稱,選擇Hello World Nuvoton Cortex-M C Project,然後按Next下一步。
接著會要選擇晶片、輸入程式記憶體(Flash)與資料記憶體(SRAM)的容量。這邊我們是用新唐M0A23EC1AC,跟M0A21是同一個系列。
後續幾個頁面用預設值就可以,最後就按Finsh。
按下Finsh後專案其實就建立好了,我們按下Welcome頁面中的Workbench,就可以看到剛剛新建的專案。
五、編譯
編譯前我們先設定一下輸出的格式。在工具列的Project > Properties > C/C++ Build > Settings > Cross ARM GNU Create Flash Image > General裡面,由預設的Intel HEX變更為Raw binary。
接下來我們就可以按下槌子開始編譯了。編完以後可以在下方Console看到Build Finished,往上拉可以看到其他細部的資訊。
接著我們用檔案管理器看一下專案下Debug的這一個目錄,應該就會有編出來的binary file。
六、燒錄
新唐近期出的NuMaker系列都有「隨身碟」 的燒錄功能。插上電腦會讀到一個磁碟機,名稱通常離不開Nuvoton、NuMicro、Nu之類的。這個磁碟機是由開發板旁邊的Nu-Link燒錄器產生的,如果沒有特殊需求不用額外安裝燒錄軟體(NuMicro ICP Programming Tool),往裡面丟binary file就會自動完成燒錄。
在這之前我們要確定一下開發板背後的指撥開關有沒有把燒錄器和M0A23EC1AC接通。可以用原子筆把指撥開關都撥到ON的位置。連同VCOM那邊也可以一起檢查,待會執行程式時會用到。不過新唐每一塊開發板燒錄器的指撥開關功能不見得相同,換不同板子之前最好先看一下User Manual。
所以我們就把剛剛編出來的VolCANo.bin複製進這一個磁碟機,幾秒鐘後磁碟機會短暫消失一下再出現,然後會發現剛複製進去的檔案不見了。不用擔心,這表示已經完成燒錄。如果燒錄不成功,會在磁碟機裡面出現另一個文字檔說明失敗原因。
七、執行並簡單驗證功能
我們剛剛編譯、燒進去M0A23EC1AC程式在做的事情是一個從UART print出Hello World。開發板上的Nu-Link燒錄器同時具備了USB to UART的功能,透過背後的指撥開關選擇是否要接通。
接著在電腦上打開Putty,然後選擇Serial,輸入正確的裝置以及Baudrate 115200後,按下Open。
然後我們按下開發板上的Reset按鈕,就可以看見Hello World了。
八、總結
其實上述這些內容大多數在NuEclipse的User manual都有寫,大家也可以去看看。User manual會在NuEclipse的安裝目錄下,可以找找看。
最後,如果對新唐的產品有興趣,歡迎加入這個與新唐GitHub同名,但非官方創立的臉書社群,大家一起討論,互相學習。
https://www.facebook.com/groups/OpenNuvoton
留言
張貼留言