基于ubuntu的STM32嵌入式软件开发(三)——基于官方标准函数库的软件工程移植
本文基于st官方提供的标准库搭建应用软件工程(即非cube方式、非寄存器方式),采用标准库搭建的工程具有软件可移植性高、可读性好、符合软件设计人员思维方式。本文描述官方下载标准库及标准库的移植过程,具体流程如下所述:
1.首先在st官方下载stm32f4系列最新的标准库压缩包(STSW-STM32065的标准库)。
https://www.st.com/en/embedded-software/stsw-stm32065.html
![](/assets/blank.gif)
2.拷贝stm32f4系列的标准库(V1.9版本)到工作目录并解压。
![](/assets/blank.gif)
3.新建应用软件工程目录project_m4,并在project_m4的目录下新建5个子目录(分别新建cmsis、include、source、fwlib、user等5个文件夹)。
![](/assets/blank.gif)
4.将标准固件库目录/Libraries/CMSIS/Include文件夹,以及固件库文件目录/Libraries/CMSIS/Device/ST/STM32F4xx/Source/Templates/TrueSTUDIO文件夹,全部拷贝移植到project_m4/cmsis文件夹下,移植后cmsis文件夹目录如下图所示:
![](/assets/blank.gif)
5.将标准固件库文件目录/Libraries/STM32F4xx_StdPeriph_Driver文件夹下的inc和src文件夹全部拷贝移植到fwlib文件夹下,移植后fwlib文件夹目录如下图所示:
![](/assets/blank.gif)
6.将标准固件库文件目录/Libraries/CMSIS/Device/ST/STM32F4xx/Include文件夹目录下的stm32f4xx.h、system_stm32f4xx.h文件拷贝到project_m4/include文件夹下。
![](/assets/blank.gif)
7.将标准固件文件目录Project/STM32F4xx_StdPeriph_Templates目录下的main.c、stm32f4xx_conf.h、stm32f4xx_it.h、stm32f4xx_it.c、system_stm32f4xx.c拷贝移植到project_m4/user文件夹下,其中main.c文件是STM32工程文件的主函数程序,移植后user文件夹目录如下图所示:
![](/assets/blank.gif)
8.将标准固件库文件目录Project/STM32F4xx_StdPeriph_Templates/TrueSTUDIO/STM32F40_41xxx文件夹下的STM32F417IG_FLASH.ld拷贝到projec_m4的应用软件工程目录下,并重命名为stm32_flash.ld。
![](/assets/blank.gif)
9.至此完成了应用软件工程的搭建,下节将介绍应用软件修改、Makefile及编译脚本编写。
基于ubuntu的STM32嵌入式软件开发(三)——基于官方标准函数库的软件工程移植相关推荐
- 基于Ubuntu和STM32分析全局变量、局部变量、堆、栈
目录 一.C程序的内存分配 二.STM32的内存分布 三.Ubuntu系统和STM32中验证 1.Ubuntu 2.STM32 四.参考资料 一.C程序的内存分配 栈(stack) 由编译器自动分 ...
- 基于android的移动应用开发PPT,基于Android的移动应用开发课件.ppt
基于Android的移动应用开发课件.ppt * 界面事件 触摸事件 当手指接触到触摸屏.在触摸屏上移动或离开触摸屏时,分别会引发ACTION_DOWN.ACTION_UP和ACTION_MOVE触摸 ...
- 基于Eclipse搭建STM32开源开发环境
最近项目不忙,想着没事看看简单的嵌入式,弄弄物联网什么的.于是就从廉价的STM32开刀了.因为一直是做PC软件开发的,那VS的智能感知那叫一个爽啊,相比之下,觉得这个Keil简直就像文本编辑器一样lo ...
- STM32单片机开发实例 基于STM32单片机的智能行李箱
一.系统设计 本次设计的是基于STM32F103C8T6单片机设计的一款智能行李箱,系统内使用HX711压力传感器模块采集行李箱内的重量数据,使用ULN2003电机驱动模块来驱动两个步进电机 以此来模 ...
- STM32单片机开发实例 基于STM32单片机的温室大棚监测系统
一.系统设计 通过STM32单片机进行主控,通过光敏电阻模块进行大棚内的光照强度的采集,通过DHT11数字温湿度传感器进行温湿度的采集,通过气压模块进行大棚气压强度的采集,通过水滴模块进行土壤湿度的采 ...
- 基于ESP8266的STM32物联网开发板
这个板子也是我做的第二块开发板,同时也是一款物联网开发板. 既然是开发板,那我肯定是把所有模块都打通了: 既然是物联网开发板,也是把物联网打通了才会来画这个开发板. 废话不多说,先上图再详谈: 上图芯 ...
- STM32单片机开发实例 基于STM32单片机的智能血压计
一.系统设计 通过单片机32作为主控制器,完成对人体血压的测量,主要方式是通过气压模块来模拟完成对血压的采集,同时将采集到的血压数据在显示屏上进显示.同时可以通过按键对整个血压上下限值进行设定,一旦超 ...
- 基于MyEclipse+Tomcat+Mysql+JSP开发得基于java的保险业务管理系统的设计与实现
•本管理软件的开发工具为Myeclipse,前台页面使用JSP技术,后台数据库为MySQL,使用SSH框架,配合数据库的连接,使此系统里的每个模块都能很好的实现. 1.登录模块 5-1 登陆界面 所 ...
- 基于正点原子F103精英板和CubeIDE的Hal库LCD驱动移植(从零开始)
最近在学习王维波老师的<STM32Cube高效开发教程>,王老师移植的是普中科技的驱动,而我手动移植了一下正点原子的lcd驱动,看了网上的诸多教程,有的博客存在一些bug,于是乎手动整理了 ...
最新文章
- 此内容过于真实,引起强烈舒适
- “.NET研究”关于C# 中的Attribute 特性
- Python数据分析学习笔记05:用户画像
- java-Hyper-V
- IntelliJ IDEA 的这个接口调试工具真是太好用了!
- information_schema.engines学习
- JS原生Ajax和jQuery的Ajax与代码示例
- Django2 SQLite3迁移到MySQL数据库
- 基于局部自适应阈值的图像二值化
- tips to understand kexec
- 信号与线性系统管致中第六版pdf_2021年西北工业大学887信号与系统基础考研全套...
- 校验码的计算方法说明
- Oligo 7 引物设计 安装
- 山东大学高频电子线路实验二 高频功率放大实验详解
- 电脑上打开chm文件时系统提示:不能打开文件:mk:@MSITStore:(文件路径)
- 数据预处理之数据缩放
- 滴滴云GPU服务器做深度学习之tensorflow object detect 对象检测 实践
- Spring实战学习笔记
- android 获取屏幕旋转方向,android获取手机屏幕尺寸和旋转方向
- JDK JRE JVM的区别
热门文章
- 历届蓝桥杯JavaC组真题标题
- HeyUI组件库 | 如何实现在线切换主题
- 小程序 通过id从列表页跳转到对应的详情页
- 【论文翻译】Taking A Closer Look at Domain Shift:Category-level Adversaries for Semantics Consistent Domai
- NEC发布USB 3.0控制芯片 下月出货
- 烧录的HEX文件大于flash存储空间问题
- 基于SOGOU电子地图和GPS定位的车辆管理系统
- 如何用ChatGPT进行剧本/广告脚本写作?
- 计算机在工作中的应用,计算机技术在设计工作中的应用
- [程序设计]基于人工智能博弈树,极大极小(Minimax)搜索算法并使用Alpha-Beta剪枝算法优化实现的可人机博弈的AI智能五子棋游戏。