下面说的这些只是一些关于:MiniSTM32f103系列的开发板,以下皆是参考stm32中的手册
我们要安装keil5,首先我们应该去资料里面下载下来
1,如下所示,我将其安装在了如下的路径
2,接下来,我们打开MDK5,首先我们应该看的是readme.txt,这里面会告诉我们安装的一些过程,请大家务必看一下这个东西!!!
3,按步骤安装,首先mdk_510.exe
里面的注册路径,建议大家改一下,将东西分门别类,这样容易管理
里面注册的用户名和邮件的话,请大家务必用英文,因为可能会有一些语言编码问题导致的错误,当安装不成功的时候,可以回到那个添加用户名和邮件,然后再随便输入点东西(哈哈,大家懂啊)
如果安装正确的话,应该会弹出一个黑色的doc框的,其他东西不用管,关了就行
4,接下来就是安装ARM.CMSIS.3.20.4.pack
上面这个原因也可能是因为路径中有中文的,可以将路径改改,然后重新安装,点击finish,即可
5,然后安装Keil.STM32f1xx_DFP.1.0.4.pack,嗯嗯,差不多就可以了,点击finish
6,接下来运行keygen.exe,安装上面的方法完成注册(个人觉得注册就是,延长使用时间)
解压keygen.zip,产生keygen.exe,打开已经安装的keil5的,点击左上角的file,点击License Management
将里面的CID复制到keygen.exe中的CID,但是值得注意的是里面的target一定要选择ARM,并且点击generate,会产生一串字符,如下:
接下来,将改字符,复制粘贴于keil5中刚才的New Licence ID CODE(lic)中,点击add LIc,会出现LIC adding successfully这样的信息,说明我们已经注册成功,如下(如果还是不行的话,请用管理员权限运行):
这回我们的keil5就彻底安装好了,我们还可以试一试的,利用给的源代码
这里我们可以用跑马灯,试一试的
可以看到,经过我们的编译(左上方第一个向下的箭头)后,出现的0个错误,0个警告
中间的箭头应该是编译当前工程地下的所有文件
后面的箭头应该是连接的过程
二:工程的创建
首先我们应该先在桌面上面建一个文件夹(我取得名字是TEST,可以随便取,便于记忆理解最好,但是尽可能的是英文,然后再建一个USER文件夹,是在TEST下面),接下来我们打开keil5,然后project----》new uvision project
如下图:
然后我们保存一个文件名,比如:test,这就是我们的工程名了,接下来该选择我们开发板型号的时候了,我们所使用的是STM32F103RCT6,所以我们在这里选择是:STMicroeletronics--->STM32f1 series--->STM32F103---》STM32f103RC,点击ok就好
然后我们回到刚才的文件中,查看一下,可以看到此时TEST\USER这个文件里面有一个test.uvproj的文件,这就是我们要建的工程名
好了,此时我们只是建立了一个框架,还需要添加一些基本的代码和启动代码,以及.c文件。
这里的启动代码,是一段和硬件相关的汇编代码,是必不可少的!!代码的主要作用:1,堆栈的初始化,2,初始化程序计数器,3,设置向量表异常事件的入口地址,4,调用main函数,这里我们板子的flash容量为256kb,属于大容量产品,所以我们应该选择startup_stm32f10x_hd.s作为我们的启动文件(这里的启动文件,我们可以从其他的源码程序中copy出来),将这个启动文件放在刚才新建的工程里面,然后我们找到刚才的target1---》Source Group1--》双击---》设置打开类型,改为Asm Source file--》选择startup_stm32f10x_hd.s-->点击add,即可,然后我们可以点击source group1左边的加号,可以看到刚才的文件已经添加进去了
接下来,我们需要在最初的TEST目录下新建一个新的文件夹:OBJ,那是因为我们需要将这些文件分门别类,USER文件夹专门用来存放启动文件(startup_stm32f10x_hd.s),工程文件(test.uvproj)等不可或缺的文件,而OBJ则用来存放这些编译过程中产生的过程文件(包括最后用于下载的hex文件),然后我们还要新建一个目录:SYSTEM文件夹,该文件夹还是又alientek提供,任何一个源码都可以找到
接下来,我们应该把工程和系统文件添加进去了:Target 1---》Manage Project Items
然后我们添加:USER和SYSTEM
可以看见,上面已经出现了我们先要的文件,接下来要做的就是将相应的文件和系统文件进行添加
可以看到,我们的user下面有一个test.c,SYSTEM下面有:usart.c sys.c delay.c
因为我们要坐的是一个简单的跑马灯,所以:应该在重新建一个新的文件(HARDWARE,里面主要存放一些简单的外设,led.c infra.c等等),然后我们可以在HARDWARE中新建一个LED,然后里面包含着led.c和led.h,并将led.c
加载进来,然后将test.c文件copy过来,但是出现了一点问题
如下:
可以很直观的看到里面的第一行出现了问题,出现了一个红色的“X”,我们将光标放在上面,可以看到:fatal error:‘sys.h’ file not found,意思就是找不到sys.h这个源文件,这里我们重新将这些文件给加载进去,
当我们将头文件加载进去后,应该是这样子的
点击完ok之后,就会发现其实那些出现错误的地方都没有了,,,,
这时我们可以编译连接了!!!
这时可以发现上面的情况是0个error,0个warning
但是,真的一个完整的工程就建完了了吗就????
仔细想想,就会发现我们需要的是hex文件,但是并没有生成,所以我们继续更改设置!!!
好了,这样我们就已经更改了设置了,可以生成hex文件了,但是并没有保证我们最后生成的文件在obj文件里面,所以这里我们应该继续更改设置
如上图:先点击1,然后点击2,执行4,将生成的文件的位置放置于OBJ
点击1,然后点击3,执行4,将生成的文件的位置放至于OBJ
可以看到:
已经生成了hex文件
同理,也可以看到:生成的好多中间文件都位于OBJ中了
到此,我们的工程才算是完整的建完全了