| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 嵌入式 -> 替代STM32的GD32,替代KEIL的Eclipse配置---连载4 -> 正文阅读 |
|
[嵌入式]替代STM32的GD32,替代KEIL的Eclipse配置---连载4 |
前言? ? 上篇文章介绍了怎么将STM32F103的程序变为GD32F103的程序。大体思路就是将所有的文件替换,但是这个不是基于HAL库的。Eclipse产生的F407的程序是基于HAL库的,而STM32H750也是基于HAL库的,所以这两个程序也可以去替换更改。并且更改着很舒服,当然直接将103的程序加入HAL库也是可以的,不过比较麻烦点,有现成的东西就不用需要自己做的,这个是编程人员的基本素质。能用ctrl+c和ctrl+v就不要自己写,避免重复造轮子。 第一章:Eclipse产生STM32F407的HAL库程序? ? 先基本的产生407的程序,删除掉不用的库文件什么的文件结构如下: ? ? ?与407相关的就7个文件,上图已经很清楚了,将除了vector的文件全部替换成750的。同时将HAL库的c文件和h文件也替换掉。然后更新下如下图: ? ? ?明显的更换成了h7系列的程序。 第二章:替换和编译? ? 这部分应该是最头大的,慢慢来。 ? ? 先看编译后的效果,出现了100多个错误,并且不知道为啥出错误。 ? ? 现在就很头疼了,开始的时候根本不知道哪里错误了。根据上篇文章中的经历,知道哪里错误了。 ? ? 注:其实从简单到复杂的修改的好处就在这里,你大概能知道在哪里修改,并且小的东西出现的问题能一个一个的找,然后大的东西是由小的东西构成的,你就知道往哪个方向努力了!? ? ? 解决办法:打开setting,怎么操作,这个属于基本的,网上很多,就不说明怎么点的了。 ? ? ?可以看出来全部变量是引用的F407的文件,所以修改成750的。 ? ? ?然后再次编译,发现错误剩下2个了,这就好解决了。 ? ? ?这个是因为全部文件修改为h750的了,所以这个f407的头文件没有了,双击去修改,然后再次编译,又出现取消main的h文件,直接删掉就好,因为没有这个头文件,不用管。 ? ? ?然后再次编译,发现没有错误了。连个warning都tm没有,所以感觉还挺好。 ? ? ?至此,程序前期替换工作修改完毕。 第三章:修改和编译? ? 这里将407的文件全部替换为750的文件,还有个地方就是vector这个c文件。这里就需要750的中断向量表了。找到750的中断向量表,和上篇文章一样进行修改。 ? ? ?这个需要足够的耐心去修改,有时候中断入口的名称仅仅是改了一个字母,就会产生错误,小伙伴们需要好好的去修改。修改完成后换个名字,如上图所示,然后再次编辑。没啥错误。 ? ? 然后就是mem文件,下面是407产生的mem文件: ? ? ?根据407的说明书,可以看看这几个参数。 ? ? ?只看flash和ram这两个参数,其他的不用管。只要对应上就行了,或者比里面的小也行。反正只要别超过就可以。 ? ? 再看750的手册: ? ? ?1024K的ram和128K的flash,只要对应好就行了。 ? ? 然后就是编译,加入自己的程序就好。当然750是基于HAL库的,里面用的函数都一样。 ? ? ?然后加入自己的led、time、uart程序,就发现可以下载并可以运行了。至于怎么下载和debug,这个网上很多教程。以后单独的出一篇文章介绍怎么弄的。 第四章:注意点? ?注意点1:晶振? ? 407的晶振是8M的,750的晶振是25M的,所以必须在全局变量里面修改这个参数。 ? ? 注意点2:晶振选择? ? 407的程序不选择晶振,晶振参数出问题也可以跑。750的HAL库程序是判断晶振的,所以必须设置为外部晶振,并且对应程序也得相应修改,里面的sys文件就是处理这个问题的。
? ? 注意点3:cache是否开启
? ? 初始化的时候,需要初始化cache,和hal库,至于不初始化会有什么bug,这个还真没有测试过。看正点原子的程序,有的初始化了,但是别人改写的他的程序却没有初始化,测试了下都没啥问题,但是在运行过程中会不会出问题,这个还需要时间去检验。 ? ? 注意点4:输出? ? 写的自己的程序仅仅定时器,灯和串口。这三个都是正确的,至于程序的其他功能,还真没有测试。但是103的程序是测试了,没有什么问题。灯和串口和上篇文章的结果是一样的,都是正常运行。 第五章:总结? ? 至此,Eclipse的程序全部修改完毕,用时2个星期。 ? ? 想想开始的时候,搜寻网页和资料都不知道怎么去修改,到现在的能写出文章给小伙伴们去介绍这个东西怎么弄。自己也是差不多花费了全部心血。开始的时候几个概念都不太清楚,到最后才发现修改的地方也没有几个。 ? ? 或许知识就是这样吧,不了解的时候感觉挺难的,但是学会了感觉,怎么就这点东西。想起来了刚学数学的时候,1+1怎么那么难。其实现在给个转变也挺难的。A=1,B=2,,,以此类推一直到9。然后问C+D等于多少,我想也需要花很长时间去反应吧。现在自己也有了宝宝,将来他学数学的时候或者能够理解他的心情。知识不久这样嘛,技不压身,但是学习过程是非常难的。岁数大了,学习这东西是带有恐惧色彩的。 ? ? 从前面的迪文屏幕,嵌入式屏幕,到之后的LINUX系统,再到FPGA,再到现在的Eclipse,每一步我感觉自己都把自己榨干了,不知道下面还需要学习什么,在这里和小伙伴们吐槽一下吧,真的挺难的。 ? ? 想想自己刚毕业的时候,点亮个LED灯都能高兴半天,学会串口都能高兴一个星期。到现在慢慢的,做出来一个很有挑战的东西都是感觉这是应该做出来的。我不知道怎么才能回到原来的心理状态,可能永远回不去了。就像以前总有想吃的东西,过几个星期想吃个肯德基,过几个星期想吃个烤鱼,现在呢,没有什么想吃的了。现在也慢慢理解为啥父母都把好吃的给自己吃了,可能年龄大了,大部分都尝过了,也经历过了,就慢慢把这种欲望给弄丢了。挺无奈也挺难受的吧。真不知道将来自己还会丢失什么现在的东西,慢慢的品吧! 第六章:展望? ? 以后有时间再写怎么配置Eclipse和怎么run和怎么debug吧,得休息一段时间,写文章也是非常累的。真的!虽然博士毕业的时候,写文章感觉还挺轻松,但是工作之后就感觉累了! ? ? 技术这块,别人能做出来,咱们也能做出来,只是时间问题!所以慢慢花点时间,总能做出来。小伙伴如果需要这方面的东西,或者哪个地方弄不好,可以浏览下下面的文章里面的公众号,可以添加下,有什么问题可以私信,里面没有几篇文章,只是会放百度网盘链接,需要的话我会把程序放进去,小伙伴们自己下载就行!也希望和小伙伴们一起进步! QT串口动态实时显示大量数据波形曲线(四)========“界面的美化与处理”_透明的光的博客-CSDN博客_qt实时显示曲线 |
|
嵌入式 最新文章 |
基于高精度单片机开发红外测温仪方案 |
89C51单片机与DAC0832 |
基于51单片机宠物自动投料喂食器控制系统仿 |
《痞子衡嵌入式半月刊》 第 68 期 |
多思计组实验实验七 简单模型机实验 |
CSC7720 |
启明智显分享| ESP32学习笔记参考--PWM(脉冲 |
STM32初探 |
STM32 总结 |
【STM32】CubeMX例程四---定时器中断(附工 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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 22:28:46- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |