超低功耗微控制器模組為工程師帶來新機會—第1部分:Eclipse專案設定

作者:ADI 資深工程師Simon Bramble


摘要

本文將介紹超低功耗、功能豐富的微控制器模組,並解釋如何使用主流的免費工具對微控制器模組進行程式設計和除錯。這種模組與許多其他先進微控制器模組不同的是採用DIP封裝,因此專業工程師和業餘愛好者都能使用其輕鬆地進行原型設計。文章第1部分主要說明如何在Eclipse中創建項目,第2部分則會討論如何配置Eclipse以配合微控制器模組使用。

引言

儘管設計人員對微控制器微型化的不懈追求屢屢突破電子產品的性能極限,但也導致工程師和業餘愛好者在使用不斷縮小的封裝進行原型設計時面臨重重困難。雖然在設計中加入微控制器無疑會增加新的電路功能,但許多工程師仍然懷念以前大量元件採用DIP封裝的日子。如今更為先進的微控制器所採用的封裝大多無法用於原型設計,或者其評估套件尺寸很大,配備了許多不必要的元件。

本文介紹的MAX32625PICO微控制器模組對原型製作十分友善,尺寸非常精巧,由於仍採用DIP封裝,因此非常容易整合到測試PCB和量產PCB中。此外並將介紹如何使用主流的免費整合式開發環境(IDE) Eclipse進行程式設計和除錯,進而潛移默化地鼓勵工程師告別8位元處理器,同時依然保留DIP封裝。有關完整的入門操作指南,請參閱以下說明。

瞭解MAX32625PICO

圖1所示為MAX32625PICO,也稱為PICO。其包含MAX32625微控制器,這是一款超低功耗的32位元 Arm® Cortex®-M4處理器,具有512 kB快閃記憶體和160 kB SRAM,工作頻率高達96 MHz。PICO上的接腳配備了此款微控制器最實用的周邊功能,包括SPI介面、I2C埠、10位元ADC的兩個輸入、1-Wire介面和兩個UART。PICO並整合了MAX14750電源管理IC、RGB LED、按鈕開關、USB Micro B連接器和10接腳Cortex除錯接頭,並且可以直接從USB埠或外部5 V電源供電。此外,PCB兩側均有0.1英寸的焊墊,因此可以將接腳焊接到PICO上,進而使其能夠安裝在原型板上。如果需要表面黏著的解決方案,焊墊的敷銅直接延伸到電路板邊緣,因此PICO也可用於表面黏著元件使用。由於PICO夠小,因此可以插入任何設計中;同相對也同時夠大而能輕鬆進行原型設計。參見圖1。

Figure 1. The MAX32625PICO.
圖1.MAX32625PICO。

以下是對PICO進行程式設計和除錯所需的元件:

  • 兩個PICO
  • 兩根Micro B USB連接線(通常隨PICO提供)
  • 程式設計線,序號TC2050-IDC-NL-050

TC2050程式設計線的一端是10接腳連接器,另一端是彈簧式pogo接腳。該程式設計線僅在除錯過程中使用,或者在引導載入程式被覆蓋時用於對PICO重新程式設計。正常程式設計只需簡單拖放二進位檔案即可。

在Eclipse IDE中創建項目

PICO最初設計用於Mbed線上編譯器平台,但該平台現已停用。開源Eclipse IDE是一個開發平台,深受專業人士和業餘愛好者的歡迎,可作為Mbed的免費替代方案。本文將指導程式設計人員配置Eclipse,以生成二進位檔案,之後可使用Windows資源管理器將其直接拖放到目標硬體上。歡迎瀏覽本文末提供的連結,即可下載zip格式的設定檔。

Eclipse IDE可從MAX32625微控制器的專題網頁下載。導航到 工具和模擬部分,然後按一下 Low Power ARM Micro SDK (Win) 下載連結,下載並使用預設配置安裝Arm Cortex Toolchain IDE。

安裝後,選擇:

文件 -> 新建 -> Maxim Microcontrollers

如圖2所示。

Figure 2. Creating the first project.
圖2.創建第一個項目。

出現 創建項目 框時,確保項目名稱中沒有空格。

填寫 選擇專案配置 視窗,如圖3所示。

Figure 3. Project configuration. 
圖3.專案配置。

IDE如何與目標硬體通訊?

以下先介紹一下Eclipse內部的運行情況,這有助於理解除錯過程中可能出現的錯誤消息。IDE使用兩個程式與目標微控制器(本例中為PICO)進行通訊:GNU除錯器(GDB)和開放式晶片內除錯器(OpenOCD)。GDB是一種高階除錯工具,允許用戶逐行除錯代碼、設定中斷點和查看暫存器值。GDB與OpenOCD通訊,OpenOCD工具可將高階命令轉換為目標微控制器更容易理解的內容。GDB和OpenOCD都在PC上的Eclipse內部運行。PC和目標微控制器透過除錯器連接,除錯器可將命令轉換為微控制器的除錯埠能夠理解的電訊號。除錯埠具有兩種形式:分別為JTAG除錯埠、或其較低接腳數的版本——單線除錯(SWD)埠。得益於以上所有特性,程式設計人員能夠在實際目標硬體上逐行執行代碼,查看暫存器值的變化,而無需使用模擬器。

Eclipse IDE與GDB通訊,GDB與OpenOCD通訊,OpenOCD透過除錯器與目標PICO上的除錯埠通訊。GDB和OpenOCD包含在軟體發展套件(SDK)內,隨SDK自動安裝,並透過Eclipse調用。當PC和目標微控制器之間連接了除錯器後,Eclipse和PICO之間可實現無縫的端對端通訊。

在圖3所示的專案配置中,假設Eclipse IDE連接到使用JTAG埠的 MAX32625EVKIT。但是,PICO使用較低接腳數的SWD埠,而不是JTAG除錯器埠。因此,若要連接Eclipse IDE與PICO,可在PC和目標PICO之間再連接第二個PICO,以代替JTAG除錯器。為了把第二個PICO與運行最終代碼的目標PICO區分開來,在這裡將第二個PICO被稱為程式設計PICO。程式設計PICO需要透過名為DAPLink的程式載入,以便將來自PC的USB訊號轉換為PICO能夠理解的訊號。這個過程非常簡單,本文第2部分的「載入二進位檔案」中便提供了簡要的描述。

由於使用的是程式設計器PICO,而不是JTAG除錯器,因此在 選擇電源轉接器類型下方選擇 MAX32625_PICO。參見圖4。

Figure 4. Select adapter type.
圖4.選擇電源轉接器類型。

修改Eclipse以配合PICO使用

透過本文末的連結下載zip檔,然後解壓縮到合適的位置。找到名為

MAX32625PICO.cfg

的檔,將其複製到以下目錄:

C:\Maxim\Toolchain\share\openocd\scripts\target

該文件在原文件(MAX32625.cfg)基礎上進行了修改,支援使用第二個PICO來代替JTAG除錯器。該文件覆蓋了通常由JTAG除錯器發出的復位命令,並重設了目標微控制器的一些暫存器、程式計數器和堆疊指標。

新項目創建好後,在Eclipse的 專案瀏覽器 選項卡(左上角)中按右鍵項目名稱,並選擇:

除錯為 -> 除錯配置…

導航到左側功能表上的 GDB OpenOCD 除錯 ,並選擇目前項目。

除錯器 選項卡中,將CFG文件從 MAX32625.cfg 更改MAX32625pico.cfg,如圖5所示。

Figure 5. Pointing to the new config file.
圖5.指向新設定檔。

依次按一下 ApplyClose

專案瀏覽器視窗中,再次按右鍵專案名稱並選擇Properties。左鍵按一下C/C++ Build標題,然後在 Builder設定 選項卡下,確保 Build 命令顯示為:

make ECLIPSE=1 release

如圖6所示。該命令指示Eclipse生成可載入到PICO的二進位檔案(可執行程式)。

Figure 6. Generating the binary file.
圖6.生成二進位檔案

按一下 ApplyOK

配置Eclipse以包含其他檔

為了使Arm處理器更易於程式設計,微控制器的供應商提供了底層驅動程式,以使程式設計人員的程式碼能夠與微控制器內部的暫存器和周邊進行通訊。因此,程式設計人員無需擔心暫存器的控制,而可以專心研究最終應用的更高階功能。這些驅動程式被稱為通用微控制器軟體介面標準(CMSIS),是對MAX32625進行程式設計所需的檔層次結構。MAX32625微控制器的核心是Arm核心,需要用到一組檔對其進行配置。Arm核心周圍包含一組周邊(ADC、GPIO埠、計時器、計數器、SPI埠等),不同基於Arm的元件之間的區別在於不同的周邊構成。對周邊進行配置時也需要用到一組檔。Arm核心及其周邊共同構成了微控制器。然後,將元件安裝在電路板上,並連接到顯示幕、埠接頭、開關、LED和藍牙收發器等。同時需要另一組檔描述微控制器如何連接到電路板上的周圍元件。

從MAX32625的核心(Arm核心)開始向外展開,有一組檔用於配置Arm核心本身,然後有一組檔用於配置Arm核心周圍的周邊,最後有一組檔用於配置評估套件上微控制器周圍的元件。為了Eclipse能夠在編譯器時找到這些檔,需要對Eclipse進行配置。

在Eclipse內部的 Project Explorer視窗中,按右鍵專案名稱並選擇 Properties,然後展開 C/C++ General功能表,並導航到 Paths and Symbols 部分。在 Includes選項卡下,選擇 GNU C。使用 AddFile system按鈕,增加圖7所示的目錄。

Figure 7. Including external files.
圖7.包含外部檔。

增加了上述目錄後,按一下 ApplyOK

下文解釋了已包含的每個目錄的作用。

C:\Maxim\Firmware\MAX32625\Libraries\CMSIS\Include
該目錄包含MAX32625的Arm核心使用的檔。

C:\Maxim\Firmware\MAX32625\Libraries\CMSIS\Device\Maxim\MAX32625\Include
該目錄包含MAX32625的周邊/暫存器定義。

C:\Maxim\Firmware\MAX32625\Libraries\MAX32625PeriphDriver\Include
該目錄包含啟用MAX32625周邊所需的檔。

結語

本文第1部分講解如何在Eclipse中創建項目,並介紹對微控制器進行程式設計所需的軟體。第2部分討論了如何配置Eclipse以與PICO配合使用。

點擊此連結下載軟體檔案:https://www.analog.com/media/en/software/software-configuration/eclipse-configuration.zip