
昨天试了试使用STM32固件库3.5,以前都是使用开发板里移植好的例程,所以整了一天才整明白,在这里给大家分享下我的经验,我还是个菜鸟,有说错的地方请大家指出来哦。/ `8 o6 k2 b5 ? Y9 Y. U: s 我使用的是keil编译器。首先建立一个工程,在这个工程中加如4个组,我的4个组名分别是 user, startup, CMSIS, stdperiph_driver。user这个组里主要添加有关你自己工程的函数,有main.c , stm32f10x_conf.h(包含工程中要使用到的外设) , stm32f10x_it.c(中断函数) 。CMSIS中有core_cm3.c , system_stm32f10x.c 。这两个文件都是下载的库压缩包里的 ,所在目录为STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\CoreSupport 。startup 文件夹里存放stm32 的启动文件,在STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm 这个文件夹下,因为我使用的芯片是stm32f107VC 是互联型芯片,所以我选择的启动文件是startup_stm32f10x_cl.s 这是个汇编文件。stdperiph_driver 中放的就是库函数了,在STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\STM32F10x_StdPeriph_Driver\src 在这个文件里,把这个文件里的所有*.c文件都添加进去就行了。 对了这些文件的添加只需要添加*.c文件就行了,*.h文件在后面的编译会由编译器自动加上的,*.h的添加在后面会讲到的。& O& j4 d. n$ z+ O 然后就是需要更改的文件了。这里的许多文件是只读的,要修改的时候得先在文件属性里去掉只读。主要更改就是stm32f10x.h ,根据自己的芯片去掉响应的/* */ ,我用的是 ![]() #define STM32F10X_CL ,即我去掉了倒数第二行的/* */ 。还有下图的倒数第二行也去掉/* */ 。我传的图是去掉之后的,这个的意思是使用驱动库的意思。 ![]() 对了,最好把下载的库文件中的Libraries 文件夹都复制到你的工程文件夹下,进行修改。而user中的文件可以直接复制库文件夹下的例程文件,它里面包含了上面提到的main.c , stm32f10x_conf.h, stm32f10x_it.c 这些文件 。/ K2 y# h$ k# m; ^2 V 好了做完这些,就是编译的事情了,编译之前需要进行设置,打开target options 在c/c++中 include path 中添加用到的头文件的地址,这个你就自己根据所有头文件的地址一个一个的添加就好了。在Debug 和 Utilities中选择你的调试器,我用的是JLINK。确定之后就可以编译了,如果是用的例程文件的main.c别忘了修改外设的引脚哦,呵呵。 是不是编译成功了,现在你就能不依靠开发板的例程,自己根据stm32公司提供的例程来学习了。 |
RE:stm32 固件库3.5的移植
回复:stm32 固件库3.5的移植
回复:stm32 固件库3.5的移植
回复:stm32 固件库3.5的移植
回复:stm32 固件库3.5的移植
RE:stm32 固件库3.5的移植
回复:stm32 固件库3.5的移植
回复:stm32 固件库3.5的移植
RE:stm32 固件库3.5的移植
回复:stm32 固件库3.5的移植
RE:stm32 固件库3.5的移植
回复:stm32 固件库3.5的移植
RE:stm32 固件库3.5的移植
RE:stm32 固件库3.5的移植
免费试听,满意后给您量身定制课程(包学会),快速提高您的技能!
教学特色:名师督学+工程师指导;项目案列解析+实际解决方案!
技术顾问:欧阳老师15989362803,QQ:2539424095