nuttx linux 编译,在Ubuntu下编译STM32F4 Discovery平台下Nuttx

安装Toolchain

首先安装需要用到的一些依赖包

$sudo apt-get update

$sudo apt-get install python-serial python-argparse openocd \

flex bison libncurses5-dev autoconf texinfo build-essential \

libftdi-dev libtool zlib1g-dev genromfs git-core wget zip \

python-empy

接下来还需要安装32bit运行时支持库等

sudo apt-get install libc6:i386 libgcc1:i386 gcc-4.6-base:i386 libstdc++5:i386 libstdc++6:i386

然后再安装ARM Toolchain(GCC 4.8)

pushd .

cd ~

wget https://launchpadlibrarian.net/186124160/gcc-arm-none-eabi-4_8-2014q3-20140805-linux.tar.bz2

tar -jxf gcc-arm-none-eabi-4_8-2014q3-20140805-linux.tar.bz2

exportline="export PATH=$HOME/gcc-arm-none-eabi-4_8-2014q3/bin:\$PATH"

if grep -Fxq "$exportline" ~/.profile; then echo nothing to do ; else echo $exportline >> ~/.profile; fi

. ~/.profile

popd

Nuttx配置的时候需要用到kconfig-mconf,因此手动安装kconfig-frontends,源码可以从官网去下载:http://ymorin.is-a-geek.org/projects/kconfig-frontends

wget http://ymorin.is-a-geek.org/download/kconfig-frontends/kconfig-frontends-3.12.0.0.tar.bz2

tar jxf kconfig-frontends-3.12.0.0.tar.bz2

编译kconfig-frontends会需要依赖gperf,先安装

sudo apt-get install gperf

然后编译安装kconfig-frontends

cd kconfig-frontends-3.12.0.0

./configure

make

sudo make install

编译Nuttx

首先通过git clone代码下来

git clone git://git.code.sf.net/p/nuttx/git

nuttx-git

(sudo git clone

https://github.com/PX4/NuttX ./)

cd nuttx-git

配置编译平台

cd nuttx/tools

./configure.sh stm32f4discovery/usbnsh

cd ..

make menuconfig

如果在make

menuconfig的时候提示找不到库libkconfig-parser-3.12.0.so,但实际刚才编译安装过了,所以创建一个link

sudo ln -s /usr/local/lib/libkconfig-parser-3.12.0.so /lib/libkconfig-parser-3.12.0.so

源码默认编译平台是windows,所以需要配置一下,在make

menuconfig弹出的菜单里配置编译平台为LinuxBuild Setup=>Build host

platform: Linux

最后保存退出,输入make,则开始编译,编译得到一个nuttx.bin文件,这个可以烧入STM32F4

Discovery板来运行。刚才配置的是usbnsh,因此如果正常运行起来,通过usb连接STM32F4

Discovery到PC会在PC上找到一个serail设备,用终端程序连接打开,就可以看到Nuttx的nsh界面了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值