久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 超低功耗微控制器模塊為工程師帶來新的機(jī)遇——第2部分:配置Eclipse

超低功耗微控制器模塊為工程師帶來新的機(jī)遇——第2部分:配置Eclipse

作者: 時間:2026-04-30 來源: 收藏

摘要

本文繼續(xù)介紹超低功耗、功能豐富的微控制器模塊,并解釋如何使用主流的免費(fèi)工具對其進(jìn)行編程和調(diào)試。與許多其他高端微控制器模塊不同,該模塊采用DIP封裝,因此專業(yè)工程師和業(yè)余愛好者都能使用它輕松設(shè)計(jì)原型。第1部分說明了如何在Eclipse中創(chuàng)建項(xiàng)目,第2部分將說明如何以配合PICO使用。

重新以配合PICO硬件使用

第1部分中創(chuàng)建的項(xiàng)目是圍繞MAX32625EVKIT硬件而設(shè)計(jì)的,該硬件與PICO的硬件不同,因此需要更改評估套件的硬件描述文件以適配PICO的硬件。原始的boards.c文件存儲在以下目錄中:

C:MaximFirmwareMAX32625LibrariesBoardsEvKit_V1Source

PICO的新boards.c文件以zip文件的格式存儲,讀者可以點(diǎn)擊本文末尾的鏈接下載,需要將zip文件中的整個Boards目錄復(fù)制到保存主程序的目錄中,如圖1所示。該目錄描述了PICO PCB所包含的組件。

 

圖1.定位Boards目錄。

PICO包含一個引導(dǎo)加載程序,以使程序能夠正常運(yùn)行。引導(dǎo)加載程序還允許使用拖放的方式加載二進(jìn)制文件。如果使用默認(rèn)設(shè)置將程序加載到MAX32625中,則Eclipse會覆蓋此引導(dǎo)加載程序。鏈接器文件max32625.ld會將所有程序整合成一個二進(jìn)制文件,以便加載到主機(jī)微控制器中。它還會確定將程序加載到內(nèi)存的哪個位置,因?yàn)榇宋恢眯枰薷模悦飧采w引導(dǎo)加載程序。修改后的鏈接器文件包含在下載的zip文件中。

將鏈接器文件復(fù)制到project目錄,如圖1所示。存儲在project目錄中的Makefile會向編譯器發(fā)出指示,以便其找到鏈接器文件和Boards目錄。因此需對Makefile進(jìn)行編輯,以確保指向修改后的鏈接器文件和Boards目錄的最新位置。將zip文件中的新Makefile復(fù)制到project目錄中(如圖1所示)以覆蓋原始文件。

在新的Boards目錄中,可以找到修改后的board.c文件(位于目錄EvKit_V1Source),它描述了PICO上的微控制器與LED和按鈕的連接關(guān)系。通過比較圖2中的代碼與圖3中的PICO原理圖,可以很容易看出其結(jié)構(gòu)。

 

圖2.LED和按鈕配置。

 

圖3.LED和按鈕原理圖。

boards.c文件也經(jīng)過了大量修改,以使PICO能夠?qū)?shù)據(jù)打印到終端程序(如Tera Term),這對于調(diào)試過程非常有用。如果使用打印功能,請配置終端程序以115200的波特率進(jìn)行通信,如圖4所示。

 

圖4.Tera Term設(shè)置。

引導(dǎo)加載程序可以使一些外設(shè)處于部分配置狀態(tài),board.c中的其他代碼可在初始化期間將其重置,如圖5所示。

 

圖5.引導(dǎo)加載程序初始化。

最后,PICO使用與評估套件不同的電源管理IC。但是,PICO的電源管理IC不需要編程,它以默認(rèn)設(shè)置運(yùn)行,因此新的board.c文件中已刪除了相關(guān)配置的代碼行。

構(gòu)建最終項(xiàng)目

zip文件包含一個示例程序,即Template文件夾中的main.c,它能檢測PICO上的按鈕何時被按下,然后讓RGB LED閃爍,并通過SPI端口發(fā)送2字節(jié)的數(shù)據(jù),再通過UART發(fā)送1字節(jié)的數(shù)據(jù),最后在終端程序上打印Hello from the PICO。將此程序復(fù)制到project目錄中以覆蓋原程序。如代碼注釋所示,main.c代碼從MAX32625項(xiàng)目目錄中的許多示例程序中復(fù)制而來。這將為用戶創(chuàng)建最終應(yīng)用程序代碼奠定了基礎(chǔ)。

單擊錘子符號構(gòu)建項(xiàng)目,如圖6所示。如果Eclipse中打開了多個項(xiàng)目,將鼠標(biāo)懸停在錘子符號上,用戶就能知道即將構(gòu)建哪個項(xiàng)目。

 

圖6.構(gòu)建項(xiàng)目。

項(xiàng)目的build目錄中現(xiàn)在應(yīng)該出現(xiàn)了如圖7所示的二進(jìn)制文件。

 

圖7.二進(jìn)制文件的位置。

此時,最好將build目錄添加到Windows資源管理器的快速訪問欄中,使得PICO的編程過程更加非常方便。右鍵單擊build目錄,選擇“固定到快速訪問”(Pin to Quick access),目錄將出現(xiàn)在Windows資源管理器左側(cè)的“快速訪問”(Quick access)欄中。

加載二進(jìn)制文件

需要注意的是,編程線纜僅用于調(diào)試目標(biāo)PICO,以及在引導(dǎo)加載程序被覆蓋時對該器件重新編程。加載二進(jìn)制文件不需要使用編程線纜,只需拖放即可。

按住PICO上的按鈕,將其插入U(xiǎn)SB端口。PICO應(yīng)該作為新驅(qū)動器出現(xiàn),名稱為MAINTENANCE,如圖8所示。

 

圖8.MAINTENANCE驅(qū)動器。

將二進(jìn)制文件拖放到MAINTENANCE驅(qū)動器上,從而加載文件。文件加載到PICO后,MAINTENANCE驅(qū)動器就會消失,PICO將重新啟動,并且程序?qū)㈤_始運(yùn)行。

在代碼開發(fā)的早期階段,程序不太可能按預(yù)期運(yùn)行,甚至根本無法運(yùn)行。如果需要調(diào)試目標(biāo)PICO上的軟件(包括單步調(diào)試或在運(yùn)行至斷點(diǎn)),則需要使用接口軟件對第二個編程器PICO進(jìn)行編程,以使其能夠在PC與目標(biāo)PICO之間建立連接。該編程器PICO向目標(biāo)PICO發(fā)出指令以啟動和停止目標(biāo)PICO的執(zhí)行,從而讓Eclipse能夠?qū)拇嫫鬟M(jìn)行檢查。

要配置第二個編程器PICO,請?jiān)趜ip文件中找到DAPLink Interface Binary目錄,并定位其中的二進(jìn)制文件。斷開第二個編程器PICO與USB端口的連接,然后按住編程器PICO上的按鈕,同時將其重新插入U(xiǎn)SB端口。如前所述,此時應(yīng)該出現(xiàn)一個名為MAINTENANCE的驅(qū)動器。將DAPLink Interface Binary目錄下的二進(jìn)制文件(max32625_max32625pico_if_crc.bin)拖到MAINTENANCE驅(qū)動器。這將使用接口軟件配置編程器PICO,并允許使用Eclipse單步執(zhí)行目標(biāo)代碼。完成上述操作后,MAINTENANCE驅(qū)動器應(yīng)該消失,編程器PICO將重新啟動,并會出現(xiàn)一個DAPLINK驅(qū)動器。在此階段,建議將編程線纜連接到編程器PICO,以將其與目標(biāo)PICO區(qū)分開來。

如何調(diào)試目標(biāo)代碼

將編程線纜連接到編程器PICO上的10路接插件,將另一端的pogo連接器按到PICO背面的焊盤上,確保將對準(zhǔn)銷插入PICO上的孔中,如圖9所示。

 

圖9.將編程器連接至目標(biāo)。

將鼠標(biāo)懸停在Eclipse中的debug圖標(biāo)上(如圖10所示),確認(rèn)當(dāng)前調(diào)試的項(xiàng)目是否正確。界面上會顯示當(dāng)前項(xiàng)目的名稱。

 

圖10.構(gòu)建項(xiàng)目。

單擊debug圖標(biāo),同時保持pogo連接器連接到PICO。程序?qū)⑦M(jìn)行編譯,然后在代碼開始處暫停。按下鍵盤上的F8將啟動調(diào)試過程。

用戶只需雙擊Eclipse中代碼的行號,就能插入斷點(diǎn)。

現(xiàn)在,用戶可以調(diào)試代碼。要檢查寄存器,請?jiān)贓clipse菜單中選擇

Window > Show View > Other…

然后展開Debug文件夾,選擇所需的視圖。

一旦確定代碼能夠正常運(yùn)行,就可以保存該項(xiàng)目,將其作為未來項(xiàng)目的模板。

如何恢復(fù)損壞的PICO

PICO帶有預(yù)安裝的引導(dǎo)加載程序,支持拖放編程。插入PICO時,如果MAINTENANCE和DAPLINK驅(qū)動器都沒有出現(xiàn),那么很可能是引導(dǎo)加載程序已被覆蓋。通過以下步驟可以恢復(fù)引導(dǎo)加載程序。

? 插入編程器PICO,查看DAPLINK驅(qū)動器是否出現(xiàn)。

? 插入損壞的PICO。

? 將編程線纜的彈簧連接器抵住損壞的PICO背面的焊盤,確保將對準(zhǔn)銷插入PICO上的孔中。

? 導(dǎo)航到Bootloader Binary目錄,將引導(dǎo)加載程序文件(max32625pico_bl.bin)拖到DAPLINK驅(qū)動器。需要注意的是,該二進(jìn)制文件被復(fù)制到了編程器PICO創(chuàng)建的驅(qū)動器,而不是目標(biāo)PICO創(chuàng)建的驅(qū)動器。編程器PICO用作管道,通過編程線纜將二進(jìn)制文件傳送到目標(biāo)PICO。

? 用戶按住已修復(fù)PICO上的按鈕并插入該P(yáng)ICO時,用戶應(yīng)該能夠看到MAINTENANCE驅(qū)動器。

? 拔下編程器PICO。

如何刪除PICO中的文件

如果需要徹底刪除PICO的內(nèi)容,請按照以下步驟操作:

? 將編程器PICO插入U(xiǎn)SB端口。這將創(chuàng)建一個DAPLINK驅(qū)動器。

? 將需要擦除內(nèi)容的PICO插入另一個USB端口。

? 將編程電纜的彈簧連接器抵住要擦除內(nèi)容的PICO背面的焊盤。

? 導(dǎo)航到zip文件中Erase File目錄中的erase.act文件。

? 將此文件拖到DAPLINK驅(qū)動器。編程器PICO用作管道,通過編程線纜將擦除文件傳送到目標(biāo)PICO。

? 這樣就會擦除目標(biāo)PICO。

結(jié)論

這或許是與PICO建立良好關(guān)系的開始。它提供了一個出色的低成本平臺,讓用戶能夠使用功能強(qiáng)大且功耗超低的Arm?微控制器進(jìn)行開發(fā)。本文提供了有關(guān)如何使用免費(fèi)開發(fā)工具對PICO進(jìn)行編程和調(diào)試的完整指南。用戶成功完成一個項(xiàng)目后,就可以將該項(xiàng)目作為模板,在未來的開發(fā)中輕松復(fù)用,大幅降低開發(fā)工作量。最后,用戶可以告別8位DIP時代,進(jìn)入32位微控制器世界,同時仍然能夠使用易操作的封裝進(jìn)行原型設(shè)計(jì)。



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉