这两天编译了QCA4010开发板的SDK_SHELL demo,在编译过程中有几个容易出错的地方,记录下来,希望对其他朋友有所帮助。
1,系统必须使用32的linux,否则会报xt-xcc not found一类的错误。
2.系统的网卡接口名称最好为eth0,新的linux内核会采用新的接口命名规则,可能出现ens0p3这样的接口,最好改成eth0,因为中电港提供的工具脚本里可能都是以eth0进行操作的。方法请参考
http://www.51ou.com/browse/centos/58553.html
3,编译工具会使用gcc的objdump命令,所以要先保证objdump命令可以正常使用。并且,编译demo/sdk_shell时会调用demo/sdl_flash里的make_flash_hostless.sh。这个脚本使用一下命令获取elf文件的起始地址:START_ADDR=0x$($OBJDUMP -f $APPS_OUTFILE | grep "start address" | cut -b 17-24)
但可能有的系统如果是中文设置的话,这里objdump -f filename的输出相应的项显示的是"起始地址",这样,就会导致grep查找不到,并最终提示printf无法转换值一类的错误。这是要把grep "start address"改成“起始地址"(具体由objdump -f filename的输出确定),脚本就可以正常工作了。
有的系统没有装gcc,可能就没有objdump命令,这时就要先试试安装gcc.
4,默认的sdk_shell demo的串口连接设置必须为:115200速率,8bit数据位,1停止位,无检校位,流控xon/xoff.
5,license.dat文件的位置必须和sdkenv.sh里LM_LICENSE_FILE=/cad/tensilica/license.dat的设置一致。
6,注意烧录和运行时切换跳线的设置。
另外,artgui.exe工具如果打开提示并行配置不正确的话,可以按照提示使用sxstrace命令跟踪。看看哪个上下文激活失败。一般问题是vc80crt,
错误: 无法解析参考 Microsoft.VC80.CRT,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="8.0.50727.6195"。
按照上面的提示下载相应版本的vc2005 redistribution安装,如果还运行不起来,vc2005 redistribution安装后可以在C:\windows\winsxs\manifests下找到对应的manifest.
x86_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.6195_none_d09154e044272b9a.manifest(注意x86,和版本号8.0.50727.6195要符合)将其拷贝到artgui.exe所在的文件夹。应该就可以正常运行了。
8.0.50727.6195的vc2005运行库下载地址为:
https://www.microsoft.com/en-us/download/details.aspx?id=26347
Microsoft Visual C++ 2005 Service Pack 1 Redistributable Package MFC Security Update
下载x86版本。