IAR编译错误总结.doc_第1页
IAR编译错误总结.doc_第2页
IAR编译错误总结.doc_第3页
IAR编译错误总结.doc_第4页
IAR编译错误总结.doc_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

IAR4.42A编译错误!请教!IAR中的error27(2009-09-23 10:19:05) 转载标签: 嵌入式_etungit分类: 嵌入式_etung 发现IAR的链接器不允许在头文件中定义一个全局变量,然后有两个.c文件去引用。而VC6.0就可以这样做。所报错误示例为:Errore27: Entry tagData in module Wmmp ( E:workMiniFramePRJLED200_W4IARDebug_in_flashObjWmmp.r79 ) redefined in module app ( E:workMiniFramePRJLED200_W4IARDebug_in_flashObjapp.r79 )将头文件中变量前加上extern 后即不再报错。程序编译时出现以下错误,实在不知道是什么原因,特向大家请教!ErrorPe223: function assert_param declared implicitly E:涡街流量计设计板2程序dft02librarysrcstm32f10x_nvic.c 351 ErrorPa045: function assert_param has no prototype E:涡街流量计设计板2程序dft02librarysrcstm32f10x_rcc.c 500 ErrorPe223: function assert_param declared implicitly E:涡街流量计设计板2程序dft02librarysrcstm32f10x_rcc.c 530 第一你用了中文文件夹第二没有定义assert_param这个函数不太明白,assert_param函数在stm32f10x_conf.h中已经定义了。stm32f10x_conf.h已加到workplace里了。还有文件夹用中文对程序有影响吗?库文件版本混乱,估计用错IARv5的文件了.库文件版本混乱,估计用错IARv5的文件了.ErrorPe020: identifier RCC_APB2Periph_GPIOC is undefined查看是否包含了头文件:#include stm32f10x_rcc.h 想改STM32F10X_MD为STM32F10X_HD,但是IAR530就是编译startup_stm32f10x_md.s文件,何解?想改STM32F10X_MD为STM32F10X_HD,但是IAR530就是编译startup_stm32f10x_md.s文件,何解?下载次数:02009-6-16 15:18编译那个文件和这个宏定义无关,你应该把STM32F10X_HD.s文件添加到你的工程中,并把startup_stm32f10x_md.s从工程中删除或设为不编译才行 请问下,IAR编译出现这个错误ErrorLi005: no definition for _program_start referenced from F:sdWORM_SD_MMC1WORM_SD_MMCDebugObjstm32f10x_vector.o ,这是我在做实验时出现的错误,有时候从别的地方拷贝个stm32f10x_vector.o覆盖掉原来的就可以,有时就不行,怎么回事呢这是?再有,我想把一个数组定义在程序空间,在IAR环境下如何做呢?我用原来的 u8 code shuzu的方式怎么不行呢?把code删掉就可以,忘各位高手解答下。 code这个标志应该不能用了吧,应该是用 const 就可以完成stm32f10x_vector.o 貌似应该是每次都从代码里面生成的吧,直接拷贝别的程序的文件,应该是不行的你应COPY的是stm32f10x_vector.c这个文件,还有就是stm32f10x_vector.c在IAR4XX及IAR5XX下用的不一样,你在固件库下的工程模板中应找到它。 o ,多谢解答,再有 uchar const tabe=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,00,0,0; for(i=0;i 10 )b1 = sendtime; 编译没问题,但是在单步调试过程中发现while(1)循环中的b2=sendtime根本不执行!求救啊StmFans思蜕盟论坛 竞猜NBA2009年总冠军是谁?收藏 分享 评分 回复 引用 订阅 报告 道具 TOP jasonjee 发短消息 加为好友 jasonjee (阿力)当前离线 销售处货运员UID2帖子1191精华4积分4276基本分1666 分技术分261 分阅读权限200在线时间751 小时注册时间2008-6-26最后登录2009-10-30思蜕盟后勤2楼 发表于 2009-2-12 12:56 | 只看该作者 这个是可能的,后面的判断语句中 很可能会直接使用 sendtime 这个变量在这个程序里面,b2 被编译器认为是多余变量,而被省略了。思蜕盟淘宝销售处迷你打铁铺 !豆皮、松鼠 开发板、仿真器、STM32全系芯片!欢迎光临!回复 引用 报告 道具 TOP _stm32f100_ 发短消息 加为好友 _stm32f100_ 当前离线 UID1538帖子170精华1积分1380基本分870 分技术分51 分阅读权限50来自在线时间264 小时注册时间2009-1-10最后登录2009-4-2银牌盟友来自3楼 发表于 2009-2-12 13:03 | 只看该作者 如果楼主真要怀疑编译器,首先你要对这个编译器有比较深的认识。估计楼主用IAR没几天。 本帖最后由 _stm32f100_ 于 2009-2-12 13:35 编辑 AVR、MSP430、CC8051 、STM32 and STM8 回复 引用 报告 道具 TOP binglin 发短消息 加为好友 binglin (炳哥哥)当前离线 UID4帖子5051精华14积分16863基本分11523 分技术分534 分阅读权限200在线时间1793 小时注册时间2008-6-26最后登录2009-11-12思蜕盟后勤4楼 发表于 2009-2-12 13:33 | 只看该作者 同意阿力的意见,会这么做的C编译器才是聪明的编译器。思蜕盟淘宝销售处迷你打铁铺 !豆皮、松鼠 开发板、仿真器、STM32全系芯片!欢迎光临!回复 引用 报告 道具 TOP yanyu_stm32 银牌盟友 发短消息 加为好友 yanyu_stm32 当前离线 UID1356帖子10精华0积分1085基本分445 分技术分64 分阅读权限50在线时间10 小时注册时间2008-12-31最后登录2009-6-8银牌盟友5楼 发表于 2009-2-12 14:06 | 只看该作者 IAR我刚刚用还需要大家指教!我调试的过程中,在Disassembly窗口中的确发现是b2没编辑没了。我最主要的问题是:如果我只在main程序中跟踪的话,在watch窗口中的sendtime,b1,b2就都是0.如果我在stm32f10x_it.c的SysTickHandler中设置断点的话,会看到watch窗口中的sendtime变化,但b1,b2还是不变啊非常奇怪!我还是有弄不明白的地方!附stm32f10x_it.c的SysTickHandler的部分代码:void SysTickHandler(void)savetime+;sendtime+;if (savetime 500) savetime = 0; directionflag = FALSE; LCD_Clear(); LCD_Draw_ST_Logo();。以下省略回复 引用 报告 道具 TOP yanyu_stm32 发短消息 加为好友 yanyu_stm32 当前离线 UID1356帖子10精华0积分1085基本分445 分技术分64 分阅读权限50在线时间10 小时注册时间2008-12-31最后登录2009-6-8银牌盟友6楼 发表于 2009-2-12 14:09 | 只看该作者 还有一种可能:是不是我的变量声明有问题。我在main.c中,声明了全局变量:u32 sendtime;u32 b1;u32 b2;在中声明的外部变量:extern u32 sendtime;目的是想中断程序能够使用main.c中的sendtime变量,不知道这样的声明方式是否正确?思蜕盟淘宝销售处迷你打铁铺 !豆皮、松鼠 开发板、仿真器、STM32全系芯片!欢迎光临!回复 引用 报告 道具 TOP jasonjee 发短消息 加为好友 jasonjee (阿力)当前离线 销售处货运员UID2帖子1191精华4积分4276基本分1666 分技术分261 分阅读权限200在线时间751 小时注册时间2008-6-26最后登录2009-10-30思蜕盟后勤7楼 发表于 2009-2-12 14:58 | 只看该作者 全局变量,也是可以被优化的,除非你选择强制配置回复 引用 报告 道具 TOP binglin 发短消息 加为好友 binglin (炳哥哥)当前离线 UID4帖子5051精华14积分16863基本分11523 分技术分534 分阅读权限200在线时间1793 小时注册时间2008-6-26最后登录2009-11-12思蜕盟后勤8楼 发表于 2009-2-12 15:00 | 只看该作者 用VU32 sendtime;b1及b2只在main里用,就无所谓呀。在仿真时看不到变量的值,是很正常的事,记住C是编译程序,它不是解释性语言。因为很多变量,有可能被优化与寄存器变量了,因此看不到的可能性是很大的。回复 引用 报告 道具 TOP catwill 发短消息 加为好友 catwill 当前在线 UID1080帖子2498精华2积分5647基本分4297 分技术分135 分阅读权限80在线时间330 小时注册时间2008-12-12最后登录2009-11-12金牌盟友9楼 发表于 2009-2-12 15:10 | 只看该作者 以前也怀疑过keil C51后来研究keil的反汇编,才发现它比我聪明多了砖家级的水准回复 引用 报告 道具 TOP catwill 发短消息 加为好友 catwill 当前在线 UID1080帖子2498精华2积分5647基本分4297 分技术分135 分阅读权限80在线时间330 小时注册时间2008-12-12最后登录2009-11-12金牌盟友10楼 发表于 2009-2-12 15:11 | 只看该作者 借个地方请教一下:IAR中如何自定义关键字?比如typedef unsigned char uint8 ;如何让uint8 高亮/特殊颜色显示?砖家级的水准回复 引用 报告 道具 TOP yanyu_stm32 发短消息 加为好友 yanyu_stm32 当前离线 UID1356帖子10精华0积分1085基本分445 分技术分64 分阅读权限50在线时间10 小时注册时间2008-12-31最后登录2009-6-8银牌盟友11楼 发表于 2009-2-12 15:43 | 只看该作者 8楼的大哥,我知道b1,b2在main()里声明就可以了,而且实际b2都没什么意义,但我始终找不到为什么在main()里无法察觉sendtime的变化的原因。回复 引用 报告 道具 TOP binglin 发短消息 加为好友 binglin (炳哥哥)当前离线 UID4帖子5051精华14积分16863基本分11523 分技术分534 分阅读权限200在线时间1793 小时注册时间2008-6-26最后登录2009-11-12思蜕盟后勤12楼 发表于 2009-2-12 15:51 | 只看该作者 全速运行后,按Debug-break,再看看有没有。思蜕盟淘宝销售处迷你打铁铺 !豆皮、松鼠 开发板、仿真器、STM32全系芯片!欢迎光临!回复 引用 报告 道具 TOP yanyu_stm32 发短消息 加为好友 yanyu_stm32 当前离线 UID1356帖子10精华0积分1085基本分445 分技术分64 分阅读权限50在线时间10 小时注册时间2008-12-31最后登录2009-6-8银牌盟友13楼 发表于 2009-2-12 16:35 | 只看该作者 没有效果,不过我再用其它方法再试试,如果有结果再发上来,谢谢!回复 引用 报告 道具 TOP _stm32f100_ 发短消息 加为好友 _stm32f100_ 当前离线 UID1538帖子170精华1积分1380基本分870 分技术分51 分阅读权限50来自在线时间264 小时注册时间2009-1-10最后登录2009-4-2银牌盟友来自14楼 发表于 2009-2-12 18:01 | 只看该作者 原帖由 catwill 于 2009-2-12 15:11 发表 借个地方请教一下:IAR中如何自定义关键字?比如typedef unsigned char uint8 ;如何让uint8 高亮/特殊颜色显示? 自定义关键字。02.JPG (28.86 KB) 下载次数:62009-2-12 18:01AVR、MSP430、CC8051 、STM32 and STM8 思蜕盟淘宝销售处迷你打铁铺 !豆皮、松鼠 开发板、仿真器、STM32全系芯片!欢迎光临!回复 引用 报告 道具 TOP catwill 发短消息 加为好友 catwill 当前在线 UID1080帖子2498精华2积分5647基本分4297 分技术分135 分阅读权限80在线时间330 小时注册时间2008-12-12最后登录2009-11-12金牌盟友15楼 发表于 2009-2-12 21:48 | 只看该作者 谢谢楼上的其实研究了一个下午的IAR手册,还是自己搞定了需要自己建立个TXT文档! 不过无限鄙视自己的E文实力说实在的,我人生的一半就毁在这该死的E文上了砖家级的水准回复 引用 报告 道具 TOP yanyu_stm32 银牌盟友 发短消息 加为好友 yanyu_stm32 当前离线 UID1356帖子10精华0积分1085基本分445 分技术分64 分阅读权限50在线时间10 小时注册时间2008-12-31最后登录2009-6-8银牌盟友16楼 发表于 2009-2-13 10:27 | 只看该作者 今天程序测试已经通过了,结果如下:1.许多变量不知道为什么无法监测到,无论是STEP运行还是用BREAK都一样,监视到的值始终是0。但程序运行的输出结果是正确的。2.定义成vu32类型的变量在本程序中的确不能直接用,先赋值给一个u32变量再用就OK了。目前我还没搞清楚原因。3.许多语句在汇编窗口中看似跳过了,实际上不是被编译器优化掉了,就是赋值已经在上面的语句中完成了,不会影响结果的。总结:主要是我对IAR EWARM用的不熟,还要继续努力啊!谢谢大家对我的帮助 本帖最后由 yanyu_stm32 于 2009-2-13 10:29 编辑 思蜕盟淘宝销售处迷你打铁铺 !豆皮、松鼠 开发板、仿真器、STM32全系芯片!欢迎光临!回复 引用 报告 道具 TOP catwill 发短消息 加为好友 catwill 当前在线 UID1080帖子2498精华2积分5647基本分4297 分技术分135 分阅读权限80在线时间330 小时注册时间2008-12-12最后登录2009-11-12金牌盟友17楼 发表于 2009-2-13 12:22 | 只看该作者 事实上%目前地球上的编译器都遵循以下一个规则:它们认为程序员是神,对编译器以及语言的特性都有着深刻的理解砖家级的水准回复 引用 报告 道具 TOP xingliu 发短消息 加为好友 xingliu 当前离线 UID1191帖子20精华0积分41基本分41 分技术分0 分阅读权限10在线时间45 小时注册时间2008-12-20最后登录2009-7-27木牌盟友18楼 发表于 2009-2-14 08:13 | 只看该作者 哎。我昨天也遇到这个问题。搞了我半天。我感觉这还是IAR工具做的差劲的原因。因为从调试的目的来看。我想看看哪个变量你就不给看你说这急人不急人。无论你怎么优化,要满足我调试的需要才行啊。并且我在选项里面设置的是不优化。回复 引用 报告 道具 TOP binglin 发短消息 加为好友 binglin (炳哥哥)当前离线 UID4帖子5051精华14积分16863基本分11523 分技术分534 分阅读权限200在线时间1793 小时注册时间2008-6-26最后登录2009-11-12思蜕盟后勤19楼 发表于 2009-2-16 00:30 | 只看该作者 不一定,由于优化等原因,这种情况经常出现的,MDK也经常会这样。以前用AVR的AVR Stduio + WinAVR时,用它来仿真时,也经常遇到这种现象,见多了就不觉奇怪了。如果变量被优化与寄存器变量,通常它的值在仿真时就不能直接看到了。在写PC机软件时,这种问题就比较少见到了,但奇怪的是:我在写PC机的软件时,几乎从来不用仿真的,写好就直接编译运行。回复 引用 报告 道具 TOP kerrigan 发短消息 加为好友 kerrigan 当前离线 UID354帖子21精华0积分0基本分0 分技术分0 分阅读权限10在线时间2 小时注册时间2008-9-20最后登录2009-3-31木牌盟友20楼 发表于 2009-2-20 15:17 | 只看该作者 我从不怀疑编译器EWARM 编译stm32程序出规如下错误EWARM生成*.hex文件时出现如下错误怎样解决?Errore122: The address 0x8000000 is too large to be represented in the output format intel-standardStmFans思蜕盟论坛 Linux各发行版本 优缺点 简介收藏 分享 评分 回复 引用 订阅 报告 道具 TOP liuzq71 发短消息 加为好友 liuzq71 当前离线 UID18帖子71精华0积分211基本分131 分技术分8 分阅读权限20在线时间28 小时注册时间2008-7-2最后登录2009-5-14铁牌盟友2楼 发表于 2008-9-5 21:54 | 只看该作者 噢,莫非是在DEBUG编译模式下,无法生成*.HEX文件!在编译模式下就好了思蜕盟淘宝销售处迷你打铁铺 !豆皮、松鼠 开发板、仿真器、STM32全系芯片!欢迎光临!回复 引用 报告 道具 TOP binglin 发短消息 加为好友 binglin (炳哥哥)当前离线 UID4帖子5051精华14积分16863基本分11523 分技术分534 分阅读权限200在线时间1793 小时注册时间2008-6-26最后登录2009-11-12思蜕盟后勤3楼 发表于 2008-9-5 22:20 | 只看该作者 找个项目,测试一下,在DEBUG编译模式是可以生成*.HEX文件的,完全正常.请参考如下设置:hex.jpg (53.3 KB) 下载次数:92008-9-5 22:20被过滤广告入门求助 很奇怪的一个链接错误,请教高手。Keil下的一个错误:linking.ObjSTM3210E-EVAL.axf: Error: L6218E: Undefined symbol Read_CH_Dot (referred from main.o).函数如此声明:void Read_CH_Dot(u32 GBCode,u8 *pFontTemp);定位在下面有颜色行:int main(void)u8 FontTemp32 = 0;while (1) Read_CH_Dot(1, FontTemp);不知道是什么问题,还请高手帮忙啊!StmFans思蜕盟论坛 窗边的小豆豆收藏 分享 评分 以上言论纯属个人胡言乱语,请勿轻易相信。回复 引用 订阅 报告 道具 TOP tuy0327 发短消息 加为好友 tuy0327 当前离线 UID2929帖子145精华1积分562基本分502 分技术分6 分阅读权限30在线时间65 小时注册时间2009-3-24最后登录2009-11-10铜牌盟友2楼 发表于 2009-4-7 16:56 | 只看该作者 问题找到了我虽然声明了,调用了,但是没有定义根本没写这个函数,当然出错了,哈哈以上言论纯属个人胡言乱语,请勿轻易相信。思蜕盟淘宝销售处迷你打铁铺 !豆皮、松鼠 开发板、仿真器、STM32全系芯片!欢迎光临!回复 引用 报告 道具 TOP binglin 发短消息 加为好友 binglin (炳哥哥)当前离线 UID4帖子5051精华14积分16863基本分11523 分技术分534 分阅读权限200在线时间1793 小时注册时间2008-6-26最后登录2009-11-12思蜕盟后勤3楼 发表于 2009-4-7 19:29 | 只看该作者 呵呵,楼主如果不说,这个问题的原因恐怕也比较难以猜中。回复 引用 报告 道具 TOP catwill 发短消息 加为好友 catwill 当前在线 UID1080帖子2498精华2积分5647基本分4297 分技术分135 分阅读权限80在线时间330 小时注册时间2008-12-12最后登录2009-11-12金牌盟友4楼 发表于 2009-4-7 19:47 | 只看该作者 呵呵,还真是,光看这个,很难猜中!IAR 调试不通过,会出现调试时出现c:program filesIAR SystemsEmbedded workbench 5.4armbinarmlibsupport.dll:段已解除锁定在使用IAR5.3 JLINK RDI调试,在退出调试时出现c:program filesIAR SystemsEmbedded workbench 5.4armbinarmlibsupport.dll:段已解除锁定。错误!请问这是为什么呢?StmFans思蜕盟论坛 竞猜NBA2009年总冠军是谁?收藏 分享 评分 回复 引用 订阅 报告 道具 TOP franwilliam 发短消息 加为好友 franwilliam 当前离线 UID5976帖子5精华0积分29基本分29 分技术分0 分阅读权限10在线时间1 小时注册时间2009-9-9最后登录2009-11-10木牌盟友2楼 发表于 2009-11-1 23:29 | 只看该作者 呵呵! 问题已经解决了!需要在你的OPTION /LINKER/CONFIG 选项内 override defalut方框内设置成为$PROJ_DIR$stm32f10x_flash.icf就 可以了!思蜕盟淘宝销售处迷你打铁铺 !豆皮、松鼠 开发板、仿真器、STM32全系芯片!欢迎光临!回复 引用 报告 道具 TOP binglin 发短消息 加为好友 binglin (炳哥哥)当前离线 UID4帖子5051精华14积分16863基本分11523 分技术分534 分阅读权限200在线时间1793 小时注册时间2008-6-26最后登录2009-11-12思蜕盟后勤3楼 发表于 2009-11-1 23:47 | 只看该作者 原来我也遇到过这个问题呢,我当时遇到的情况时有时出现有时没有出现这个提示。我的设置与楼主的解决办法里是一样的。楼主继续用一段时间,看看还会不会继续出现这个提示?回复 引用 报告 道具 TOP franwilliam 发短消息 加为好友 franwilliam 当前离线 UID5976帖子5精华0积分29基本分29 分技术分0 分阅读权限10在线时间1 小时注册时间2009-9-9最后登录2009-11-10木牌盟友4楼 发表于 2009-11-2 22:35 | 只看该作者 今天我又来了啊! 我的问题有出现了!怎么我将那里设置了!但是还是回有那个提示。但是好像不影响其他 的编译哦!调试啊! 期待新的发现!思蜕盟淘宝销售处迷你打铁铺 !豆皮、松鼠 开发板、仿真器、STM32全系芯片!欢迎光临!回复 引用 报告 道具 TOP binglin 发短消息 加为好友 binglin (炳哥哥)当前离线 UID4帖子5051精华14积分16863基本分11523 分技术分534 分阅读权限200在线时间1793 小时注册时间2008-6-26最后登录2009-11-12思蜕盟后勤5楼 发表于 2009-11-2 22:58 | 只看该作者 这个提示是不影响编译的(与编译无关),是RDI的驱动问题,基本没有很好的解决办法。回复 引用 报告 道具 TOP binglin 思蜕盟后勤 发短消息 加为好友 binglin (炳哥哥)当前离线 UID4帖子5051精华14积分16863基本分11523 分技术分534 分阅读权限200在线时间1793 小时注册时间2008-6-26最后登录2009-11-126楼 发表于 2009-11-2 23:27 | 只看该作者 它是是退出时有这个错误提示,有一定的随机性,可以尝试修改速度,降低速度后可以有较好的改善作用,楼主你试试。【楼主位】 h

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论