打印

stm32

[复制链接]
6140|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ap_lfs|  楼主 | 2012-3-26 16:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请问诸位,我是初学STM32F103XXmcu的,用IAR EMBEDDED WORKBENCH 时,出现‘Canot open source file“stm32f10xx_map.h",请问应该怎样解决这个问题,谢谢!
沙发
ap_lfs|  楼主 | 2012-3-26 19:52 | 只看该作者
另一个程序也出现Canot open source file“stm32f10xx_lib.h",请大侠帮忙指教?

使用特权

评论回复
板凳
airwill| | 2012-3-26 21:35 | 只看该作者
找不到这个头文件, 说明你工程的路径还没有设置正确.

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
ap_lfs + 1 指出操作的方向
地板
ap_lfs|  楼主 | 2012-3-28 23:44 | 只看该作者
请问怎样设置路径:我用的是
#proj—dir$\..\
#proj—dir$\labraries\inc
另外,我发现我下载的3.5版本的固件库里没有
stm32f10x-nvic.h和stm32f10x—lib.h,
我下了几个包括3.4的也是一样。这2个问题,请大侠多多指教。
非常谢谢。

使用特权

评论回复
5
李富贵| | 2012-3-29 00:11 | 只看该作者
你的工程貌似v2版本的固件库,你用v3固件库当然有问题,

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
ap_lfs + 1
6
ap_lfs|  楼主 | 2012-3-29 10:03 | 只看该作者
请问大侠,工程怎样区分固件库版本?
另外,后面的固件库对前面的不兼容吗?
有关的资料是什么?
非常感谢。

使用特权

评论回复
7
ap_lfs|  楼主 | 2012-3-29 21:44 | 只看该作者
另外,我用IAR 6.10.1版本,还是同样的问题。
我还发现我的IAR4.22a和IAR6.10.1都没有一些文件:
core——cmFun.h和core—cmInstr.h。
IAR都是安装的默认目录,在安装V6(**版)版本是先将V4V卸载
请问诸位大侠,这是认为操作的问题还是其他。
能否传一个在使用的IAR的工具?如果传工具时候,把使用方法一并传过来,
将非常感激。
我的邮箱是:lfs-knly@163.com.   QQ:1757065439
或者用其他方法。
非常感谢您的帮助。
顺祝商祺!

使用特权

评论回复
8
ap_lfs|  楼主 | 2012-3-30 17:08 | 只看该作者
我是初学的,我想请问一个问题。我用IAR6.3和3.5版本的固件库。按照例子设置,可还是出现
Building configuration: GPIO - Debug
Updating build tree...

9  file(s) deleted.
Updating build tree...
core_cm3.c  
Fatal Error[Pe1696]: cannot open source file "#PROJ_DIR$\..\Libraries\
STM32F10x_StdPeriph_Driver\inc"
            searched: "D:\stm32\GPIO\Libraries\CMSIS\CM3\CoreSupport\"
            searched: "#PROJ_DIR$\..\"
            searched: "#PROJ_DIR$\..\Libraries\STM32F10x_StdPeriph_Driver\inc\"
            searched: "C:\Program Files\IAR Systems\Embedded Workbench 6.0\arm\inc\"
            searched: "C:\Program Files\IAR Systems\Embedded Workbench 6.0\arm\inc\c\
"
Error while running C/C++ Compiler
main.c  
Fatal Error[Pe1696]: cannot open source file "#PROJ_DIR$\..\Libraries\
STM32F10x_StdPeriph_Driver\inc"
            searched: "D:\stm32\GPIO\"
            searched: "#PROJ_DIR$\..\"
            searched: "#PROJ_DIR$\..\Libraries\STM32F10x_StdPeriph_Driver\inc\"
            searched: "C:\Program Files\IAR Systems\Embedded Workbench 6.0\arm\inc\"
            searched: "C:\Program Files\IAR Systems\Embedded Workbench 6.0\arm\inc\c\
"
Error while running C/C++ Compiler
misc.c  
Fatal Error[Pe1696]: cannot open source file "#PROJ_DIR$\..\Libraries\
STM32F10x_StdPeriph_Driver\inc"
            searched: "D:\stm32\GPIO\Libraries\STM32F10x_StdPeriph_Driver\src\"
            searched: "#PROJ_DIR$\..\"
            searched: "#PROJ_DIR$\..\Libraries\STM32F10x_StdPeriph_Driver\inc\"
            searched: "C:\Program Files\IAR Systems\Embedded Workbench 6.0\arm\inc\"
            searched: "C:\Program Files\IAR Systems\Embedded Workbench 6.0\arm\inc\c\
"
Error while running C/C++ Compiler
startup_stm32f10x_hd.s
stm32f10x_flash.c  
Fatal Error[Pe1696]: cannot open source file "#PROJ_DIR$\..\Libraries\
STM32F10x_StdPeriph_Driver\inc"
            searched: "D:\stm32\GPIO\Libraries\STM32F10x_StdPeriph_Driver\src\"
            searched: "#PROJ_DIR$\..\"
            searched: "#PROJ_DIR$\..\Libraries\STM32F10x_StdPeriph_Driver\inc\"
            searched: "C:\Program Files\IAR Systems\Embedded Workbench 6.0\arm\inc\"
            searched: "C:\Program Files\IAR Systems\Embedded Workbench 6.0\arm\inc\c\
"
Error while running C/C++ Compiler
stm32f10x_gpio.c  
Fatal Error[Pe1696]: cannot open source file "#PROJ_DIR$\..\Libraries\
STM32F10x_StdPeriph_Driver\inc"
            searched: "D:\stm32\GPIO\Libraries\STM32F10x_StdPeriph_Driver\src\"
            searched: "#PROJ_DIR$\..\"
            searched: "#PROJ_DIR$\..\Libraries\STM32F10x_StdPeriph_Driver\inc\"
            searched: "C:\Program Files\IAR Systems\Embedded Workbench 6.0\arm\inc\"
            searched: "C:\Program Files\IAR Systems\Embedded Workbench 6.0\arm\inc\c\
"
Error while running C/C++ Compiler
stm32f10x_it.c  
Fatal Error[Pe1696]: cannot open source file "D:\stm32\GPIO\project\stm32f10x_it.c"
Error while running C/C++ Compiler
stm32f10x_rcc.c  
Fatal Error[Pe1696]: cannot open source file "#PROJ_DIR$\..\Libraries\
STM32F10x_StdPeriph_Driver\inc"
            searched: "D:\stm32\GPIO\Libraries\STM32F10x_StdPeriph_Driver\src\"
            searched: "#PROJ_DIR$\..\"
            searched: "#PROJ_DIR$\..\Libraries\STM32F10x_StdPeriph_Driver\inc\"
            searched: "C:\Program Files\IAR Systems\Embedded Workbench 6.0\arm\inc\"
            searched: "C:\Program Files\IAR Systems\Embedded Workbench 6.0\arm\inc\c\
"
Error while running C/C++ Compiler
system_stm32f10x.c  
Fatal Error[Pe1696]: cannot open source file "#PROJ_DIR$\..\Libraries\
STM32F10x_StdPeriph_Driver\inc"
            searched: "D:\stm32\GPIO\Libraries\CMSIS\CM3\DeviceSupport\ST\
STM32F10x\"
            searched: "#PROJ_DIR$\..\"
            searched: "#PROJ_DIR$\..\Libraries\STM32F10x_StdPeriph_Driver\inc\"
            searched: "C:\Program Files\IAR Systems\Embedded Workbench 6.0\arm\inc\"
            searched: "C:\Program Files\IAR Systems\Embedded Workbench 6.0\arm\inc\c\
"
Error while running C/C++ Compiler

Total number of errors: 8
Total number of warnings: 0

请各位大侠多指教。
谢谢

使用特权

评论回复
9
ap_lfs|  楼主 | 2012-3-31 11:44 | 只看该作者
这是在c/c++compiler下修改的的路径“
$PROJ_DIR$\..\
$PROJ_DIR$\..\Libraries\STM32F10x_StdPeriph_Driver\inc
在预定义中,我输入$PROJ_DIR$\..\Libraries\STM32F10x_StdPeriph_Driver\inc
,其他地址也是有错。
我的工程是保存在D:\stm32\GPIO下的,IAR是默认安装路径。
我用了IAR4.22,6.10,6.3都有类同的错误。
工程组分为USER(用户),EWRAM(*编译环境相干),FWLB(寸src里*。c的文件),
STARTUP有和没有都一样。这个路径我也换过几种了。
请诸位大侠多指教。

使用特权

评论回复
10
na239152605| | 2012-4-1 22:58 | 只看该作者
了解了!

使用特权

评论回复
11
yanhaiyuyuyu| | 2012-4-24 21:17 | 只看该作者
我也是刚学,看大神的工程建立。也给你看看。一起学习。
开发环境与工程框架搭建
—— 天山
2012.01.10
第一步,我们基本上认识了stm32这头是个什么样子了,要是兄弟酱油打了那么多还不知道,猪都笑了,呵呵。谁是猪不重要啦,重要的是大家开心一下,缓解学习的压抑。
这第二步,我们开始在山下磨刀了,就快要上山杀猪了。大家吃过野猪肉没,哈哈,我吃过,皮超厚,肉都是肌肉,不过,邻居家猎户爷爷,去世好多年了,也只能在梦中回味一下这味道。
一、开发工具MDK380a的安装。
⑴        软件的MDK380a(keil的ARM版)和keygen(注册机)可从互联网上获取。下面我们双击

之后,会弹出下面的安装界面,我们一步步来。






到这儿就安装完成了,开心吧,这一路都很正常。点击“finish”会弹出下面的网页,咱不用管。


好,机器装好了,我们怎么来启动它,设置好初始参数,让它正常运行。首先,我们接通电源,启动这台机器。

这个对话框可以关掉,也可以“next tip”的看几下,tip是小贴士的意思,小贴士就是官方版狗皮膏药,宣传怎样可以美好生活。

下面我们要进行ID注册,如果不注册的话,其他正常,据说只是代码大小受限。但是刚开始看能用,就没注册,后来,下载代码的时候发现,起始地址增大了,本来很小的代码,下载的时候却很大,超过存储空间了,后果怎样,你也可以试试。所以我们一定要注册,怎么注册,看下面的步骤。


到这儿,我们双击




然后,我们关掉开发工具,重新启动开发工具,关掉自带的工程,自己新建一个


先在电脑上准备一个文件夹“GPIO_test”来存放新建的工程

新建工作开始了。








上面是问你要不要加启动代码,因为stm32库里面有自己写好的启动代码,这儿我们就不要开发工具给我们自动添加它的启动代码了,所以我们选否。下面是新工程的界面。空空如也。

再看看之前我们存放工程的文件夹,里面多了下面几项。

之后,我们再在哪儿新建五个如下的文件夹。这些文件夹也是我们准备用来存放库文件,自己写的文件等等,是为了寻找方便。

下面,我们解压stm32的固件库(都是些操作寄存器的函数定义文件)网上有的下,我这儿用3.4版本,还有更好的,像3.5等。解压完后,我们按下面图示要求,把固件库相应的文件找到,放入我们刚才新建五个文件夹中的四个里面。

下面,我们先找好lib里面要放的文件,然后是cm3,startup和user
  







user 里面的main.c和readme,都是要自己新建和编写的,这里我在附件练习里面给出一个网上下的GPIO例程中的main.c文件,下一步我们在讲里面的内容。

文件夹output是用来存放待会我们编译的文件,这里不用添加任何文件。

刚才,我们只是在电脑里面放好了库文件,现在我们要在新工程里面把要用到的库文件加进来。


在工程里面新建几个Group(小组)存放要用的库文件。然后在每个小组里面添加需要用到的库文件。记住这些小组,只是我们整理文件美化工具,没什么实际意义。




操作GPIO,我们只需用到下面两个文件。



因为之前我选择的是大容量的stm32芯片型号,所以启动文件我们选hd.s(大)m代表中,l就小


这儿,output文件夹我们也不用添加任何东西。点击OK,下面空空如也的新工程就多了一些东西了。


兴奋吧!朋友?终于有点家伙了…来,我们来点击显示main.c,然后再编译一下吧?
好!咱就来编译。





咦??咋出错了?那个main.c文件有问题吧?好,那你自己在找个有把握的main.c文件试试?
嘻嘻,其实不是它的事了。我已经找到了原因,用下面的图告诉你们吧。仔细看哈。







好了,现在我们再编译一下吧?恩,咱编译。呵呵,咦,没问题了,哈哈,终于一个新工程框架搭建完了。有成就感了吧?现在不要光陶醉,我们还有点收尾的工作要做。


选择“Create HEX File”这样才能生成能被下载的十六进制文件,另外,我们还需要设置工程的输出路径,也就是之前我们一直保留的output文件夹。



OK~K啦!终于大功告成了。
但是我还要告诉大家一个小问题,就是为了讲解的顺序,我们在设置输出文件路径的时候已经编译了一次,所以在“GPIO_test”文件夹下也生成了一些输出文件,所以打开“GPIO_test”文件夹时我们会感觉里面很乱,所以啊,我们以后新建完一个工程,设置外输出路径后,才能编译,不然乱糟糟的影响心情,坏了心态。心态很重要。
另外,我还要和大家说的就是,之前我们找好库文件的“startup”,“lib”,“cm3”,“user”的四个文件夹我们以后可以直接复制到其他新建的工程。只需要编写main.c文件和readme文件就好了,简单吧?恩,但是你要记住,即使简单,你也要把它多练习几遍,把这种新开发工具工程搭建的概念变成自己的潜意识和习惯。这样你才能像靖哥哥一样,耍出牛X哄哄降龙十八长。呵呵,这话也是说给我自己听的。
呀,一不小心起点半了,肚子咕咕叫了。下一步GPIO_test中main.c内容讲解,只能推倒明天了,要是明天公司还有酱油打,可能还要推下,大家不要见怪哈。

使用特权

评论回复
12
yanhaiyuyuyu| | 2012-4-24 21:19 | 只看该作者
呃……,图复制不上去……体谅体谅,呵呵……刚进论坛……

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

29

帖子

1

粉丝