0 引言
FCM32C0xx是深圳閃芯微電子(簡(jiǎn)稱(chēng)閃芯微)高性?xún)r(jià)比的32位微控制器產(chǎn)品,基于Cortex-M0內(nèi)核,運(yùn)行頻率最高達(dá)100MHz,提供豐富的連接功能(USART、SPI、I2C、I2S、USB、CAN、SPI)及模擬外設(shè)(ADC、DAC、COMP),同時(shí)提供CRC、AES、PLib、讀保護(hù)等多種安全措施。
FCM32R0xx系列是閃芯微設(shè)計(jì)的基于NUCLEI(芯來(lái))N305內(nèi)核的控制器,R0xx系列MCU將內(nèi)核從Cortex-M更換為RISC-V。和C0xx相比,模擬外設(shè)、數(shù)字外設(shè)、電氣參數(shù)、MCU引腳分配等全部一致,用戶(hù)不需要重新學(xué)習(xí)MCU各個(gè)外設(shè)的使用,可以簡(jiǎn)單方便的將應(yīng)用從Cortex-M切換到RISC-V內(nèi)核上。
閃芯微設(shè)計(jì)的理念是R0xx與C0xx系列只有內(nèi)核不同,其它全部一樣,因此采用統(tǒng)一的SDK開(kāi)發(fā)包(驅(qū)動(dòng)與例程),可方便切換不同系列MCU,用戶(hù)不需要關(guān)心內(nèi)核的區(qū)別,只需專(zhuān)注于應(yīng)用層的開(kāi)發(fā)。
一般情況不同架構(gòu)的MCU開(kāi)發(fā),需要對(duì)應(yīng)的開(kāi)發(fā)工具,比如ARM Keil能支持ARM Cortex-M系列MCU開(kāi)發(fā)。SEGGER Embedded Studio(簡(jiǎn)稱(chēng)SES)作為單一IDE同時(shí)支持Cortex-M和RISC-V內(nèi)核應(yīng)用開(kāi)發(fā),這具備特別的優(yōu)勢(shì)。使用SES可以同時(shí)支持閃芯微FCM32C0xx和FCM32R0xx系列MCU開(kāi)發(fā)調(diào)試,原生支持J-Link,提供高效的調(diào)試特性,SES針對(duì)非商業(yè)用戶(hù)免費(fèi),這讓初學(xué)者可以方便上手學(xué)習(xí)。
FCM32C0/R0系列處理器,作為高度集成的32位MCU,適用于多種應(yīng)用。閃芯微提供了FCM32 Nucleo-64開(kāi)發(fā)板,供用戶(hù)試用/評(píng)估FCM32系列LQFP64封裝的微控制器。開(kāi)發(fā)板將所有IO引出,提供按鍵、LED,板載DAPLINK在線(xiàn)調(diào)試器。我們基于FCM32 Nucleo-64學(xué)習(xí)板,了解如何使用SES開(kāi)發(fā)、調(diào)試FCM32應(yīng)用。
1. 環(huán)境搭建
安裝開(kāi)發(fā)環(huán)境和SDK
訪(fǎng)問(wèn)SEGGER官網(wǎng),https://www.segger.com/downloads/embedded-studio/?utm_medium=top_menu&utm_source=www,下載SES并安裝。
訪(fǎng)問(wèn)http://www.flashchip.com.cn/support.html,聯(lián)系閃芯微獲得軟件包。
Pack文件夾中包含SES支持包文件FCM32.emPackage,啟動(dòng)SEGGER Embedded Studio,通過(guò)Tools->Manually Install Packages…安裝支持包。
將fcm32c0xx_r0xxJ-LinkJLinkDevices目錄拷貝至C:UsersXXXXXAppDataRoamingSEGGER(XXXXX為電腦的用戶(hù)名), 在SES中添加FCM處理器支持。
2. 構(gòu)建示例工程
安裝FCM32支持包后,SES中將包含F(xiàn)CM32C0xx Samples Solution和FCM32R0xx Samples Solution。
在安裝的支持包中,選擇FCM32C0xx Samples Solution,
在Project‘Blinky’上雙擊,將Blinky設(shè)置為當(dāng)前工程,點(diǎn)擊工具欄按鈕Build或按F7,構(gòu)建工程。
通過(guò)Output窗口,可以看到工程的構(gòu)建時(shí)間,生成的可執(zhí)行文件的資源占用情況。
3. 使用J-Link調(diào)試應(yīng)用
FCM32 Demo Board開(kāi)發(fā)板沒(méi)有提供外擴(kuò)SWD調(diào)試接口,需通過(guò)引出的IO口,連接J-Link調(diào)試接口,注意使用外部調(diào)試器時(shí),需將SB3/SB4/SB5移除。
通過(guò)Debug->go,進(jìn)入調(diào)試界面,
即可開(kāi)始源代碼的跟蹤調(diào)試。
4. 創(chuàng)建用戶(hù)例程
安裝FCM32的支持包后,用戶(hù)可以基于支持包新建工程。新建工程的步驟如下:
1. 選擇File->New Project…新建工程,在彈出的窗口中選擇FCM32R0xx工程模板,指定工程位置和名字后,點(diǎn)擊Next。
2. 指定MCU型號(hào),以及燒寫(xiě)文件的格式。
3. 選擇需要加載的文件。
4. 工程創(chuàng)建完成后,編譯。
5. 使用J-Link連接開(kāi)發(fā)板,點(diǎn)擊工具欄的Start Debugging,進(jìn)入調(diào)試模式,程序運(yùn)行至main。
用戶(hù)可以基于該例程,開(kāi)發(fā)自己的應(yīng)用。
5. 遷移STM32F0項(xiàng)目
FCM32C0xx/R0xx兩個(gè)系列控制器,與STM32F0xx系列使用相同的內(nèi)存映射,時(shí)序兼容。開(kāi)發(fā)者已經(jīng)熟悉的基于STM32F0系列的程序,通過(guò)簡(jiǎn)單的幾個(gè)步驟,即可遷移到FCM32C0xx/R0xx MCU上運(yùn)行,這一點(diǎn)對(duì)于RISC-V MCU開(kāi)發(fā)初學(xué)者很有幫助。以GPIO_IOToggle工程為例,了解如何將例程遷移到RISC-V內(nèi)核的FCM32R0處理器上。
1. 參考第4節(jié)創(chuàng)建用戶(hù)例程,創(chuàng)建GPIO_IOToggle工程,MCU設(shè)置為FCM32R072RB。
2. 將F0示例工程目錄下的Src和Inc文件夾,拷貝至GPIO_Toggle工程目錄。
3. 在SES工程中,添加相應(yīng)的源文件,
新建BSP Files文件夾,添加FCM32DriversBSPFCM-Nucleofcm32x0xx_nucleo.c。
新建Driver Files文件夾,添加FCM32DriversFCM32x0xx_HAL_DriverSrc下相應(yīng)的時(shí)鐘、中斷及IO驅(qū)動(dòng)。
移除Source Files目錄下的main.c文件,添加Srcmain.c和stm32f0xx_it.c。
操作完成后,工程視圖如下。
4. 修改頭文件調(diào)用。
在main.h中,將
#include "stm32f0xx_hal.h" #include "stm32f0xx_nucleo.h"
替換為
#include "fcm32x0xx_hal.h" #include "fcm32x0xx_nucleo.h"
將Incstm32f0xx_hal_conf.h重命名為fcm32x0xx_hal_conf.h。
將fcm32x0xx_hal.h文件中的
#include "stm32f0xx_hal_***.h"
替換為
#include "fcm32x0xx_hal_***.h"
5. 構(gòu)建工程,使用J-Link連接開(kāi)發(fā)板,進(jìn)入調(diào)試模式,運(yùn)行程序,翻轉(zhuǎn)LED狀態(tài)。
6. 小結(jié)
ARM Cortex-M MCU已經(jīng)有廣泛的教育和應(yīng)用的基礎(chǔ),開(kāi)發(fā)者熟悉這種處理器架構(gòu)和開(kāi)發(fā)方法,許多基于ARM Cortex-M MCU芯片是物聯(lián)網(wǎng)和嵌入式系統(tǒng)開(kāi)發(fā)的首選平臺(tái)。RISC-V指令集架構(gòu)是計(jì)算技術(shù)中冉冉上升的新星,RISC-V單片機(jī)也頻頻亮相,單片機(jī)芯片的應(yīng)用越來(lái)越多。本文介紹基于FCM32C0/R0系列單片機(jī)開(kāi)發(fā)板、SDK軟件包和SEGGER Embedded Studio,學(xué)習(xí)從ARM MCU遷移到RISC-V MCU的一種路徑,希望本文對(duì)RISC-V嵌入式開(kāi)發(fā)的初學(xué)者有幫助。
1.閃芯微 FCM32 Nucleo-64使用說(shuō)明
2.閃芯微 Sxx32f0至FCM32x0快速替換指南
3.林金龍 移植Cortex-M程序到RV32中的問(wèn)題https://www.hanspub.org/journal/paperinformation?paperid=93109
4.林金龍 何小慶 深入理解RISC-V程序開(kāi)發(fā) 北京航空航天大學(xué)出版社 2021年9月
-
單片機(jī)
+關(guān)注
關(guān)注
6035文章
44554瀏覽量
634614 -
mcu
+關(guān)注
關(guān)注
146文章
17123瀏覽量
350975
原文標(biāo)題:使用Embedded Studio開(kāi)發(fā)與調(diào)試FCM32單片機(jī)
文章出處:【微信號(hào):麥克泰技術(shù),微信公眾號(hào):麥克泰技術(shù)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論