原创 STM32学习笔记(2)

2010-7-5 16:44 4283 9 9 分类: MCU/ 嵌入式

本想着偷点懒的,没想到竞被加了“精”,没办法啦,只能勤快点啦。。。


硬件调通后,就要开始编程了。


编程的方法有两种,一种是用st提供的库,另一种是从最底层开始编程,网上关于使用哪种方法编程的讨论很多,据说用库的效率要低一些。但是用库编程非常方便,所以我还是从库开始啦。库是ST提供的,怎么说也不会差到哪里,再说了,用32位ARM的话,开发的观念也要随之改变一点了。


    说说我怎么学的吧。


    找个例子,如GPIO,可以看到其结构如下:


    SOURCE(文件夹)


          - APP(文件夹)


           -CMSIS(文件夹)


           -STM32F10x_StdPeriph_Driver(文件夹)


    Lis(文件夹)


    OBJ(文件夹)


其中SOURCE中保存的是应用程序,其中又有好多子文件夹,而CMSIS文件夹中和STM32F10x_StdPeriph_Driver文件夹中是ST提供的库,这样,如果要做新的工程只要将这个文件夹整个复制过来就行,其中APP中保存自己的代码。


   因为我们用51单片机时一般比较简单,有时就一个文件,所以通常不设置专门的输出文件夹,而这里做开发,通常会有很多个文件加入一个工程中,编译过程中会产生很多中间文件,因此设置专门的文件夹LIS和OBJ用来保存中间文件。


下面就将设置简单描述一下。


将复到过来的GPIO根目录下的所有文件删除,因为我们要学着自己建立工程。


用菜单Project-->New uVision Porject...建立新的工程,选择目标器件为STM32103VC,这个过程与建立51单片机的工程没有什么区别,这里就偷点懒,不上图了。接下来看一看怎么设置。


fbce89aa-e8ed-4b3d-8a8e-4beee3b90b53.gif


点那个品字形,打开对话框


点击看大图


这里就给个图了,相信有一定操作基础的人应该会用。顺便提一下,原来用VC或者IAR时总觉得它们的一个功能:就是建立一个是Debug组和Release组,这个功能挺好的,从这个图可在Keil里也是一样可以建的。


将刚才那个文件夹图中CMSIS中的文件加入CMSIS组,一共3个,其中\Source\CMSIS\Core\CM3有两个C语言源程序文件全部加入,另外还有一个在


\Source\CMSIS\Core\CM3\startup\arm文件夹中,这个文件夹中有4个.s文件, 我们选择其中的startup_stm32f10x_hd.s文件。这是根据项目所用CPU来选择的,我们用的CPU是103VC的,属于高密度的芯片,所以选这个。


至于LIB中的文件,就在这儿:\Source\STM32F10x_StdPeriph_Driver\src啦。这里有很多个文件,把什么文件加进去呢?怕麻烦的话,把所有文件全部加进去,这并不会增加编译后的代码量,但会增加很多的编译时间。  


点击看大图


接下来设定目标输出文件夹。上面这个图怎么出来的就不说啦,单击“Select Foler for Objects...”,在弹出来的对话框中选择OBJ文件夹。


db285a63-fdac-4a7f-8e29-a7c49657ca69.gif


同样方法,选择List文件的输出文件夹。


设置好后,如果直接编译是不行的,会出错。还需要提供头文件所在位置。单击c/C++标签页.


点击看大图


第一次进入时Include Paths 文本框中是空白的,点击其后的按钮打开对话框,增加相应的路径


93adff31-2915-44f3-af89-77965597bfdc.gif


这样路径就设好了。单击OK,回到上一界面,然后再单击OK,退出设置,即可编译、链接。


下一会要试一试新的3.12版的库效果如何了。

文章评论0条评论)

登录后参与讨论
我要评论
0
9
关闭 站长推荐上一条 /2 下一条