Nuvoton M487 微控制器基本操作、前置作業

Harry
Sep 2, 2021
外包裝
開箱照
M487模樣

開發環境:MDK535 Microcontroller Development Kit (下載網址)

註冊帳號之後再下載,個人使用者身分可以照常註冊並下載

目標檔案叫做MDK535.EXE

下載完成後,執行並安裝。

MDK535.EXE安裝完成之後,下載M487的Driver(驅動程式)

下載網址:Nu-Link_Keil_Driver

安裝完成之後使用Type-B的傳輸線(有些線只有充電功能不具備傳輸功能)把PC與M487連接起來

PC 與M487 串列連接

就緒後,開啟裝置管理員看看連接埠裡面有沒有跑出Nu-Link之類的Com Port

查看是否成功辨識到

接下來把這個範例程式集下載下來

載下來後照著順序開進去

路徑圖

接下來開啟應該會長這樣

進入專案

如下圖所框選區域

子程式區

藍色:關於這型號板子的CMSIS設定檔

綠色:這個範例所引用到的函式庫(Library)

紅色:主程式(Main Program)

CMSIS(Common Microcontroller Software Interface Standard):是對於那些基於ARM Cortex處理器的微控制器獨立於供應商的抽象層。CMSIS 定義通用工具接口並實現一致的設備支持。CMSIS 軟體接口簡化了軟體重用,縮短了微控制器開發人員的學習曲線,並縮短了新設備的上市時間。

CMSIS 提供與處理器和外圍設備、實時操作系統和中間件組件的接口。CMSIS 包括設備、電路板和軟體的交付機制,並支持來自多個供應商的軟件組件的組合。

簡單理解,就是這塊板子該怎麼使用人家統一的規格與市面上使用該標準的設備軟體對接!

大多數微控制器的晶片都是ARM架構設計,ARM架構有著低成本以及高能源效率的微處理器而優化設計的特點,能夠以最低功耗性能比完成任務,M487這張的核心晶片是採用Cortex-M4架構的,維基百科有詳細介紹。

我目前的認知是,有DSP指令可調用,在做音訊處理,在成千上萬點的離散數據做傅立葉轉換等數學處理的時候,會用到大量重複的加法乘法,而DSP是最佳化處理加乘任務的一個結構。

DSP(Digital Signal Processor):數位訊號處理器

以下是節錄自維基百科片段

數據運算指令

  • 使用飽和運算,在這種方式中,會產生溢位的運算將累積至暫存器可容納的最大(或最小)值,而不是按環繞方式(環繞方式是很多通用CPU採取的方式。在環繞方式中,暫存器的數值到達最大值後再加一則會繞回到最小值;而使用飽和演算法時則不會發生這種環繞,運算結果仍將保持為最大值)。有些情況下可使用不同的粘滯位運算模式。
  • 使用乘積累加(MAC)運算,這會提高各種矩陣運算的效率(例如卷積運算、點積運算、乃至矩陣多項式的求值運算;參看Horner scheme積和熔加運算)。由於在許多DSP中都必然地使用了單週期的MAC部件,因此也自然沿襲了下面所述的許多性質(尤其是哈佛結構指令流水線)。
  • 在使用同餘定址方式操作循環緩衝器、以及在使用逆位序定址模式處理快速傅立葉變換交叉參照時,都可使用專門的指令實現。
操作介面

接下來按下左邊紅色框框的圖案(icon)進行編譯,編譯完成之後,底下的Build Output應該是0 error。

0 Error(s),0 Warning(s)

阿,BTW,這個MDK(編譯軟體),要取得License到專業試用版,才能建置、編譯相對大的程式,每個月記得辦新帳號,重刷一次License….

Load To M487

按下藍色框框的Load icon 把程式燒錄進去M487板板上,燒好的話,Build Output畫面應該長這樣。

Load finished

嘿,我們剛剛燒進去的程式是Hello,World的範例,總之就是板板跟你說你好。

Hello World

然後載Putty,開起來選好COM(從裝置管理員看),設定好Serial模式,填入正確的鮑率(115200)

Putty

然後Open按下去,會跳出一個黑黑的指令視窗。

その時

按下Reset鍵

Reset鍵

然後你的黑黑視窗就會看到,來自板子的問候。

以上です

--

--