Eclipse+GCC开发环境针对STM32F103ZE的开发模板,完美实现C++编程及JTAG调试

2019-08-14 20:06发布

模板地址:https://code.csdn.net/zvvzxzko2006/eclipse_stm32_template
环境搭建需要的工具:
http://pan.baidu.com/s/1eQrY08M

为什么不用MDK?因为mdk代码提示不智能,因为mdk的编译器不支持c++11,因为MDK正版贵的要死..
其实主要就是前两点,由于我习惯用VisualStudio写C++程序,突然用MDK实在感觉很不爽。

工具安装参照这几篇来
http://blog.csdn.net/at91rm9200/article/details/22853621
http://blog.csdn.net/at91rm9200/article/details/23245001
http://blog.csdn.net/at91rm9200/article/details/23334661
这位大神太无私了!

关于调试,我之前使用的GDBServer版本太低,导致无法正常连接。安装新版的就可以了。
最后说一下我的模板里都干了什么:
1.设置好gcc的编译,链接选项
2.提供了链接器脚本
3.移植了原子的实验一,也就是跑马灯实验

其他实验,你可以直接复制到项目中,但是不要忘记修改GCC编译器选项中的包含路径。
有问题后面跟帖。
====================================================================================
更新了一下项目模板,这次用git clone后直接eclipse切换工作区到模板目录中即可。不用再设置其他东西,直接c++编译 然后JLink调试即可。
编译过程也许会弹出一个错误,没关系,点击OK然后重新build就行了。




====================================================================================
更新了项目管理 DEBUG/RELEASE
其中,Debug模式使用内部RAM调试运行,当使用RAM调试运行时,不要忘记切换开发板BOOT的2个短接帽B0  B1 连接到3.3V
Release模式使用正常的Flash运行开发板     使用Flash运行时,不要忘记检查开发板BOOT的2个短接帽B0 B1 连接到GND


有问题,后面跟帖
====================================================================================
更新了C / C++ 部分库支持
C库:malloc  free  memcpy memset strlen strcpy strcmp itoa 
C++库 : new delete


代码托管到CSDN平台上了,有兴趣的欢迎来贡献c / c++ 标准库的stm32实现

有问题,后面跟帖



====================================================================================
已更新ucos成功移植

这次更新是基于原子ucos实验1led交叉闪烁实验。移植到gcc编译环境由于汇编语法不同,主要修改了移植步骤的汇编部分。
需要的可git



========================================================================================
更新修复SRAM调试时出现的SP初始化错误
1.初始化时SP无法自动按照向量表设置的初始值进行初始化,导致运行在SRAM中的程序被堆栈破坏
2.通过重写入口点程序,在堆栈操作之前就修复SP值解决问题。







欢迎关注

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
28条回答
z1234zz
1楼-- · 2019-08-15 10:09
不错,谢谢分享。。。。
正点原子
2楼-- · 2019-08-15 13:01
回复【9楼】正点原子:
---------------------------------
我用另一种方式实现了一次malloc,这种方式没有使用您的管理表管理方式,而是一种申请时自动生成链表的方式,
这种方式缺点是不适合申请小内存容量,大量的小内存会导致链表过长而降低堆的使用效率。
优点则是对大量内存申请,显得效率很高。

总之,代码还是第一次提交版本,需要修改的地方还有很多
白霖
3楼-- · 2019-08-15 18:29
Eclipse很庞大运行很慢

用了一次。直接删除了。
产品代码都是C...

喜欢折腾的人,可以玩玩。
无名氏
4楼-- · 2019-08-15 23:30
 精彩回答 2  元偷偷看……
白霖
5楼-- · 2019-08-16 02:56
?已更新ucos成功移植
?
?这次更新是基于原子ucos实验1led交叉闪烁实验。移植到gcc编译环境由于汇编语法不同,主要修改了移植步骤的汇编部分。
?需要的可git
?
?
?欢迎关注
白霖
6楼-- · 2019-08-16 07:10
你好,楼主~ 
请问用arm-none-eabi-gcc 如何实现printf重定向和软浮点运算支持??? 
因公司需要我用的是arm-none-eabi-gcc + makefile的编译方式。
之前参考过一篇帖子: http://www.openedv.com/posts/list/0/21518.htm#342035 , 貌似这种重定向方式可以在ARMCC上编译通过,运行也没有问题,但是在GCC的工具链上不行。
那么用arm-none-eabi-gcc编译的话printf函数的实现由什么不一样,编译器参数需要注意些什么 ?  多谢~~

一周热门 更多>