IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> 1319_STM32F103串口BootLoader移植 -> 正文阅读

[嵌入式]1319_STM32F103串口BootLoader移植

全部学习汇总: GreyZhang/g_stm32f103: some hack for stm32f103 (github.com)

最近用了一段时间的串口,感觉在调试方面非常有帮助。我也反复对比Arduino,其实Arduino的流行我觉得开发以及调试环境简单是其中一个很重要的原因。Arduino本身有一个还比较好用的BootLoader,不管怎么说,至少我在使用的时候没有发现过它的问题。我觉得,加强版的STM32F103其实也可以加一个BootLoader,从此逐渐扔掉调试器。

我在网络上找到了STM32Duino,这个后面我也会尝试用一下。同时也找到了一个串口BootLoader,我觉得串口BootLoader应该是一个比较干脆的方案。

我找到的开源项目链接: ferenc-nemeth/stm32-bootloader: UART bootloader for STM32 microcontroller. (github.com)

这个项目的功能开发直接基于STM32的SDK,因此如果使用ST的开发工具做一个迁移的话非常简单。我使用了STM32 CubeIDE来做了这个迁移。整个移植几乎全都是复制替换,再加上几个管脚信息的修改等。

首先,这里的修改是把最初的时钟源切换成晶振。其实,针对BootLoader来说,这个修改改不改都行,尤其是自己hack的情况下。

这里的修改,主要是为了能够支持调试功能。

这里开启了一个串口的功能,这个也是接下来进行BootLoader传输的通信方式。

其他的暂且不看了,只是几个LED灯或者管脚配置,都比较简单。

我使用了一个STM32F103的板子,直接使用这个板子进行调试还是很简单的。几个文件拷贝,拿来主义即可。

上面的6个文件是来自于前面的链接的。

这个是主函数中的初始化以及循环的一部分,我这里暂时没有全抄,目的是想默认进BootLoader,方便我调试。

这里增加的逻辑是为了能够有几秒钟的时间,选择是否进入BootLoader的刷写模式。

这几个配置是我编译成功后又改的,我发现目前的BootLoader的Flash占用还是很大的,后面可能有一个优化项。

编译成功后的提示信息,可以看出来资源占用不少。保险起见,我先给BootLoader分配了12KB的Flash。

这个是连接上串口调试工具的效果。这里需要说明一下,我试了很多个串口工具,花了大量的时间去调试代码。最后发现不同的串口工具行为不同,从链接中找到的这个是符合设计协议的要求的。

这个是烧写的时候的交互界面。

我用调试器查看了存储信息,现在确认BootLoader已经工作了。但是现在遇到了跳转之后APP进入了Hard Fault的问题。接下来还得去做一个进一步的排查,但是这个基础的传输以及烧写流程算是调试过了。

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2022-08-06 11:00:44  更:2022-08-06 11:01:34 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 23:24:45-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码