当前位置: 首页 > news >正文

做网站公司郑州整站优化seo平台

做网站公司郑州,整站优化seo平台,高校网站建设目的与意义,网站建设书本文使用的开发板为 stm32f103C8T6,使用的驱动库为stm32标准库。 目录 一、软件下载 1、stm32 标准库 2、arm-none-eabi 工具链 3、烧录器 二、Keil 工程改造 1、Keil 工程 2、基本 Makefile 工程 3、添加启动文件 4、添加链接脚本 5、去掉 core_cm3.c 三…

本文使用的开发板为 stm32f103C8T6,使用的驱动库为stm32标准库。


目录

一、软件下载

1、stm32 标准库

2、arm-none-eabi 工具链

3、烧录器

二、Keil 工程改造

1、Keil 工程

2、基本 Makefile 工程

3、添加启动文件

4、添加链接脚本

5、去掉 core_cm3.c

三、Makefile 脚本

1、添加环境变量

2、Makefile 脚本

四、烧录


一、软件下载

工程搭建阶段:stm32f10x 标准库

工程编译阶段:arm-none-eabi 工具链、cmake(包含make指令)

程序烧录阶段:ST-Link

1、stm32 标准库

stm32 标准库下载地址:Download | Stm32 Standard Library

2、arm-none-eabi 工具链

arm-none-eabi 交叉编译工具链下载地址:Download | arm-none-eabi

stm32f103C8T6 内不含操作系统,所以需要选择裸机运行的工具链,这里选择arm-none-eabi 工具链。arm-none-eabi 的 “arm”代表支持 arm 架构,“none” 表示不指定目标操作系统,“eabi” 是 Embedded ABI 的缩写。

相比之下,arm-linux-gnueabi 虽然也支持 arm 架构,但面向的是 Linux 操作系统,“gnu” 表示使用的 C 库是 GNU C Library(通常称为 glibc),这是 Linux 系统上常用的标准库。

3、烧录器

ST-Link 下载地址:STSW-LINK004 - STM32 ST-LINK utility - STMicroelectronics

stm32 最合适的烧录器便是 ST-Link。ST-Link 是意法半导体(STMicroelectronics)开发的一种嵌入式调试器和编程器,专门用于STM8和STM32系列的微控制器。ST-Link的功能主要包括:

  1. 在线调试通过SWD(Serial Wire Debug)或JTAG接口连接到目标微控制器,ST-Link允许用户使用集成开发环境(IDE)如STM32CubeIDE、Keil μVision 或 IAR Embedded Workbench进行源代码级别的调试。用户可以设置断点、单步执行、查看和修改内存及寄存器内容。
  2. 固件编程ST-Link可以将编译好的HEX或BIN文件烧录到微控制器的闪存中,完成固件的更新或初次编程。

二、Keil 工程改造

1、Keil 工程

现在使用 Makefile 编译,我们需要将原本的工程进行简化,去掉一些 Keil 平台独有的文件,仅保留源文件和头文件。原 keil 工程结构如下。

  • MODULE:保存自定义模块
  • STM32F10x_LIB:stm32 标准库
  • USER:保存主函数文件、启动文件、stm32系统文件

2、基本 Makefile 工程

MODULE、STM32F10x_LIB 无需做任何变动,USER 仅保留.c源文件、.h头文件,其他的先删除,.s 文件也不要,因为后续编译用的 gcc 编译器,需要使用支持 gcc 编译器的startup汇编文件。筛过一遍的Makefile工程如下(Makefile 文件留到最后写)

3、添加启动文件

解压stm32 标准库的压缩包,在 Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup 下包含了各种环境适配的启动文件。

选择 gcc_ride7 目录下的 startup_stm32f10x_md.s,md 代表了 flash 容量大小为medium density。

后缀flash 容量区间
ld[0, 16KB]
md[32KB, 64KB)
hd[64KB, 128KB)

4、添加链接脚本

链接脚本指示编译生成的各个段应如何被放置在内存中,Keil 存在默认配置,所以使用Keil 时无需关心这些,现在不使用 Keil 则需要通过链接脚本实现。标准库中也提供了链接脚本的模板,使用 everything 搜索 stm32_flash.ld 。下面任意一个均可。

添加到工程后,需要做一点改动,原 Keil 工程中有默认的配置,我们需要应用到链接脚本中。

起始地址可以直接照搬,IROM1 的Size 需要转换一下,0x10000 的单位是字节,需要转换成 KB,0x10000 Byte = 64 KB。 

5、去掉 core_cm3.c

如果标准库中包含 core_cm3.c ,暂时先去掉,实际在编译时,该文件无法编译通过。

ps:如果要保留这个文件,修改方法可以参考这篇文章末尾:如何用gcc+makefile改造STM32Keil项目 - lqxhgd - 博客园 (cnblogs.com)

 

三、Makefile 脚本

1、添加环境变量

解压交叉编译工具链压缩包,并添加环境变量 ARM_NONE_EABI_ROOT,对应的值为 交叉编译工具链 arm-none-eabi 的根目录。同时将 bin 目录添加到环境变量 PATH

2、Makefile 脚本

 Makefile 脚本参考:Linux Makefile Template

四、烧录

 如果编译通过,会在 build 目录下生成 .elf、.bin 以及 .hex 文件,其中 .hex 和 .bin 适用于裸机环境,.elf 适用于包含操作系统的环境。

 打开 ST-Link,连接到开发板,若连接成功可以看到右边的设备信息。

准备开始烧录

烧录成功后 

参考文章:

keil 采用 makefile 实现编译_keil makefile-CSDN博客 

如何用gcc+makefile改造STM32Keil项目 - lqxhgd - 博客园 (cnblogs.com) 

【嵌入式】基于makefile的STM32编译方法探索 - 简书 (jianshu.com) 

http://www.tj-hxxt.cn/news/30572.html

相关文章:

  • 济南做网站互联网公司排名搜索引擎网络推广方法
  • wordpress 加载进度条悟空建站seo服务
  • 做网站的一般尺寸长沙seo管理
  • 十大网站建设公司排名品牌营销战略
  • 广州网站建设公司排名淘宝推广
  • 石家庄网站制作公司哪家好杭州百度推广
  • 做网站前端用什么软件短视频营销方式有哪些
  • 深圳优化猫长沙网络优化产品
  • 河南今日新闻头条整站优化工具
  • 南昌金启网站建设云南网络推广seo代理公司
  • 给人做logo的网站新闻网最新消息
  • 网页设计的基本原则西安优化seo
  • 摄影图片网站谷歌商店app下载
  • 可以做动态图表的网站关键词抓取工具都有哪些
  • 做ipad的网站尺寸是多少怎么在百度发布个人简介
  • 甘肃省建设厅网站官网重庆发布的最新消息今天
  • 金融网站建设公司排名今日头条新闻手机版
  • 服务外贸论坛湖南百度seo排名点击软件
  • 做网站大概价格可以推广的平台
  • flash打开网站源码seo优化百度技术排名教程
  • dedecms的网站系统设计结论长沙百度提升排名
  • 卢松松网站的百度广告怎么做的互联网广告行业分析
  • 中山做网站比较好114黄页
  • 做网站搞流量挂联盟广告变现个人博客登录首页
  • 最专业的佛山网站建设百度竞价员
  • 罗田县建设局网站网站seo哪家好
  • 做网站不用我的服务器win10优化大师好用吗
  • 代发货网站建设文案代写在哪里接单子
  • 徽章设计制作小程序山东济南seo整站优化费用
  • 提升网站权重的方法网站seo设计