OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5523|回复: 0

STM32F407探索版例程1跑马灯代码有个问题

[复制链接]

1

主题

1

帖子

0

精华

新手入门

积分
13
金钱
13
注册时间
2016-2-22
在线时间
2 小时
发表于 2016-2-22 23:33:41 | 显示全部楼层 |阅读模式
本帖最后由 wzw134 于 2016-2-22 23:35 编辑

刚到的板子,根据教程学习到第十讲新建工程,在熟悉了MDK5新建工程的步骤后自己试着用IAR7.1新建工程,用Template代码运行OK,用实验一跑马灯代码运行时IAR一直提示未定义未定义未定义········起初以为是设置有问题,如下图一 2.png
折腾了两天无果一直想着是哪里设置出错了。返回到MDK,一切正常,J-Link下载也OK。后来对比了一下IAR提示出错的地方,sys.c,突然发现MDK5中全编译后同一个地方sys.c也一样报错,但是编译结果就是(0)Error(s),IAR中同样报错的还有usart.c,后来在IAR删掉这两个文件编译就通过了,下载OK。对比MDK,同样的报错,如图二

1.png

又以为是在操作过程无意中修改了文件,于是从压缩包中重新解压,编译,一样出错。
那就不是我的问题了
IAR中删除这两个文件对实验一跑马灯没影响,可是接下来要添加usart代码,就得添加usart.c,IAR中报错,查第一个原因,struct _FILE在软件基本文件中已经定义,这个可以理解,教程是在MDK中编写。可是第二个, _sys_exit(int x)类型未定义,MDK5中软件自行默认为int,并给出警告(最终结果未提示说明有警告0 warning(s) ),第三个是警告#pragma import(__use_no_semihosting) ,无法识别,
6.png


在MDK5中搜寻相关定义也是没有定义,右键选择关键字选到定义pragma的地方,也是没有找到
5.png

教程还没看完,不知道后面有没有纠错的,如果没有发现这个问题,那么是否说明sys.c文件在教程始终都没用到?另外,C语言学的不是很深入,#pragma是干嘛的?  _sys_exit(int x) 应该是int类型的吧?


那么是否可以认为IAR比MDK对语法更严谨一些?MDK更智能一些?


刚注册,没分悬赏,也不算什么问题,不影响学习,就是花了两天找IAR出错的原因,拿出来晒晒,菜鸟要学的还很多,希望不令赐教。
4.png
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-26 06:13

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表