0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

使用Embedded Studio开发与调试FCM32单片机

麦克泰威廉希尔官方网站 来源:麦克泰威廉希尔官方网站 2024-12-09 10:29 次阅读

0 引言

FCM32C0xx是深圳闪芯微电子(简称闪芯微)高性价比的32位微控制器产品,基于Cortex-M0内核,运行频率最高达100MHz,提供丰富的连接功能(USART、SPI、I2C、I2S、USBCAN、SPI)及interwetten与威廉的赔率体系 外设(ADCDAC、COMP),同时提供CRC、AES、PLib、读保护等多种安全措施。

FCM32R0xx系列是闪芯微设计的基于NUCLEI(芯来)N305内核的控制器,R0xx系列MCU将内核从Cortex-M更换为RISC-V。和C0xx相比,模拟外设、数字外设、电气参数、MCU引脚分配等全部一致,用户不需要重新学习MCU各个外设的使用,可以简单方便的将应用从Cortex-M切换到RISC-V内核上。

闪芯微设计的理念是R0xx与C0xx系列只有内核不同,其它全部一样,因此采用统一的SDK开发包(驱动与例程),可方便切换不同系列MCU,用户不需要关心内核的区别,只需专注于应用层的开发。

一般情况不同架构的MCU开发,需要对应的开发工具,比如ARM Keil能支持ARM Cortex-M系列MCU开发。SEGGER Embedded Studio(简称SES)作为单一IDE同时支持Cortex-M和RISC-V内核应用开发,这具备特别的优势。使用SES可以同时支持闪芯微FCM32C0xx和FCM32R0xx系列MCU开发调试,原生支持J-Link,提供高效的调试特性,SES针对非商业用户免费,这让初学者可以方便上手学习。

FCM32C0/R0系列处理器,作为高度集成的32位MCU,适用于多种应用。闪芯微提供了FCM32 Nucleo-64开发板,供用户试用/评估FCM32系列LQFP64封装的微控制器。开发板将所有IO引出,提供按键、LED,板载DAPLINK在线调试器。我们基于FCM32 Nucleo-64学习板,了解如何使用SES开发、调试FCM32应用。

1. 环境搭建

安装开发环境和SDK

访问SEGGER官网,https://www.segger.com/downloads/embedded-studio/?utm_medium=top_menu&utm_source=www,下载SES并安装。

访问http://www.flashchip.com.cn/support.html,联系闪芯微获得软件包。

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

Pack文件夹中包含SES支持包文件FCM32.emPackage,启动SEGGER Embedded Studio,通过Tools->Manually Install Packages…安装支持包。

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

将fcm32c0xx_r0xxJ-LinkJLinkDevices目录拷贝至C:UsersXXXXXAppDataRoamingSEGGER(XXXXX为电脑的用户名), 在SES中添加FCM处理器支持。

2. 构建示例工程

安装FCM32支持包后,SES中将包含FCM32C0xx Samples Solution和FCM32R0xx Samples Solution。

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

在安装的支持包中,选择FCM32C0xx Samples Solution,

在Project‘Blinky’上双击,将Blinky设置为当前工程,点击工具栏按钮Build或按F7,构建工程。

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

通过Output窗口,可以看到工程的构建时间,生成的可执行文件的资源占用情况。

3. 使用J-Link调试应用

FCM32 Demo Board开发板没有提供外扩SWD调试接口,需通过引出的IO口,连接J-Link调试接口,注意使用外部调试器时,需将SB3/SB4/SB5移除。

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

通过Debug->go,进入调试界面,

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

即可开始源代码的跟踪调试。

4. 创建用户例程

安装FCM32的支持包后,用户可以基于支持包新建工程。新建工程的步骤如下:

1. 选择File->New Project…新建工程,在弹出的窗口中选择FCM32R0xx工程模板,指定工程位置和名字后,点击Next。

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

2. 指定MCU型号,以及烧写文件的格式。

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

3. 选择需要加载的文件。

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

4. 工程创建完成后,编译。

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

5. 使用J-Link连接开发板,点击工具栏的Start Debugging,进入调试模式,程序运行至main。

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

用户可以基于该例程,开发自己的应用。

5. 迁移STM32F0项目

FCM32C0xx/R0xx两个系列控制器,与STM32F0xx系列使用相同的内存映射,时序兼容。开发者已经熟悉的基于STM32F0系列的程序,通过简单的几个步骤,即可迁移到FCM32C0xx/R0xx MCU上运行,这一点对于RISC-V MCU开发初学者很有帮助。以GPIO_IOToggle工程为例,了解如何将例程迁移到RISC-V内核的FCM32R0处理器上。

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

1. 参考第4节创建用户例程,创建GPIO_IOToggle工程,MCU设置为FCM32R072RB。

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

2. 将F0示例工程目录下的Src和Inc文件夹,拷贝至GPIO_Toggle工程目录。

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

3. 在SES工程中,添加相应的源文件,

新建BSP Files文件夹,添加FCM32DriversBSPFCM-Nucleofcm32x0xx_nucleo.c。

新建Driver Files文件夹,添加FCM32DriversFCM32x0xx_HAL_DriverSrc下相应的时钟、中断及IO驱动。

移除Source Files目录下的main.c文件,添加Srcmain.c和stm32f0xx_it.c。

操作完成后,工程视图如下。

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

4. 修改头文件调用。

在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. 构建工程,使用J-Link连接开发板,进入调试模式,运行程序,翻转LED状态。

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

6. 小结

ARM Cortex-M MCU已经有广泛的教育和应用的基础,开发者熟悉这种处理器架构和开发方法,许多基于ARM Cortex-M MCU芯片物联网嵌入式系统开发的首选平台。RISC-V指令集架构是计算威廉希尔官方网站 中冉冉上升的新星,RISC-V单片机也频频亮相,单片机芯片的应用越来越多。本文介绍基于FCM32C0/R0系列单片机开发板、SDK软件包和SEGGER Embedded Studio,学习从ARM MCU迁移到RISC-V MCU的一种路径,希望本文对RISC-V嵌入式开发的初学者有帮助。

参考资料

1.闪芯微 FCM32 Nucleo-64使用说明

2.闪芯微 Sxx32f0至FCM32x0快速替换指南

3.林金龙 移植Cortex-M程序到RV32中的问题https://www.hanspub.org/journal/paperinformation?paperid=93109

4.林金龙 何小庆 深入理解RISC-V程序开发 北京航空航天大学出版社 2021年9月

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6035

    文章

    44554

    浏览量

    634685
  • mcu
    mcu
    +关注

    关注

    146

    文章

    17128

    浏览量

    350998

原文标题:使用Embedded Studio开发与调试FCM32单片机

文章出处:【微信号:麦克泰威廉希尔官方网站 ,微信公众号:麦克泰威廉希尔官方网站 】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    请问如何使用embedded studio调试 6750evk 的双核例程?

    如何使用embedded studio调试 6750evk 的双核例程? 在HPM_SDK中, 我只看到了脚本的双核调试, 请问在embedded
    发表于 05-26 06:47

    AVR高速嵌入式单片机原理与应用(修订版)

    AVR高速嵌入式单片机原理与应用(修订版)详细介绍ATMEL公司开发的AVR高速嵌入式单片机的结构;讲述AVR单片机开发工具和集成
    发表于 10-28 23:09 0次下载

    AVR单片机反汇编器 (AVR单片机开发调试工具)

    AVR单片机反汇编器:AVR单片机开发调试工具(包括反汇编器功能) 当用菜单FILE 中的OPEN命令打开HEX格式.hex 文件时进入反汇编调试
    发表于 10-12 10:19 367次下载

    ARM单片机开发调试方法

    ARM单片机开发调试方法
    发表于 07-25 13:21 36次下载

    单片机开发调试应注意的问题

    单片机开发调试应注意的问题 1、使用总线不外引的单片机 ·是最正统的单片机使用模式 ·符合小型、简单、可靠、廉价的
    发表于 03-26 12:30 1751次阅读

    单片机开发过程中硬件调试技巧

    本文结合作者在单片机开发过程中体会,讨论硬件调试的技巧。当硬件设计从布线到焊接安装完成之后,就开始进入硬件调试阶段
    发表于 06-01 16:09 1.4w次阅读

    单片机开发调试工具包

    单片机开发调试工具包,学习51单片机必备的工具
    发表于 12-17 10:45 19次下载

    CrossCore Embedded Studio集成开发环境的介绍

    这是新的CrossCore® Embedded Studio (CCES)集成开发的简要说明。CrossCore® Embedded Studio
    的头像 发表于 07-10 06:08 3925次阅读

    OBG调试接口在单片机中的应用解析

    OBG在单片机中的解释STM32单片机的内核(Cortex-M3)含有硬件调试模块,支持多种复杂的调试操作,硬件调试模块允许内核在取地址或者
    发表于 03-30 15:19 2122次阅读
    OBG<b class='flag-5'>调试</b>接口在<b class='flag-5'>单片机</b>中的应用解析

    单片机最小系统的调试方法_单片机最小系统设计制作及开发流程

    本文主要介绍了单片机最小系统的调试方法及单片机最小系统设计制作及开发流程。
    的头像 发表于 04-24 09:35 1.3w次阅读
    <b class='flag-5'>单片机</b>最小系统的<b class='flag-5'>调试</b>方法_<b class='flag-5'>单片机</b>最小系统设计制作及<b class='flag-5'>开发</b>流程

    在Visual Studio Code上开发单片机程序(基于IAR msp430)

    在Visual Studio Code上开发单片机程序(基于IAR msp430)
    发表于 11-15 15:51 55次下载
    在Visual <b class='flag-5'>Studio</b> Code上<b class='flag-5'>开发单片机</b>程序(基于IAR msp430)

    闪芯微FCM32系列

    闪芯微FCM32系列
    发表于 04-11 15:13 720次阅读

    单片机开发调试工具有哪些?

    单片机调试是一个有条不紊的过程,用于查找和减少单片机程序中的错误数量,使其按预期工作。有时候,单片机程序调试很困难,因为某一个系统模块中的
    的头像 发表于 07-07 12:29 1523次阅读

    应用单片机开发的ST LINK调试器设计制作

    调试ST单片机的过程中,ST-LINK是一个很好使用的调试工具。今天,我们就根据网络上的设计方案进行简化,设计制作一个ST LINK调试器,用于之后的
    发表于 03-06 10:26 1110次阅读
    应用<b class='flag-5'>单片机</b><b class='flag-5'>开发</b>的ST LINK<b class='flag-5'>调试</b>器设计制作

    单片机Debug工具性能对比 单片机调试常用命令

    单片机(Microcontroller Unit, MCU)调试是嵌入式开发中的一个重要环节,它帮助开发者发现和修复代码中的错误,优化程序性能。不同的
    的头像 发表于 12-19 09:56 142次阅读