全球最实用的IT互联网信息网站!

AI人工智能P2P分享&下载搜索网页发布信息网站地图

当前位置:诺佳网 > 电子/半导体 > 控制/MCU >

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

时间:2024-12-09 10:29

人气:

作者:admin

标签: 单片机  mcu 

导读:0 引言 FCM32C0xx是深圳闪芯微电子(简称闪芯微)高性价比的32位微控制器产品,基于Cortex-M0内核,运行频率最高达100MHz,提供丰富的连接功能(USART、SPI、I2C、I2S、USB、CAN、SPI)及模拟外...

0 引言

FCM32C0xx是深圳闪芯微电子(简称闪芯微)高性价比的32位微控制器产品,基于Cortex-M0内核,运行频率最高达100MHz,提供丰富的连接功能(USART、SPI、I2C、I2S、USBCAN、SPI)及模拟外设(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月

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信