分类: 嵌入式
2015-05-09 19:15:51
解决方法:
首先:工程名、文件名中不能有汉语,不能有括号。
其次:在ADS 1.2中,Project——>Remove Object Code——>All targets(Compact target)。
分析原因:以前在其他计算机上编译时造成的。
解决措施:复制ADS工程到硬盘后,必须去除工程所有文件夹及文件的只读属性.如果项目移动到另外一个文件夹后,在重新编译之前,要选择菜单project --> remove object code ... ,在弹出的对话框中按"ALL Tagerts"来删除原来编译生成的*.o文件,才能编译成功.
软硬件平台:WIN7 x64 ADSv1.2 Mini2440 JLink8.0 J-link ARM V4.08l
调试小程序一般不会出现什么问题,但是调试国嵌和友善光盘中的myled...程序会出现问题
Make 和Run Project的时候提示错误,错误信息如下:
Warning : L6301W: Could not find file C:\Program Files .
Warning : L6301W: Could not find file C:\Program Files .
Warning : L6301W: Could not find file C:\Program Files .
Error : L6218E: Undefined symbol _fcmple (referred from 文件名.o).
Error : L6218E: Undefined symbol _fdiv (referred from 文件名.o).
Error : L6218E: Undefined symbol _fmul (referred from 文件名.o).
Error : L6218E: Undefined symbol _f2d (referred from 文件名.o).
Error : L6218E: Undefined symbol sprintf (referred from 文件名.o).
Error : L6218E: Undefined symbol _dmul (referred from 文件名.o).
Error : L6218E: Undefined symbol _drsb (referred from 文件名.o).
.......
Not enough information to list the image sizes and/or totals.
Finished: 1 information, 3 warning and 41 error messages.
网上总结无外乎几类:
1.网上总结无外乎几种,不兼容win7,链接库文件有问题,换用其他调试工具
2.XP能编译但Win 7不能编译,而且出现缺失”*.o“的基本都是64位系统,看来64各种悲剧,呵呵...
3.查找AXD的安装目录,发现AXD安装在C:\Program Files(x86)下面,并非C:\Program Files,但是程序确找的是C:\Program Files(x86)
首先来说这个ADS使用用户群多,像MDK即RealView MDK或MDK-ARM,使用人群少,怕解决问题更麻烦,所以有人怀疑
是不是WIN7-x64和程序的兼容性问题导致呢?建议避开Program Files目录,建议以Administrator的权限运行。
以下为网上提供的方法:
卸载ADS
重新安装ADS,目录选择为C:\ARM\ADSv1_2
开始àARM Developer Suite v1.2àCodeWarrior for ARM Developer Suite,右击属性à兼容性
兼容模式选中以兼容模式运行这个程序Windows XP (Service Pack 3)
设置选中禁用视觉主题和禁用桌面元素
特权等级选择以管理员身份运行此程序
重启系统运行程序
我经过亲身验证:其实根本不用安装到系统目录(C :\Windows)或者根目录(C:\)下,
只需在安装的时候,将C:\Program Files (x86)\改为C:\Program Files\其实即可,估计应该当时
ADS开发的时候32位是天下,而且并没有考虑64位系统中的32位程序会被安装到带(x86)
的目录下,所以在读取文件的时候并不能读取()这个特殊符号,估计非特殊符号的路径都可
以下也为网上提供的有些错误解决方法:
Make和Run的时候提示错误信息如下:
1. Error starting extrnal proces. Process Error Code 87 (0x57)
怀疑是权限的问题,所以将AXD也同上面的3-a/b/c设置,然后重启系统。
2. 复制的工程在ADS1.2下LINK时找不到*****.o
如果项目移动到另外一个文件夹后,在重新编译之前,要选择菜单Project --> Remove Object Code... ,
在弹出的对话框中按"ALL Tagerts"来删除原来编译生成的*.o文件,这样就能编译成功
注意:编译的文件一定要在英文目录,尤其国外软件对中文支持不怎么好
复制或者有时出现问题太多的时候,不妨先Remove Object Code... 说不定就有不一样的收获
MAKE工程文件时有error,
Error : Q0108E: Could not create output file 'L:\ARMSYSI\source\Debug\felf00uarttest.bin'.
解决办法:
到Debug setting里面,选中ARM fromELF,然后将Output file name 内容删除(或者填入你需要的路径),单然后点击OK退出,重新make,就不会有这个问题了。