Eclipse中STM32工程建立步骤
前段时间一直在折腾linux系统上STM32的开发,网上一顿搜,费劲九牛二虎之力终于把环境搭好了(现在都有点忘了,后面再折腾环境搭建一定要写个教程,今天先不写了).
自从环境搭好之后,就基本抛弃MDK了,用了几个月,感觉Eclipse实在比MDK好用一百倍,用它写代码简直就是一种享受,下面趁着还熟,记录一下工程建立步骤:
先来张整体效果图:

第一步:File-new,新建project,选择C Project,如下图:

第二步:选择工程模板(STM32F10X C/C++Project),填写工程名:PowerTest_V0.0.4,如下图:

第三步:根据芯片类型填写Flash和RAM空间大小,如下图:

第四步:不用做任何修改,如下图:

第五步:不要选择Debug项,只选择Release即可(Debug项一直编译不通过,默认的工程模板都不行),如下图:

第六步:选择交叉编译工具arm-none-eabi-gcc

第七步:至此工程建立完毕,是默认自带的一个闪灯程序,可以编译成功,如下;

第八步:将默认的闪灯程序替换成自己的代码,直接在磁盘中将原来的代码删掉,

替换为:

同样的头文件也做相应替换,另外原来的模板中库文件并未包含stm32f10x_systick源文件及头文件,需要单独添加,如下:

替换之后,回到工程,此时工程中的代码文件应该会自然更换,如未更换,则可右键工程名,点击Refresh手动刷新.
第九步:此时再点击编译,一定会有很多错误,原因就是很多头文件被默认过滤掉了,打开工程属性对话框,修改过滤器,具体步骤为:右键点击工程名,点击Property,选择Paths and Symbols,继续选择Source Location,点击Edit Filter,如下:

选择自己需要的头文件,从过滤器中删除,如下图(常规串口或定时器类的头文件肯定必须删除过滤):

第十步:工程默认是编译成Hex文件的,如果要编译成Bin文件,则在Settting中修改即可,如下:

第十一步:重新编译,可编译成功,生成Bin文件,如下:

第十二步:有时候需要修改Flash地址,则在mem.ld文件中可直接修改,如下:

第十三步:此时生成的Bin文件,便可直接烧录到板卡芯片中

第十四步:有人会问了,该如何烧录呢,其实跟在Windows系统中一样,可以用Jlink,安装Jlink驱动(具体自行百度),便可自由烧录了,可用命令行操作,如下:
Jlink烧录bin文件
1进入bin文件目标;
2打开/opt/SEGGER/JLink/JLinkExe,进入Jlink操作模式;
3连接板卡connect
4选择芯片类型:STM32F103RB
5选择接口类型 J) JTAG S)SWD 选S
6速度,默认即可
7连接成功,开始烧录
8 loadbin xxx.bin 0x08000000
9 h
10 r
11 g
那么能不能也像MDK中一样,直接在工程中烧录呢,当然可以,Eclipse其实也是带有Debug操作功能的,操作步骤如下:
点击工具栏中Run Common按钮,下拉打开External Tools Configurations,配置Jlink路径及烧录参数,如下图:

命令中有一个文件需要自己在磁盘上创建,如下:

download.jlink文件中具体内容如下:

注意文件路劲及文件名要与工程名一致,否则下载找不文件.
至此便可直接点击工具栏中Run Common中选项进行下载了.
第十五步:愉快编码开始了!!!
Eclipse中STM32工程建立步骤的更多相关文章
- Eclipse中配置SVN(步骤简述)
————Eclipse中配置SVN(步骤简述)———— 1.有客户端(tortoiseSVN),服务器端(visualSVN) 两种,根据需要安装,安装后需重启电脑 2.服务器端配置:创建版本库(放工 ...
- eclipse中的工程中有叉叉
在eclipse中的工程中有叉叉,并且不是编译的错. 那么,让eclipse自己告诉你原因吧.菜单Window->Show View->Problems 然后就去解决相应的Problems ...
- Eclipse中的工程引入jar包后没有整合到一个文件夹而是全部在根目录下显示
Eclipse中的工程引入jar包后没有整合到一个文件夹而是全部在根目录下显示 解决方案: 1,在Eclipse中,点击window-->Preferences-->Java-->B ...
- Eclipse中SVN的安装步骤(两种)和使用方法
Eclipse中SVN的安装步骤(两种)和使用方法 一.给Eclipse安装SVN,最常见的有两种方式:手动方式和使用安装向导方式.具体步骤如下: 方式一:手动安装 1.下载最新的Eclipse,我的 ...
- eclipse 中添加工程 Some projects cannot be imported because they already exist in the workspace
第一次从外部文件导入HelloWorld工程到workspace目录中,成功. 删除后,再次从外部导入workspace目录提示 Some projects cannot be imported be ...
- Eclipse中android工程C++文件中出现的莫名其妙的错误
大多数是std库相关的问题,例如 vector<int> v; v.push_back(23);//这句语法是没有错误的,但是每次执行Run As的时候就会报错 尝试1:在工程名右键-Cl ...
- Eclipse中SVN的安装步骤(两种)和使用方法 [转]
一.给Eclipse安装SVN,最常见的有两种方式:手动方式和使用安装向导方式.具体步骤如下: 方式一:手动安装 1.从官网下载site-1.6.9.zip文件,网址是:subclipse.tigri ...
- Eclipse中SVN的安装步骤(两种)和用法
一.给安装EclipseSVN,最常见的有两种方式:手动方式和使用安装向导方式.详细过程例如以下: 方式一:手动安装 1.从官网下载site-1.6.9.zip文件,网址是:subclipse.tig ...
- Eclipse中SVN的安装步骤(两种)和使用方法[转载]
一.给Eclipse安装SVN,最常见的有两种方式:手动方式和使用安装向导方式.具体步骤如下: 方式一:手动安装 1.从官网下载site-1.6.9.zip文件,网址是:subclipse.tigri ...
随机推荐
- udp/tcp流程
udp: 1.创建套接字 socket 2.绑定本地ip/port bind 3.收发数据 sendto/recvfrom 4.关闭套接字 close tcp客户端: 1.创建套接字 socket 2 ...
- Java学习之Java接口回调理解
Java接口回调 在Java学习中有个比较重要的知识点,就是今天我们要讲的接口回调.接口回调的理解如果解释起来会比较抽象,我一般喜欢用一个或几个经典的例子来帮助加深理解. 举例:老板分派给员工做事,员 ...
- iOS -- Effective Objective-C 阅读笔记 (9)
// 将类的实现方法代码反三到便于管理的数个分类之中. // 类中经常容易填满各种方法, 而这些方法的代码则全部堆在一个巨大的实现文件中, 有时这么做事不合理的,因为即使通过重构把这个类 ...
- iOS -- Effective Objective-C 阅读笔记 (8)
若想令自己缩写的对象具有拷贝功能, 则需要实现 NSCopying 协议, 如果自定义的对象分为可变版本与不可变版本, 那么就要同时实现 NSCopying 协议和 NSMutableCopying ...
- oracle查看执行最慢与查询次数最多的sql语句
前言 在ORACLE数据库应用调优中,一个SQL的执行次数/频率也是常常需要关注的,因为某个SQL执行太频繁,要么是由于应用设计有缺陷,需要在业务逻辑上做出优化处理,要么是业务特殊性所导致.如果执行频 ...
- python基础之常用关键字总结
前言 到python3.6为止,python内置的关键字有33个,比python2.7的版本多了2个.下面总结一下python3的关键字的使用. python内置关键字 解释器在加载上下文的时候,如果 ...
- CSS之文本
文本对齐方式 text-align left 把文本排列到左边. 默认值:由浏览器决定. right 把文本排列到右边. center 把文本排列到中间. justify 实现两端对齐文本效果. in ...
- React-Native采坑总结
1.zIndex 在Android上使用zIndex来控制组件的层级,会遇到元素不显示的问题. 解决方案: 尽量改变组件的顺序,而不用zIndex 尽量不要使用zIndex来控制组件的层级,默认情况下 ...
- Web服务器原理
——————————什么是Web服务器 Web服务器一般指网站服务器,是指驻留于因特网上某种类型计算机的程序,可以向浏览器等Web客户端提供文档.目前最主流的三个Web服务器是Apache Ngin ...
- Android+openCV人脸检测2(静态图片)
前几篇文章中有提到对openCV环境配置,这里再重新梳理导入和使用openCV进行简单的人脸检测(包括使用级联分类器) 一 首先导入openCVLibrary320 二 设置gradle的sdk版本号 ...