原创 STM32 Keil 编译 错误 经验 心得

2010-12-16 20:56 4343 14 15 分类: MCU/ 嵌入式

这几天在移植uCOSII,其实关于STM32的uCOSII网上有很多例子了,但是想改成自己用的芯片型号以及把自己的程序加进去还得做些改动,


今天就遇到了一些麻烦,而且与以前遇到的麻烦相同,


有事编译器会在不知名的情况下自己调用Keil自带的STM32固件库,导致新库和旧库版本不兼容出现很多错误,但是明明没有写调用自带库的语句却为什么Keil会强行从自带库中加载文件导致出错,


这个问题以前整了我很多次,今天终于记住了,原因归结于Keil的编译器在查找C/C++类文件时要求用户指明搜索路径,而且它不会自动搜索该路径下的子目录,如果所需要的文件在指定路径中无法找到,编译器就会在自带库中搜索。


今天遇到很多错误首先就是由于包含路径不全,


这个路径最好按照一个简单的顺序,


还有个就是如果自己想用ST库函数自己建立一个工程,强烈建议先把STM32官方库的文件将组织结构简化成2个文件夹,一个是将所有核心文件直接放在CMSIS文件夹下,另一个将库的所有头文件和C文件放在SRC文件夹下,这样在创建工程后会带来很多方便


比如在指定工程文件包含路径的时候就很方便,因为关于库的文件夹只有2个,两下就填好了,但是如果按照官方的文件组织结构,就需要在工程中添加很多次,而且可能漏掉某个路径,因为路径不支持自动搜索子目录。


今天最后遇到的问题是提示 startup_stm32f10x_hd.o 找不到main函数,很郁闷,最后重新建立工程,简化了文件结构,没有再出错

文章评论1条评论)

登录后参与讨论

用户296607 2010-12-20 12:42

Test02
相关推荐阅读
用户244424 2014-08-28 02:05
[转自21IC]旁路电容、去耦电容和消振电容答疑
在三极管放大器中,以共发射极的多级放大器为例,信号从基极输入,在基极偏置电路和集电极负载的作用下,从集电极斩输出,以上是放大器的工作过程。 为何要在发射极加旁路电容呢? 这是因为发射极电阻...
用户244424 2012-11-02 14:19
C语言 头文件 相对路径 (有局限性)
使用当对路径 假如在当前文件夹下的ABC文件夹下: #include   ".\\ABC\\head.h " 假如在当前的上一级文件夹下的ABC文件夹: #include   "..\\ABC\\...
用户244424 2012-03-21 15:14
基本知识: 宏定义的作用范围
  假如在主文件 main.c 中定义 #define _count_buf_size_ 100 #define _Mesure_buf_max_ 15   那么到其他c文件...
用户244424 2011-08-22 23:15
Win7 虚拟机 NAT方式 共享上网
开始对虚拟机NAT方式一点不了解,半天搞不对虚拟机共享上网,网上查了很多教程,明明按着做了还是不对,连接不上,以为是 Visual Network Editor 里的网关设置不对,于是越试越糊涂,最后...
用户244424 2011-08-20 01:19
各种 位数据 倒序 函数
/****************************************//* 函数名称: SwapD7_D0 */ /* 函数功能: D7-D0位置交换 *//****...
用户244424 2011-03-01 15:09
IAR 开发STM32 ARM 版本不兼容 解决办法之一
对于V4 和V5不兼容的解决方法很多了,最近用V6 版开发,结果同事用V5.3版 ,我调通之后代码给他,结果他那边显示错误,配置资料失效了,查看是版本不同导致的懒得转换,但是没办法还是得转换,只好新建...
我要评论
1
14
关闭 站长推荐上一条 /2 下一条