新唐火神板開箱實作(一):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

留言

這個網誌中的熱門文章

無法被取代的指針型三用電表(一):前言

關於新唐科技NuMicro ISP的介紹和使用方式