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

    文章

    1094

    浏览量

    128139
  • STM32
    +关注

    关注

    2239

    文章

    10669

    浏览量

    348685
  • 开发板
    +关注

    关注

    25

    文章

    4417

    浏览量

    93915
收藏 人收藏

    评论

    相关推荐

    STM32F769I-DISCO开发板跑TouchGFX里的demo卡死黑屏的原因?

    买的官方的STM32F769-DISCO开发板,下载SDK里的官方例程跑的很流畅。自己在TouchGFX找到STM32F769-DISCO
    发表于 04-12 07:46

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

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

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

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

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

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

    嵌入式学习-ElfBoard ELF 1开发板-共创官学习笔记分享|Go程序编译到ELF 1开发板

    编译并运行在ELF 1开发板的。 一、在GoLand中配置(一) 配置SSH连接Ubuntu虚拟机以及ELF 1开发板1、打开GoLand的设置选项找到SSH,配置连接到Ubuntu
    发表于 02-21 10:22

    盘点那些硬件+项目学习套件:Hi3861鸿蒙开发板及入门常见问题解答

    华清远见20岁了~过去3年里,华清远见研发中心针对个人开发板业务,打造了多款硬件+项目学习套件,涉及STM32单片机、嵌入式、物联网、人工智能、鸿蒙、ESP32、阿里云IoT等多技术方向。 今天我们
    发表于 02-01 16:55

    盘点那些硬件+项目学习套件:STM32MP157 Linux开发板及入门常见问题解答

    华清远见20岁了~过去3年里,华清远见研发中心针对个人开发板业务,打造了多款硬件+项目学习套件,涉及STM32单片机、嵌入式、物联网、人工智能、鸿蒙、ESP32、阿里云IoT等多技术方向。 今天我们
    发表于 02-01 14:25

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

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

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

    编译并运行在ELF1开发板上的。一、在GoLand中配置(一)配置SSH连接Ubuntu虚拟机以及ELF1开发板1、打开GoLand的设置选项找到SSH,配置连接到
    的头像 发表于 01-29 10:42 205次阅读
    <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

    【核桃派1B 开发板试用体验】0基础小白该如何玩转LINUX开发板

    、命令行调试还是修改并编译系统?如果你是一位从未接触过LINUX开发板的小白用户,建议你按照上面的顺序依次学习和体验这三部分内容。 先来说说运行。你可以按照官方教程中的“开箱指南”和
    发表于 01-02 16:32

    迅为iTOP-RK3568开发板npu手册更新

    ;gt;>>【资料新】基于3568开发板的NPU开发资料全面升级 此次对《iTOP-3568开发板npu使用手册》进行更新,修改
    发表于 11-03 14:40

    嵌入式Linux开发的相关资料

    系统可以启动 主要工作之二: 针对平台上硬件的修改进行驱动的移植,主要是网络模块,NAND FLASH,FRAMEBUFFER等等 在移植的过程中,需要熟悉板子的硬件,各种芯片的使用,以及cpu的使用,因此有兴趣的话可以专门尝试将其他bootloader移植到自己
    发表于 09-22 08:31

    如何将应用程序移植到运行在基于Arm的设备的Windows?

    本指南介绍如何将应用程序移植到运行在基于Arm的设备的Windows。该指南首先回顾了一般指南,然后展示了不同框架的示例:Tweeten应用程序的Electron移植、StaffPad应用程序
    发表于 08-02 06:06

    STM32F407开发板资料

    STM32F407开发板1.zip,方便你在这个原理图基础上进行修改和定制,提供常用的元器件封装库,节省设计时间
    发表于 07-03 15:08 5次下载