资源描述
昨天很快看懂了例程,自鸣得意,哇哦,怎么这么简单啊,结果建个工程建的捉急,逮着光盘各种翻资料,丫的全是照着建好的例程讲,终于功夫不负有心人,在今天找到一节视频里有讲,把模板建起来了,西湖的水,我的泪。记录一下流程首先新建一个文件夹,存放此次的工程嘛,为了移植的更有条理,建几个文件夹分别存放固件库的各种文件。在此建了四个文件夹,“CORE”,”OBJ”,”STM32”,”USER”,名字可以自己取,也可以不建,全堆一起,如果你觉得这样真的好的话。第一个是“CORE”,放的东东直接贴过来我也不知道是什么,照着搞。有道了一下core是核心的意思。值得提一下startup_stm32f10x_hd.s,这个的选择得看你所使用的开发板CPU的型号,我的小飞号战舰g g型号STM32f103zet,具体意思百度上有,那个z的意思是512K字节Flash,大内存就选择startup_stm32f10x_hd.s。这种东东还有很多,路径如下,自己百度用哪种OBJ先不用管,用来存放自动生成的一些文件。STM32,寄存器库,里面贴两个文件夹,一个src,一个inc,一个放.c一个放.h。USER,先看图:通过路径找到这几个文件贴到USER,可能有几个文件冲突了,不用管,跳过即可。打开Keil,开搞新建工程,不用说吧千万别选ARM,选STM。选完型弹出这个,点否,手动添加。右键Target 1,选中Manage Conponents建Groups最好和文件夹的名字一致,方便添加 .c文件点击魔术棒图标之前把 .c文件添加了,绝不觉得差点什么呢?肯定还得添加 .h头文件舍在此,把所有包含的 .h文件路径添加进去STM32F10X_HD,USE_STDPERIPH_DRIVER很重要,不加上会报错重中之重,千万别忘了还有一个 .s文件,可以直接CODE右键add编译,报错因为这个主函数不合规矩,全部删了,就可以开始编写你自己的函数了贴一段代码,可以用来试试模板是否建立成功#include stm32f10x.h/ALIENTEK 战舰STM32开发板工程模板 void Delay(u32 count) u32 i=0; for(;iPB.5 端口配置 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; /推挽输出 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; /IO口速度为50MHz GPIO_Init(GPIOB, &GPIO_InitStructure); /根据设定参数初始化GPIOB.5 GPIO_SetBits(GPIOB,GPIO_Pin_5); /PB.5 输出高 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5; /LED1-PE.5 端口配置, 推挽输出 GPIO_Init(GPIOE, &GPIO_InitStructure); /推挽输出 ,IO口速度为50MHz GPIO_SetBits(GPIOE,GPIO_Pin_5); /PE.5 输出高 while(1) GPIO_ResetBits(GPIOB,GPIO_Pin_5); GPIO_SetBits(GPIOE,GPIO_Pin_5);Delay(3000000);GPIO_SetBits(GPIOB,GPIO_Pin_5);GPIO_ResetBits(GPIOE,GPIO_Pin_5);Delay(3000000); 自此,工程算是建完了,呼呼,被那个 .s文件折腾了一下午,接下来是仿真,我所使用的是J_LINK仿真器。Output 勾上箭头指的选项Create HEX File然后点击Select Folder for Objects选择OBJ,这样的话自动生成的文件就会都保存在OBJ里面啦改好后,别忘了把Use前面的点点上如图选择。如图设置一下,也可以选JTAG,但JTAG占用的I/O口比较多,避免冲突一般选择SW.如图这样设置,就完成了。接下来编译,下载进开发板试试吧。直接下载硬件仿真
展开阅读全文