STM32/STM8技术william hill官网
直播中

tulin

12年用户 1225经验值
私信 关注
[问答]

STM32F103ZET6芯片能用keil编译吗?

STM32F103ZET6芯片用什么编译环境比较好了?
keil?IAR?编译速度怎么样?

回帖(10)

1402609807

2014-4-9 11:33:18
keil就行~~iar没用过~~~
举报

z00

2014-4-9 12:44:35
本帖最后由 1563661808 于 2014-4-14 14:40 编辑

STM32F103ZET6芯片能用keil编译吗
----------------------
可以使用KEIL编译STM32

STM32F103ZET6芯片用什么编译环境比较好了?
-------------------------------------------------------------------
用Keil MDK的人多一些,遇到问题更容易寻求到帮助。并且Keil 是ARM公司软件,支持更好,相比IAR是第三方,不占优势。
从体验上来讲我觉得Keil的界面舒服一些,并且容易配置。IAR配置稍微麻烦一些。Keil调试方便,并且开发例程和资料多与IAR,用Keil开发更快更方便。

可以看看这个帖子:
手把手教你用Keil_MDK+JLINKV8搭建STM32开发环境


一直泡在二手区,X年X月的X日,突然心血来潮,想着,STM32这么火,趁着网上网络好,干脆我也凑个热闹胡乱敲点儿东西出来。看看时间,已是凌晨1点20分了,用咱们william hill官网 那谁(名字就忘记了,貌似是经常看到)的一个签名来形容,只恨时光太匆忙啊。
这罗里吧嗦的就一堆了,先打住,进入正题

开发环境:MDK4.53
开发库:官方库V3.5
调试工具:山寨JLINKV8
开发板:万利EK-STM3210E   其实什么开发板都一个样,芯片不同而已,这个开发板是STM32F103ZE


第一步,首先呢,自然是装好MDK开发环境,什么?那里下载,怎么河蟹?这种事情,自然是问谷哥了;
第二步,去官方网站下载V3.5版本的Library,这个还是问谷哥;
第三步,准备JLINK_V8一个,开发板一块,最小核心板自然也可以,有JTAG接口就OK
第四步,连接JLINK_V8到电脑,排线连接到开发板


至此,准备工作完成,下面就正式开始搭建环境了,人有点儿懒,懒得打字了,请仔细看图

1.在你的电脑的任何位置新建一个文件夹,干嘛呢,自然是放你的工程文件
文件名请尽量取得贴切点,文件夹名字是随便的,当然你的自己知道都是些干嘛的,比如我这里就新建了一个TEST的文件夹,里面放boot,core,system,library,user,list,obj一共7个子文件夹
你问我为什么要这样,先卖个关子,一切尽在不言中,先不回答你,一路看下去你自然会明白



2. 接下来,解压下载的库文件STM32F10x_StdPeriph_Lib_V3.5.0




a打开如图的文件夹,添加启动文件,注意这个启动文件根据不同的芯片选择对应的文件,怎么选择,看官方的说明,由于我的这个目标板是STM32F103ZE,FLASH是512K,那么就选
startup_stm32f10x_hd.s这个文件,将库中的这个文件复制到我们自己建立的那个boot文件夹中



可以看到有好几个S文件,可能有疑问,怎么区别呢,见下图,所以你要根据自己实际使用的芯片来选择对应的S文件




b.将库中的core_cm3.c,core_cm3.h复制到core文件夹中





c.打开库中的project文件夹,将stm32f10x_it.c,stm32f10x_it.h, system_stm32f10x.c, stm32f10x_conf.h这4个文件复制到system文件夹中







d.打开库中的Libraries,将inc,src文件夹复制到library文件夹中





OK,准备工作,文件复制完毕,现在打开KEIl开发环境,这里我就随便建个工程了,就用前面新建的那个主文件夹名,test



选择芯片

问是否要添加启动文件到工程中,选择否


删除根目录下原有的Group,更改根目录文件夹名为test



在test根目录下面新建5个Group,对应的文件夹名如图



将前面test文件夹中复制的库中的文件添加到test工程中对应的子文件中,如图



最后在user文件里新建个main.c






好了,到这里工程模版就基本创建完毕,现在开始设置编译环境

打开output选项,点击select folder文件夹,选择为新建在test根目录中的obj文件夹

如要生成HEX文件,勾上Creat HEX file

对应的list文件夹操作同上


C,C++选项要注意,如图,在宏定义那里也就是Define栏填上USE_STDPERIPH_DRIVER STM32F10x_HD
并且把头文件定义,Include path 栏把我们新建的那些子文件夹全部包含进来,如图






打开DEBUG栏,和Utilities栏,选择JLINK,并add下载算法,注意对应的芯片选择对应的栏,具体如图




OK,万事大吉,编译一下试试




没啥大问题,OK,有个警告,这个只要在main函数结尾处空格一行即解决,貌似是什么BUG来着




好了,下载试试,当然,这个下载进去是什么功能也没有的,空函数当然什么也不做



眼皮子打架了,随便写点东西比敲代码还恼火,要老命哟,先睡觉,明天再把连接会遇到JLINK的问题阐述下






举报

youzizhile

2014-4-13 23:05:44
还有一个系统软件,coocox,个人觉得比较好用,底层集成,有很多实例,可以参考下
举报

yan_zb2265

2014-6-28 16:43:02
条条大道通罗马,你开车也可以通罗马,我骑自行车也可以通罗马,汽车速度快,但你得有驾照,自行车慢,我一天就学会;不一定汽车就比自行车快,适合自己就是最好的。
举报

落笔苍穹

2014-7-12 18:57:29
可以使用keil,个人觉得keil还是不错的
举报

梦E随风

2014-7-23 23:40:07
顶一个                                         
举报

jpaekeo

2017-3-24 18:13:31
add flash programming algorithm(add下载算法):这一步的作用究竟是什么一直没搞明白,凡是硬件仿真都需要这一步,难道是跟硬件仿真有关的程序下载算法?求大神解释
举报

jpaekeo

2017-3-24 18:15:01
引用: z00 发表于 2014-4-9 12:44
STM32F103ZET6芯片能用keil编译吗
----------------------
可以使用KEIL编译STM32

add flash programming algorithm(add下载算法):这一步的作用究竟是什么一直没搞明白,凡是硬件仿真都需要这一步,难道是跟硬件仿真有关的程序下载算法?求大神解释
举报

刘知海

2017-3-29 17:29:01
编译环境其实什么都可以,不过keil应该说是资料最多的,最方便的
举报

2018-3-16 10:33:52

楼主辛苦了 谢谢这么多好东西
举报

更多回帖

发帖
×
20
完善资料,
赚取积分