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

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

3天内不再提示

gd32和stm32的编程区别

工程师邓生 来源:未知 作者:刘芹 2023-08-16 11:32 次阅读

gd32stm32编程区别

GD32和STM32是目前市场上比较流行的两种芯片,它们都具有高性能、低功耗和丰富的外设等特点,因此得到了广泛的应用。但是,GD32和STM32在编程上还是存在差异的,本文将就此进行详细地解析。

一、GD32和STM32的概述

GD32和STM32是龙芯(RISC-V)和意法半导体(ARM Cortex-M)两家公司推出的芯片,由于两家公司的巨大影响力,它们在市场上一直处于领先位置。GD32是龙芯推出的32位微控制器,基于RISC-V架构,主要应用于智能家居物联网工业控制等领域;STM32是意法半导体推出的32位微控制器,基于ARM Cortex-M架构,主要应用于汽车、医疗、电力等领域。

二、GD32和STM32的编程区别

1. 开发环境

GD32和STM32的开发环境主要分为两种:Keil和GCC,这两种开发环境对于GD32和STM32都是通用的,但是在具体的编译工具链的选择上有所不同。对于Keil开发环境来说,在编译器的选择上STMCubeIDE是只能用于STM32的,而GCC则没有这个限制,可以用于GD32和STM32。此外,在驱动和库的选择上也有所不同。

2. 命名空间

在代码的编写上,GD32和STM32的命名空间略有不同。例如,在使用时钟控制器的API时,在STM32中是通过RCC来访问,而在GD32中则是通过rcu根据不同的模块来访问。这种命名空间的不同性实际上是由于不同的芯片结构造成的。

3. 输出方式

GD32和STM32在输出方式上也有所不同。在STM32中,输出方式主要有串口、JTAG、SWD和USB等;而在GD32中,则多数通过串口输出程序信息。此外,两者在调试时,也有不同的方法,例如在STM32中,调试信息是通过SWD方式传输到PC上;而在GD32中则是通过串口直接输出的。

4. 外设驱动

GD32和STM32的外设驱动也有所不同,在使用外设时需要注意。比如,在使用GPIO时,GD32需要指定端口的引脚数量和具体使用的引脚,而STM32则只需要指定端口一个参数

5. 中断处理

在中断处理上,GD32和STM32也有所不同。GD32中的中断处理快速跳转准备工作需要通过指令进行,而STM32中的中断处理则是通过NVIC进行的。在使用时需要注意不同的编写方式和调用函数。

6. ADC/DAC

ADC/DAC的驱动上,GD32和STM32也有所不同。在GD32中,ADC和DAC是分别独立的,需要对不同的模块进行初始化,而STM32中,则是通过一个通道来进行控制。

7. 其他

GD32和STM32在其他方面的差异还有很多,在具体的使用过程中需要根据具体的需求进行操作。

三、总结

虽然GD32和STM32在硬件上都拥有32位架构和丰富的外设,但是在具体的编程上却发现有许多的差异。这需要程序员针对具体的需求,选择合适的开发环境和合适的编写方式,以达到最好的效果。在今后的应用中,这两种芯片或许还会有更多不同的地方,我们需要不断的学习和探索,以适应市场对于硬件的不断升级和迭代的要求。

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

    关注

    48

    文章

    7489

    浏览量

    151048
  • 单片机
    +关注

    关注

    6032

    文章

    44516

    浏览量

    633010
  • STM32
    +关注

    关注

    2266

    文章

    10871

    浏览量

    354801
  • GD32
    +关注

    关注

    7

    文章

    403

    浏览量

    24221
收藏 人收藏

    评论

    相关推荐

    GD32 MCU入门教程】GD32 MCU GPIO 结构与使用注意事项

    本文是专门为基于GD32 MCU开发的工程设计人员提供,主要介绍了GPIO的功能配置、内部结构以及在不同场景使用时的注意事项,旨在帮助GD32 MCU开发者优化对通用型输入输出端口(GPIO)的使用,正确快速的使用GD32 MC
    的头像 发表于 09-07 10:34 583次阅读
    【<b class='flag-5'>GD32</b> MCU入门教程】<b class='flag-5'>GD32</b> MCU GPIO 结构与使用注意事项

    GD32 MCU 入门教程】GD32 MCU FPU 使用方法

    GD32 MCU FPU 使用方法
    的头像 发表于 08-25 09:24 468次阅读
    【<b class='flag-5'>GD32</b> MCU 入门教程】<b class='flag-5'>GD32</b> MCU FPU 使用方法

    GD32如何替换STM32

    GD32替换Stm32注意事项
    发表于 08-23 11:31 4次下载

    GD32 MCU 入门教程】GD32 MCU 常见外设介绍(14)RTC 模块介绍

    GD32 MCU内部提供了一个RTC(实时时钟)模块,通过RTC可以实现日历时钟、闹钟等功能。RTC也可以用于深度睡眠或待机模式的低功耗唤醒。不同系列的GD32 MCU在RTC设计和功能上有所区别,总体可以分为三大系列:
    的头像 发表于 08-23 09:18 374次阅读
    【<b class='flag-5'>GD32</b> MCU 入门教程】<b class='flag-5'>GD32</b> MCU 常见外设介绍(14)RTC 模块介绍

    GD32 MCU 入门教程】GD32 MCU 常见外设介绍(12)FMC 模块介绍

    闪存控制器(FMC),提供了片上闪存需要的所有功能。FMC 也提供了页擦除,整片擦除,以及32 位整字或 16 位半字编程闪存等操作。 GD32 MCU 支持不同类型编程的具体说明如下表 GD
    的头像 发表于 08-21 09:56 990次阅读
    <b class='flag-5'>GD32</b> MCU 入门教程】<b class='flag-5'>GD32</b> MCU 常见外设介绍(12)FMC 模块介绍

    找到一个基于stm32的mpu9250的驱动程序,能移植到GD32上吗?

    找到一个基于stm32的mpu9250的驱动程序,能移植到GD32上吗,需要更改哪些方面
    发表于 04-03 07:49

    都是32位MCU,ESP32、GD32STM32有什么区别

    三款MCU简介STM32:意法半导体在2007年6月11日发布的产品,32位单片机(不多介绍了,懂得都懂)。GD32:兆易创新2013年发布的产品,在芯片开发、配置、命名上基本模仿STM32,甚至
    的头像 发表于 03-13 08:09 1.6w次阅读
    都是32位MCU,ESP32、<b class='flag-5'>GD32</b>、<b class='flag-5'>STM32</b>有什么<b class='flag-5'>区别</b>

    GD32 MCU ISP失败的原因

    玩过GD32的小伙伴们都知道,GD32 MCU支持ISP,即在系统编程,前面的常见问题也给大家讲过什么是ISP,什么是IAP?那有没有小伙伴遇到过ISP失败的情况,失败的原因是什么呢?
    的头像 发表于 02-28 09:23 1391次阅读
    <b class='flag-5'>GD32</b> MCU ISP失败的原因

    GD32 MCU电源复位和系统复位有什么区别

    GD32 MCU的复位分为电源复位和系统复位,电源复位又称为冷复位,相较于系统复位,上电复位更彻底,下面为大家详细介绍上电复位和系统复位的实现以及区别
    的头像 发表于 02-02 09:37 1427次阅读
    <b class='flag-5'>GD32</b> MCU电源复位和系统复位有什么<b class='flag-5'>区别</b>

    不同型号的GD32 MCU如何区分?

    大家是否碰到过以下应用场景:同一套软件代码希望跑在不同型号的GD32 MCU中,但有些地方需要根据MCU型号进行调整?或者上位机或其他MCU与GD32 MCU通信时需要知道对应的MCU型号是哪个?
    的头像 发表于 01-27 09:32 956次阅读
    不同型号的<b class='flag-5'>GD32</b> MCU如何区分?

    GD32 串口接受异常的几个原因

    前面我们介绍过GD32 485发送时出现异常的最常见原因,有小伙伴反馈想要知道GD32 串口接受异常的可能原因,今天我们就来安排。
    的头像 发表于 01-18 09:57 4114次阅读
    <b class='flag-5'>GD32</b> 串口接受异常的几个原因

    GD32 MCU的选项字节是什么?

    GD32 MCU的选项字节是什么,有什么功能呢?选项字节被误篡改如何回复?
    的头像 发表于 01-17 09:42 1270次阅读
    <b class='flag-5'>GD32</b> MCU的选项字节是什么?

    GD32如何设计晶振电路

    关于晶振电路真的简单吗?如何可靠的设计好GD32晶振电路,我们需要知道这些:
    的头像 发表于 01-16 09:37 1885次阅读
    <b class='flag-5'>GD32</b>如何设计晶振电路

    你了解GD32 MCU的命名规则吗

    下面为大家介绍GD32 MCU的通用命名规则,以GD32F303ZGT6为例,其中,GD32代表GD32 MCU,F代表通用系列产品类型,303代表303产品子系列,Z代表144引脚数
    的头像 发表于 01-13 09:38 3449次阅读
    你了解<b class='flag-5'>GD32</b> MCU的命名规则吗

    ESP32、GD32STM32MCU的区别

    GD32 是国产单片机, 和 STM32 有很多地方都是一样的,不过 GD32 毕竟是不同的产品,不可能所有东西都沿用 STM32,有些自主开发的东西还是有
    发表于 12-17 17:53 1656次阅读
    ESP32、<b class='flag-5'>GD32</b>、<b class='flag-5'>STM32</b>MCU的<b class='flag-5'>区别</b>