RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

使用Embedded Studio開(kāi)發(fā)與調(diào)試FCM32單片機(jī)

麥克泰技術(shù) ? 來(lái)源:麥克泰技術(shù) ? 2024-12-09 10:29 ? 次閱讀

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、USBCAN、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)系閃芯微獲得軟件包。

55507bc4-b37f-11ef-93f3-92fbcf53809c.png

Pack文件夾中包含SES支持包文件FCM32.emPackage,啟動(dòng)SEGGER Embedded Studio,通過(guò)Tools->Manually Install Packages…安裝支持包。

55608c1c-b37f-11ef-93f3-92fbcf53809c.png

將fcm32c0xx_r0xxJ-LinkJLinkDevices目錄拷貝至C:UsersXXXXXAppDataRoamingSEGGER(XXXXX為電腦的用戶(hù)名), 在SES中添加FCM處理器支持。

2. 構(gòu)建示例工程

安裝FCM32支持包后,SES中將包含F(xiàn)CM32C0xx Samples Solution和FCM32R0xx Samples Solution。

558fb370-b37f-11ef-93f3-92fbcf53809c.png

在安裝的支持包中,選擇FCM32C0xx Samples Solution,

在Project‘Blinky’上雙擊,將Blinky設(shè)置為當(dāng)前工程,點(diǎn)擊工具欄按鈕Build或按F7,構(gòu)建工程。

55b6bbfa-b37f-11ef-93f3-92fbcf53809c.png

通過(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移除。

55e7d532-b37f-11ef-93f3-92fbcf53809c.png

通過(guò)Debug->go,進(jìn)入調(diào)試界面,

5608fb22-b37f-11ef-93f3-92fbcf53809c.png

即可開(kāi)始源代碼的跟蹤調(diào)試。

4. 創(chuàng)建用戶(hù)例程

安裝FCM32的支持包后,用戶(hù)可以基于支持包新建工程。新建工程的步驟如下:

1. 選擇File->New Project…新建工程,在彈出的窗口中選擇FCM32R0xx工程模板,指定工程位置和名字后,點(diǎn)擊Next。

56331614-b37f-11ef-93f3-92fbcf53809c.png

2. 指定MCU型號(hào),以及燒寫(xiě)文件的格式。

5654c692-b37f-11ef-93f3-92fbcf53809c.png

3. 選擇需要加載的文件。

567b0956-b37f-11ef-93f3-92fbcf53809c.png

4. 工程創(chuàng)建完成后,編譯。

569a2214-b37f-11ef-93f3-92fbcf53809c.png

5. 使用J-Link連接開(kāi)發(fā)板,點(diǎn)擊工具欄的Start Debugging,進(jìn)入調(diào)試模式,程序運(yùn)行至main。

56b25d0c-b37f-11ef-93f3-92fbcf53809c.png

用戶(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處理器上。

56e1ede2-b37f-11ef-93f3-92fbcf53809c.png

1. 參考第4節(jié)創(chuàng)建用戶(hù)例程,創(chuàng)建GPIO_IOToggle工程,MCU設(shè)置為FCM32R072RB。

56f8f0d2-b37f-11ef-93f3-92fbcf53809c.png

2. 將F0示例工程目錄下的Src和Inc文件夾,拷貝至GPIO_Toggle工程目錄。

5719de14-b37f-11ef-93f3-92fbcf53809c.png

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。

操作完成后,工程視圖如下。

573a2778-b37f-11ef-93f3-92fbcf53809c.png

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)。

574c2d88-b37f-11ef-93f3-92fbcf53809c.png

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月

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6035

    文章

    44554

    瀏覽量

    634614
  • mcu
    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)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    請(qǐng)問(wèn)如何使用embedded studio調(diào)試 6750evk 的雙核例程?

    如何使用embedded studio調(diào)試 6750evk 的雙核例程? 在HPM_SDK中, 我只看到了腳本的雙核調(diào)試, 請(qǐng)問(wèn)在embedded
    發(fā)表于 05-26 06:47

    AVR高速嵌入式單片機(jī)原理與應(yīng)用(修訂版)

    AVR高速嵌入式單片機(jī)原理與應(yīng)用(修訂版)詳細(xì)介紹ATMEL公司開(kāi)發(fā)的AVR高速嵌入式單片機(jī)的結(jié)構(gòu);講述AVR單片機(jī)開(kāi)發(fā)工具和集成
    發(fā)表于 10-28 23:09 ?0次下載

    AVR單片機(jī)反匯編器 (AVR單片機(jī)開(kāi)發(fā)調(diào)試工具)

    AVR單片機(jī)反匯編器:AVR單片機(jī)開(kāi)發(fā)調(diào)試工具(包括反匯編器功能) 當(dāng)用菜單FILE 中的OPEN命令打開(kāi)HEX格式.hex 文件時(shí)進(jìn)入反匯編調(diào)試
    發(fā)表于 10-12 10:19 ?367次下載

    ARM單片機(jī)開(kāi)發(fā)調(diào)試方法

    ARM單片機(jī)開(kāi)發(fā)調(diào)試方法
    發(fā)表于 07-25 13:21 ?36次下載

    單片機(jī)開(kāi)發(fā)調(diào)試應(yīng)注意的問(wèn)題

    單片機(jī)開(kāi)發(fā)調(diào)試應(yīng)注意的問(wèn)題 1、使用總線(xiàn)不外引的單片機(jī) ·是最正統(tǒng)的單片機(jī)使用模式 ·符合小型、簡(jiǎn)單、可靠、廉價(jià)的
    發(fā)表于 03-26 12:30 ?1750次閱讀

    單片機(jī)開(kāi)發(fā)過(guò)程中硬件調(diào)試技巧

    本文結(jié)合作者在單片機(jī)開(kāi)發(fā)過(guò)程中體會(huì),討論硬件調(diào)試的技巧。當(dāng)硬件設(shè)計(jì)從布線(xiàn)到焊接安裝完成之后,就開(kāi)始進(jìn)入硬件調(diào)試階段
    發(fā)表于 06-01 16:09 ?1.4w次閱讀

    單片機(jī)開(kāi)發(fā)調(diào)試工具包

    單片機(jī)開(kāi)發(fā)調(diào)試工具包,學(xué)習(xí)51單片機(jī)必備的工具
    發(fā)表于 12-17 10:45 ?19次下載

    CrossCore Embedded Studio集成開(kāi)發(fā)環(huán)境的介紹

    這是新的CrossCore? Embedded Studio (CCES)集成開(kāi)發(fā)的簡(jiǎn)要說(shuō)明。CrossCore? Embedded Studio
    的頭像 發(fā)表于 07-10 06:08 ?3923次閱讀

    OBG調(diào)試接口在單片機(jī)中的應(yīng)用解析

    OBG在單片機(jī)中的解釋STM32單片機(jī)的內(nèi)核(Cortex-M3)含有硬件調(diào)試模塊,支持多種復(fù)雜的調(diào)試操作,硬件調(diào)試模塊允許內(nèi)核在取地址或者
    發(fā)表于 03-30 15:19 ?2122次閱讀
    OBG<b class='flag-5'>調(diào)試</b>接口在<b class='flag-5'>單片機(jī)</b>中的應(yīng)用解析

    單片機(jī)最小系統(tǒng)的調(diào)試方法_單片機(jī)最小系統(tǒng)設(shè)計(jì)制作及開(kāi)發(fā)流程

    本文主要介紹了單片機(jī)最小系統(tǒng)的調(diào)試方法及單片機(jī)最小系統(tǒng)設(shè)計(jì)制作及開(kāi)發(fā)流程。
    的頭像 發(fā)表于 04-24 09:35 ?1.3w次閱讀
    <b class='flag-5'>單片機(jī)</b>最小系統(tǒng)的<b class='flag-5'>調(diào)試</b>方法_<b class='flag-5'>單片機(jī)</b>最小系統(tǒng)設(shè)計(jì)制作及<b class='flag-5'>開(kāi)發(fā)</b>流程

    在Visual Studio Code上開(kāi)發(fā)單片機(jī)程序(基于IAR msp430)

    在Visual Studio Code上開(kāi)發(fā)單片機(jī)程序(基于IAR msp430)
    發(fā)表于 11-15 15:51 ?55次下載
    在Visual <b class='flag-5'>Studio</b> Code上<b class='flag-5'>開(kāi)發(fā)單片機(jī)</b>程序(基于IAR msp430)

    閃芯微FCM32系列

    閃芯微FCM32系列
    發(fā)表于 04-11 15:13 ?719次閱讀

    單片機(jī)開(kāi)發(fā)調(diào)試工具有哪些?

    單片機(jī)調(diào)試是一個(gè)有條不紊的過(guò)程,用于查找和減少單片機(jī)程序中的錯(cuò)誤數(shù)量,使其按預(yù)期工作。有時(shí)候,單片機(jī)程序調(diào)試很困難,因?yàn)槟骋粋€(gè)系統(tǒng)模塊中的
    的頭像 發(fā)表于 07-07 12:29 ?1516次閱讀

    應(yīng)用單片機(jī)開(kāi)發(fā)的ST LINK調(diào)試器設(shè)計(jì)制作

    調(diào)試ST單片機(jī)的過(guò)程中,ST-LINK是一個(gè)很好使用的調(diào)試工具。今天,我們就根據(jù)網(wǎng)絡(luò)上的設(shè)計(jì)方案進(jìn)行簡(jiǎn)化,設(shè)計(jì)制作一個(gè)ST LINK調(diào)試器,用于之后的
    發(fā)表于 03-06 10:26 ?1110次閱讀
    應(yīng)用<b class='flag-5'>單片機(jī)</b><b class='flag-5'>開(kāi)發(fā)</b>的ST LINK<b class='flag-5'>調(diào)試</b>器設(shè)計(jì)制作

    單片機(jī)Debug工具性能對(duì)比 單片機(jī)調(diào)試常用命令

    單片機(jī)(Microcontroller Unit, MCU)調(diào)試是嵌入式開(kāi)發(fā)中的一個(gè)重要環(huán)節(jié),它幫助開(kāi)發(fā)者發(fā)現(xiàn)和修復(fù)代碼中的錯(cuò)誤,優(yōu)化程序性能。不同的
    的頭像 發(fā)表于 12-19 09:56 ?114次閱讀
    RM新时代网站-首页