由于用的是ubuntu下的CCS,所以要在build step,也就是项目属性,build 选项的steps选项卡中,将Post-build step中的命令修改,主要是将可执行文件exe扩展名去到,修改后,大概是下面的样子。
"${CCS_INSTALL_ROOT}/utils/tiobj2bin/tiobj2bin" "../../../../../../../binary/armv7a/cgt_ccs/am335x/beaglebone/gpio/${ConfigName}/${ProjName}.out" "../../../../../../../binary/armv7a/cgt_ccs/am335x/beaglebone/gpio/${ConfigName}/${ProjName}.bin" "${CG_TOOL_ROOT}/bin/armofd" "${CG_TOOL_ROOT}/bin/armhex" "${CCS_INSTALL_ROOT}/utils/tiobj2bin/mkhex4bin" & "../../../../../../../tools/ti_image/tiimage" "0x80000000" "NONE" "../../../../../../../binary/armv7a/cgt_ccs/am335x/beaglebone/gpio/${ConfigName}/${ProjName}.bin" "../../../../../../../binary/armv7a/cgt_ccs/am335x/beaglebone/gpio/${ConfigName}/${ProjName}_ti.bin"
但是,我用CCS5.3和5.5还是编译不出bin文件,一直显示tiobj2bin: Syntax error: "(" unexpected错误
所以便去到tiobj2bin的目录底下,看看这个tiobj2bin文件。感觉语法应该没错,但是就是报错,再看了下这个文件的第一行,是
#! /bin/sh
我就把它改成
#! /bin/bash
保存,搞定,可以正常工作了!
题外话,我用cd /bin 到bin目录
用ls -l *sh看了一下
-rwxr-xr-x 1 root root 959120 Mar 29 2013 bash
-rwxr-xr-x 1 root root 109768 Mar 30 2012 dash
lrwxrwxrwx 1 root root 4 Mar 5 16:41 rbash -> bash
lrwxrwxrwx 1 root root 4 Mar 5 16:41 sh -> dash
lrwxrwxrwx 1 root root 7 Mar 5 16:41 static-sh -> busybox
原来ubuntu是将sh转到dash去了,所以估计兼容性不太好,难怪我之前编译android内核时,网上建议要将sh连到bash上。