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

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

3天内不再提示

学习STM32开发难不难? 如何将工程(修改来)运行在自己开发板上

黄工的嵌入式技术圈 来源:黄工的嵌入式技术圈 2020-03-25 11:27 次阅读

Ⅰ、写在前面

学习STM32开发难不难?

笔者的回答:不难!!!

为什么不难?

1、ST提供了很多很好的资源,比如:标准外设库、多种资料(包括多版中文的翻译版资料)等。

2、很好的集成开发环境Keil、IAR等。

3、网上很多有用的分享,包括笔者在内的愿意把技术知识无偿分享出来的人。

学习STM32开发前途怎么样?

笔者的回答:只要你技术能力够强,月薪上万不是问题。

要学到什么程度才能找到相关工作?

1、首先要能灵活运用C语言常用知识编程,也就是说不要求精通,但要能灵活使用基本的语法(如:switch、for、break等),还需要对指针、结构体等有一定的掌握。

2、你得有自己独立开发的项目,项目的大小可以看得出你部分能力。

3、对STM32基本外设有部分了解并亲自写代码验证过。

Ⅱ、笔者想说的话

笔者觉得很多初学者不善于主动去学习,都是想利用现成的工程代码。笔者觉得这样学习的方法不会成就你今后的成功,人都有懒惰的一面,但现实就是这么残酷,没办法,你不努力,别人就会超过你。现在大学生就业的情况,我们大家都应该知道,可以说是一年不如一年好了。每一年都有成千上万的大学生进入社会,你在这个领域不付出点努力,总会有人在这个领域付出努力。

如今社会,不管是哪一行,竞争都很激烈。如果你决定选择了这一行,在不得已的情况下,请不要轻言说放弃。因为你放弃了就等于否定了你当初的决定,你再去决定选择另外一个行业,说不定今后你还会否定你当初的决定,这样会恶性循环下去。笔者的建议是:真正想想自己喜欢哪一行、适合哪一行,想好了再做决定。

关于学习STM32,笔者觉得它真的不难,需要的是我们的耐心,我们的努力。如果你当初只是感觉喜欢学习STM32,那么请保持这份感觉。如果你在学习的时候遇到困难,失去这份感觉了,请你用不同的方法找回这份感觉。如果你想放弃这一行,请做好进入另外一行的准备。

Ⅲ、如何将工程(修改来)运行在自己开发板上

可能很多朋友的开发板、调试板上面主控芯片和笔者提供讲解的工程实例不一样,那么,只要是同一个系列(比如同为F4系列:你的是STM32F427IG、笔者的是STM32F417ZG),只要适当修改一下工程配置就能使用了。

笔者告诉大家:STM32的兼容很好,有些工程可能不用修改,直接下载都能使用。(但是,作为学习尽量自己动手验证、如果只是测试某个功能,可以直接下载测试)。

好了,说了那么多,还是教大家如何使用我的工程:

1.了解笔者工程文件、工程结构关系


笔者使用的文件和工程结构如上图所示的对应关系。

文件结构中Libraries就是提取ST官方的标准外设库,对应添加到工程中(分为三类)。

文件中自定义的文件夹对应工程的一个组。

第一类(标准外设库):

Startup Code:启动代码

STM32F10x_StdPeriph_Driver:标准外设库库驱动

CMSIS:标准接口

第二类(用户自定义):

Bsp:应用底层代码(初始化、驱动等)

App:应用实现代码(配置OS、应用等)

第三类(描述):

Doc:ReadMe.txt描述文档,不会执行编译

2.同系列修改型号

同一系列(我们以F4系列为例,其他系列F0、F1这些原理一样)芯片的工程,如果资源都有,工程可以共用,只需要修改一下工程里的型号就行。

我们以F4工程为例,STM32F417ZG-> STM32F427IG修改方法如下三步骤。

参考工程下载地址:

https://yunpan.cn/cBQiZXDsvacwV 访问密码 a98e

1.修改工程配置型号

project ->Options for Target -> Device 修改为自己芯片的型号

修改方式如下动画:

2.修改源文件型号

笔者习惯在工程文件里面修改型号,原因在于这里可以看见具体的型号,也知道宏定义的名称(如:STM32F40_41xxx)。

其实,这个宏定义在工程配置中也可以定义,根据自己习惯选择定义。

修改方式如下动画:

3.修改启动文件

启动文件和芯片型号对应的关系,比较简单,如下动画:

3.应用相关

笔者提供的实例代码都是简化了很多无用的代码、比较基础的、容易理解的,基本上都是提供LED、USART1、TIM延时这种在所以芯片都有的功能。

如果你LED不是笔者提供例程里面的,很简单,在bsp.h文件下改一下对应IO口就行了。

如果你串口是使用USART2,只要usart.c文件下修改相关配置就行了。

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

    关注

    32

    文章

    1130

    浏览量

    128832
  • STM32
    +关注

    关注

    2266

    文章

    10873

    浏览量

    354854
  • 开发板
    +关注

    关注

    25

    文章

    4949

    浏览量

    97207
收藏 人收藏

    评论

    相关推荐

    正点原子的stm32开发板能用stlink吗

    在嵌入式开发领域,STM32系列微控制器因其高性能、低成本和广泛的应用场景而广受欢迎。正点原子(ZYBO)作为国内知名的嵌入式开发板供应商,提供了多种基于STM32的解决方案。 正点原
    的头像 发表于 11-13 09:21 314次阅读

    开发板的PL端有4片的DDR,怎么管理数据的传输

    各位大佬好, 我现在想在自己开发板上面跑通正点原子的一个例程,这个例程是关于DDR的读写,1024个数写入DDR,然后读出来进行对比,如果没有错误就点亮LED。 开发板的PL端有4
    发表于 09-10 19:17

    【QEMU系列】不用开发板运行RT-Thread指南-ARM架构

    成为一个门槛。本文详细介绍如何在QEMU虚拟机的Vexpress-A9平台运行RT-Thread,帮助开发者在没有实际硬件开发板的情况下
    的头像 发表于 08-09 08:35 804次阅读
    【QEMU系列】不用<b class='flag-5'>开发板</b><b class='flag-5'>运行</b>RT-Thread指南-ARM架构

    鸿蒙OpenHarmony南向/北向快速开发教程-迅为RK3568开发板

    新建第一个工程-HelloWorld P12_Dev-Eco studio的界面布局 P13_基本工程目录简介 P14_部署应用到开发板 P15_修改应用程序的名称和图标 P16_应用
    发表于 07-23 10:44

    MCU友好过渡MPU,米尔基于STM32MP135开发板裸机开发应用笔记

    的代码:编译并调试后,让程序全速运行,可以看到开发板的蓝灯闪烁:至此创建的工程调试成功。产品介绍米尔STM32MP135
    发表于 03-29 18:35

    基于STM32H743IIT6开发的代码,是否能不经修改无障碍地运行在STM32H753IIT6

    基于 STM32H743IIT6 开发的代码,是否能不经修改无障碍地运行在STM32H753IIT6
    发表于 03-29 06:19

    fpga开发板是什么?fpga开发板有哪些?

    FPGA开发板是一种基于FPGA(现场可编程门阵列)技术的开发平台,它允许工程师通过编程来定义和配置FPGA芯片的逻辑电路,以实现各种数字电路和逻辑功能。FPGA
    的头像 发表于 03-14 18:20 1843次阅读

    如何在PSoC62 Evaluation kit开发板运行RT-Thread呢?

    本文主要介绍如何在PSoC62 Evaluation kit开发板运行RT-Thread,如何连接CYW43012 WiFi蓝牙模组,以及如何进行WiFi联网、网络延迟、网络带宽测试。
    的头像 发表于 02-27 10:49 952次阅读
    如何在PSoC62 Evaluation kit<b class='flag-5'>开发板</b><b class='flag-5'>上</b><b class='flag-5'>运行</b>RT-Thread呢?

    请问可以利用RT-Thread修改属于自己开发板包?

    我在使用RT-Thread的时候,因为默认能选择的开发板包有限 所以开发的时候我使用的是目前拥有的比较类似的开发板,但是硬件是不同的,每次添加组件之后,重新编译 就会把我修改了的内容给
    发表于 02-26 08:19

    ELF 1技术贴|如何将Python3.6.9移植到开发板

    如何进行交叉编译并移植到ELF1开发板。在网址:https://www.python.org/ftp/python/下载Python-3.6.9.tar.xz压缩
    的头像 发表于 02-22 14:06 406次阅读
    ELF 1技术贴|<b class='flag-5'>如何将</b>Python3.6.9移植到<b class='flag-5'>开发板</b><b class='flag-5'>上</b>

    在TP芯片开发的软件想要运行在同型号的TE芯片,需要做什么修改吗?

    嗨,请教个问题,如在TP芯片开发的软件想要运行在同型号的TE芯片,需要做什么修改吗?
    发表于 02-01 08:01

    如何将Go程序编译到ELF 1开发板

    编译并运行在ELF1开发板的。一、在GoLand中配置(一)配置SSH连接Ubuntu虚拟机以及ELF1开发板1、打开GoLand的设置选项找到SSH,配置连接到
    的头像 发表于 01-29 10:42 496次阅读
    <b class='flag-5'>如何将</b>Go程序编译到ELF 1<b class='flag-5'>开发板</b>

    鸿蒙设备-开发板基础学习(BearPi-HM Micro)

    /download_img/kernel/ 五、烧录镜像 开发板的拨码开关上拨到“000”烧录模式,并按一下开发板的RESET按键 在Windows打开STM32CubePro
    发表于 01-08 21:54

    带你玩转AM62x开发板的显示接口——LVDS的显示和修改方式

    此前小编已为大家介绍过OK6254-C开发板的RGB显示和修改方式,没有读过的小伙伴可以>>点击这里阅读,今天继续为大家介绍OK6254-C开发板的LVDS显示和
    的头像 发表于 01-05 08:02 1201次阅读
    带你玩转AM62x<b class='flag-5'>开发板</b>的显示接口——LVDS的显示和<b class='flag-5'>修改</b>方式

    STM32+Linux开发板应用手册

    STM32 WIFI Linux 安卓智能控制开发板应用手册
    发表于 12-21 11:04 3次下载