(2014年4月12日修改)
(嵌入式 实时操作系统 rtos nuttx 开发环境 交叉工具链 shell脚本)
转载请注明出处: http://blog.csdn.net/zhumaill/article/details/22821843
已测试的 Linux 发行版:
linuxmint-16-cinnamon-64bit/32bit
ubuntu-13.10-amd64/i386
debian-7.4-gnome-amd64/i386
debian-7.4-xfce-amd64/i386(要使用 Qt Creator 或 Eclipse 需额外的设置)
crunchbang-11-amd64/i686
(嵌入式 实时操作系统 rtos nuttx 开发环境 交叉工具链 shell脚本)
NuttX 安装脚本
nuttx_building_v12.sh转载请注明出处: http://blog.csdn.net/zhumaill/article/details/22821843
已测试的 Linux 发行版:
linuxmint-16-cinnamon-64bit/32bit
ubuntu-13.10-amd64/i386
debian-7.4-gnome-amd64/i386
debian-7.4-xfce-amd64/i386(要使用 Qt Creator 或 Eclipse 需额外的设置)
crunchbang-11-amd64/i686
#!/bin/bash
#nuttx7.1在linuxmint-16-cinnamon-64bit上测试通过
#设置
BASEDIR=`pwd`
TOPDIR=my_nuttx
BOARD=shenzhou
TARGETCONFIG=shenzhou/nsh
COMMIT=nuttx-7.1
gmp_name=gmp-5.1.3.tar.xz
mpfr_name=mpfr-3.1.2.tar.xz
mpc_name=mpc-1.0.2.tar.gz
binutils_name=binutils-2.24.tar.bz2
gcc_name=gcc-4.8.2.tar.bz2
gmp_basename=`echo $gmp_name | awk -F. 'NF-=2' OFS=.`
mpfr_basename=`echo $mpfr_name | awk -F. 'NF-=2' OFS=.`
mpc_basename=`echo $mpc_name | awk -F. 'NF-=2' OFS=.`
binutils_basename=`echo $binutils_name | awk -F. 'NF-=2' OFS=.`
gcc_basename=`echo $gcc_name | awk -F. 'NF-=2' OFS=.`
#“按任意键继续。。。”的处理函数
get_char()
{
SAVEDSTTY=`stty -g`
stty -echo
stty raw
dd if=/dev/tty bs=1 count=1 2> /dev/null
stty -raw
stty echo
stty $SAVEDSTTY
}
usage()
{
cat <<EOF
-d 下载安装并创建压缩包->编译nuttx
-e 从本地压缩包安装->编译nuttx
-m 编译nuttx
EOF
}
if [ -z "$1" ]; then
usage
exit 1
fi
DOWNLOAD=no
EXTRACT=no
MAKE_NUTTX=no
while getopts debcma OPT
do
case "$OPT" in
d) DOWNLOAD=yes; MAKE_NUTTX=yes;;
e) EXTRACT=yes; MAKE_NUTTX=yes;;
m) MAKE_NUTTX=yes;;
*) usage; exit 1;;
esac
done
if [ $DOWNLOAD = 'yes' ] || [ $EXTRACT = 'yes' ]; then
echo "安装依赖项"
sudo apt-get -d update 2>&1 | tee apt-get_update.log
if (grep -q -E '^E:|^Err|^W:' apt-g