第一章——如何将stm32407移植到stm32427

2023-10-16 06:38

本文主要是介绍第一章——如何将stm32407移植到stm32427,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

写在前面:

本次系列是针对比赛的调试,去年比赛我们使用的核心控制板是STM32F407,今年决定用STM32F427,所以需要移植我们的程序,这里用到的调试软件是IAR,当然用keil也是一样的。在此之便,顺便记下一些东西,也顺便记录下这一年的调试过程,希望能坚持下去!

第一章 从407到427

如何计划?

407到427的区别并不大,替换的文件也比较少,相对来说没有F1到F4的复杂。我也是查了很多相关的博客文章,才移植成功。

当你开始做出这个决定的时候,如何移植是我们的第一个问题,首先我们肯定知道,尽管都是F4,但是完全按照老的程序文件烧录是行不通的,这就表明我们一定得改一些文件和初始化的配置。

第一步 更改调试环境

这里我使用的调试软件是IAR8.3,用keil也可以,从我的角度看,keil对于32系列是真的很好用,对于配置操作都比较友好,而IAR可以适用更多的单片机型号,而且调试更方便。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Uy9D1NDa-1635344365812)(C:\Users\Sherlock\AppData\Roaming\Typora\typora-user-images\image-20211026202904114.png)]

首先进入option配置选项中配置环境,第一个是板子型号device和CORE,在target下如上图所示。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4kXKSN6F-1635344365814)(C:\Users\Sherlock\AppData\Roaming\Typora\typora-user-images\image-20211026203155949.png)]

然后是到编译设置中的preprocessor中去丢入你的.h文件路径(additional include directories),在define symbols去定义相关特征。

STM32F427_437xx(跟你板子型号有关)
USE_STDPERIPH_DRIVER(驱动方式)
ARM_MATH_CM4(跟你用CORE4还是CORE3有关)
HSE_VALUE=8000000(跟你板子的晶振频率有关,这里是8MHz,可以设置为4—26MHZ)

在这里插入图片描述

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Vw9dqdMn-1635344365816)(C:\Users\Sherlock\AppData\Roaming\Typora\typora-user-images\image-20211026203910132.png)]

然后设置debug模式为J-link/J-Trace,当然,这个取决于你的烧录方式,也可以是CMSIS,一般来说这两个是我们经常用的。

第二步 更改文件

APP文件

APP文件下面是一些初始化文件,作为都是F4来讲不用更改把里面.h文件所在路径都放到之前的头文件目录中就行。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yxcJ3KIW-1635344365818)(C:\Users\Sherlock\AppData\Roaming\Typora\typora-user-images\image-20211026204352779.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zrnL87ab-1635344365819)(C:\Users\Sherlock\AppData\Roaming\Typora\typora-user-images\image-20211026204436253.png)]

BSP文件

这个文件下面放的是你自己写和创建的.c和.h文件,也不用更改,只用加路径即可。
在这里插入图片描述

DRIVER

驱动文件

这个是最主要的部分。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6JxEPDvF-1635344365822)(C:\Users\Sherlock\AppData\Roaming\Typora\typora-user-images\image-20211027220319210.png)]

首先是在你对应的.h文件目录下面要加入stm32f427.h文件。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-74DWQvxp-1635344365823)(C:\Users\Sherlock\AppData\Roaming\Typora\typora-user-images\image-20211027220443725.png)]

然后是在你启动文件的目录下面加入startup_stm32f427xx.s文件。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-orrgDKHk-1635344365823)(C:\Users\Sherlock\AppData\Roaming\Typora\typora-user-images\image-20211027220812622.png)]

另外,你要注意的是,f407和f427不同处还在于包含的fmc和fsmc头文件不一样,如果你之前的f407没有fmc文件的话会报错,你可以把它注释掉,当然也可以直接删除fsmc文件或者新添加fmc文件。

第三步 烧录!

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WTpTTz4e-1635344365824)(C:\Users\Sherlock\AppData\Roaming\Typora\typora-user-images\image-20211027221320163.png)]

最终其实最需要的是以上两个文件,然后如果你编译通过,添加对应的一些.c文件就可以正常运行啦!比如点亮LED灯来测试你的移植成果。

PS:事实上,这里设置还不完备,当你点完灯准备测试一个can通信或者PWM的电机时,你会发现电机根本动不了!而且没有任何错误,这是为什么呢?请看下一章——《电机调试与时钟配置

这篇关于第一章——如何将stm32407移植到stm32427的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/219720

相关文章

FreeRTOS-基本介绍和移植STM32

FreeRTOS-基本介绍和STM32移植 一、裸机开发和操作系统开发介绍二、任务调度和任务状态介绍2.1 任务调度2.1.1 抢占式调度2.1.2 时间片调度 2.2 任务状态 三、FreeRTOS源码和移植STM323.1 FreeRTOS源码3.2 FreeRTOS移植STM323.2.1 代码移植3.2.2 时钟中断配置 一、裸机开发和操作系统开发介绍 裸机:前后台系

RT-Thread(Nano版本)的快速移植(基于NUCLEO-F446RE)

目录 概述 1 RT-Thread 1.1 RT-Thread的版本  1.2 认识Nano版本 2 STM32F446U上移植RT-Thread  2.1 STM32Cube创建工程 2.2 移植RT-Thread 2.2.1 安装RT-Thread Packet  2.2.2 加载RT-Thread 2.2.3 匹配相关接口 2.2.3.1 初次编译代码  2.2.3.

【自然语言处理】第一章绪论

第一章 绪论 文章目录 第一章 绪论1. 什么是自然语言2. 自然语言处理的定义2.1 自然语言处理NLP2.2 计算语言学CL2.3 NLP与CL 3. 自然语言处理的研究内容3.1 研究对象3.2 研究层次3.3 研究问题3.4 研究内容3.4.1 资源建设3.4.2 基础研究3.4.3 应用技术研究3.4.4 应用系统 4. 自然语言处理的流派5. 自然语言处理的挑战

第一章 MUD:创造世界的巫师

自从有了游戏之后,人们不满足于做屏幕前的操控者,而是梦想着自己能够进入到游戏的绚丽世界中,在剑与魔法的世界中拯救世界,称为吟游诗人歌颂的屠龙 勇者,或者在武侠世界中快意恩仇,体验江湖恩怨儿女情长。网络游戏的出现让这个梦想渐渐变为可以触摸的东西,直至成为现实。   如果要追溯网络游戏的历史,我们要将目光投向20世纪70年代。早在1969年,美国人瑞克•布罗米(Rick Blom

libmad音频解码库-Linux交叉编译移植

下载并解压libmad-0.15.1b.tar.gz 下载链接:https://downloads.sourceforge.net/mad/libmad-0.15.1b.tar.gz $tar -xvf libmad-0.15.1b.tar.gz$cd libmad-0.15.1b 1、先执行下面的命令:这条命令是为了适配高版本的gcc,因为高版本的gcc已经将-fforce-mem去除了:

arm linux lua移植

lua: lua home 1.下载lua源码 lua下载 lua-5.3.4.tar.gz 2.解压: tar xvf lua-5.3.4.tar.gz 3.修改makefile and luaconf.h $修改 lua-5.3.4/Makefile #INSTALL_TOP= /usr/local INSTALL_TOP= $(shell pwd)/out #修改安装目录(当前目录/o

第一篇 第一章资金时间价值计算及应用 第二章经济效果评价

第1章 资金时间价值计算及应用 资金具有时间价值 1.1 利息的计算 1.1.1 利息和利率 I=F-P 债务人为资金需求方 债权人为资金供给方利息对经济活动的影响(1.影响企业行为 2.影响居民资产选择行为 3.影响政府行为) 利率 1.影响因素(1.社会平均利润率的高低 2.市场资金供求对比状况 3.资金要承担的风险 4.债务资金使用期限长短 5.政府宏观调控政策 6.经济周期所处

第一章 软件工程的概述简记

第一章  软件工程的概述         *软件的概念:软件(Software)是一系列按照特定顺序组织的计算机数据和指令的集合。         软件的分类:(5大类)                   *1.基于软件功能划分                                  1)系统软件

第一章——计算机系统概述

🌈个人主页:小新_- 🎈个人座右铭:“成功者不是从不失败的人,而是从不放弃的人!”🎈 🎁欢迎各位→点赞👍 + 收藏⭐️ + 留言📝 🏆所属专栏: 计算机组成原理   欢迎订阅,持续更新中~~~                                                       ✨让小新带着你快乐的学习吧~✨ 目录 前言 一、操作系统的概念和

第一章 感受mac之美-换一种方式用电脑,开启新历程

感谢关注我的读者一直以来的追随与信任。去年到今年以来大环境都不是很好。裁员,机构优化,工厂倒闭,公司破产,贸易战等消息传来,不少还是身边发生的。今年开年以来更是有病毒横行,天降蝗灾等灾害。愿大家都好好的,同时希望这场战役早早告捷。今天是二月二 ,民间传说龙抬头,祝愿大家从此事业腾飞,从此出人头地。 我在这断更的两年中的一些情况,一直处于闭关的状态,一直在学习与实践。后续再和大家一起分享这俩年