本人亲自测试,环境WIN7 x64、ADSv1.2 ,该方法有效!
转载文章:http://blog.csdn.net/comwise/article/details/8944168
软硬件平台:WIN7 x64、ADSv1.2、Mini2440、JLink8.0 、J-link ARM V4.08l
调试裸机程序会出现一些奇怪的问题!!
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
首先来说这个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)
这个是ADS兼容性问题,可以自安装的bin目录下找到IDE.exe文件,以兼容xp sp3 并且以管理员身份运行运行,然后重启工程就可以了。
2. 复制的工程在ADS1.2下link时找不到*****.o
如果项目移动到另外一个文件夹后,在重新编译之前,要选择菜单Project --> Remove Object Code... ,在弹出的对话框中按"ALL Tagerts"来删除原来编译生成的*.o文件,这样就能编译成功。还有一个有些设置了只读属性,要自己更改文件属性。
注意:编译的文件一定要在英文目录,尤其国外软件对中文支持不怎么好,复制或者有时出现问题太多的时候,不妨先Remove Object Code... 说不定就有不一样的收获。