BSP,Board Support Package,指板级支持包,是构建嵌入式操作系统所需的引导程序(Bootload)、内核(Kernel)、根文件系统(Rootfs)和工具链(Toolchain)。
每种开发板的
BSP
都不一样,并且这些源码都非常庞大。我们把这些源码都
放在
git
仓库里,使用
repo
来管理、下载。
作为初学者,你甚至都还没有安装
Ubuntu
、还不会使用
Ubuntu
,所以先别
去下载它们。
下载
https://gitee.com/weidongshan
dir -p 100ask_imx6ull-sdk
1 永久生效
设置完毕后,要执行
source ~/.bashrc
命令使其生效,并通过
arm-buildroot-linux-gnueabihf-gcc -v
命令来验证是否配置成功:
book@100ask:~$ source ~/.bashrc
book@100ask:~$ arm-buildroot-linux-gnueabihf-gcc -v
以上操作是设置 IMX6ULL Pro 版工具链的过程。
也可以手工执行“export”命令设置环境变量,该设置只对当前终端有效(另
开一个终端需要再次设置)。执行以下 3 个命令:
git clone https://e.coding.net/codebug8/repo.git
mkdir -p 100ask_imx6ull-sdk && cd 100ask_imx6ull-sdk
../repo/repo init -u https://gitee.com/weidongshan
/manifests.git -b linux-sdk -m imx6ull/100ask_imx6ull_linux4.9.88_release.xml --norepo-verify
../repo/repo sync -j4
下载成功后,可以看到名为 Linux-4.9.88 的目录&
使用 source insight 阅读 Linux 源码&cd 1
解压
ask
tar cjf Linux-4.9.88.tar.bz2 Linux-4.9.88
首次下载时如果提示
Testing colorized output (for 'repo diff', 'repo status'):
此时输入 y 即可,继续执行
../repo/repo sync -j4
命令即可开始同步源码(同步代码根据网络情况需要等待数分钟)。 图 2.15 为参考示例。i
mx6ull-sdk
注意:
repo
在线下载的代码和网盘配套资料中的代码是一致的,我们会每隔一
段时间更新一次源码包,
/repo/repo sync -c
配置交叉编译工具链
交叉编译工具链用来在 Ubuntu 主机上编译应用程序,而这些应用程序是在
ARM 等其他平台上运行。
设置交叉编译工具主要是设置 PATH, ARCH 和 CROSS_COMPILE 三个环境变
量,下面介绍具体设置方法
1 永久生效
如需永久修改,请修改用户配置文件:
vim ~/.bashrc
在行尾添加或修改,加上下面几行(请把第 3、4 行合并为一行,有些 PDF 工
具无法正确复制甚至丢失“-”符号,请仔细对比):
export ARCH=arm
export CROSS_COMPILE=arm-buildroot-linux-gnueabihf-export PATH=$PATH:/home/book/100ask_imx6ull-sdk/ToolChain/arm-buildroot-linux-gnueab
ihf_sdk-buildroot/bin
设置完毕后,要执行
source ~/.bashrc
命令使其生效,并通过
arm-buildroot-linux-gnueabihf-gcc -v
命令来验证是否配置成功:
book@100ask:~$ source ~/.bashrc
book@100ask:~$ arm-buildroot-linux-gnueabihf-gcc -v
以上操作是设置 IMX6ULL Pro 版工具链的过程。
2 临时生效
也可以手工执行“export”命令设置环境变量,该设置只对当前终端有效(另
开一个终端需要再次设置)。执行以下 3 个命令:
book@100ask:~$ export ARCH=arm
book@100ask:~$ export CROSS_COMPILE=arm-buildroot-linux-gnueabihf-book@100ask:~$ export PATH=$PATH:/home/book/100ask_imx6ull-sdk/ToolChain/arm-buildroot-linux-gnueabihf_sdk-buildroot/bin
测试交叉编译工具链
执行以下命令测试环境变量:
book@100ask:~$ echo $ARCH
arm
book@100ask:~$ echo $CROSS_COMPILE
arm-buildroot-linux-gnueabihf-
执行以下命令测试工具链,
book@100ask:~$ arm-buildroot-linux-gnueabihf-gcc -v


mkdir -p 100ask_imx6ull-sdk && cd 100ask_imx6u
ll-sdk
mkdir -p 100ask_imx6ull-sdk && cd 100amkdir -p 100ask_imx6ull-sdk && cd 100ask_imx6ull-sdk
sk_imx6ull-sdk
sts.git -b inux-sdk -m imx6ull/100ask_imx6ull_linux4.9.88_release.xml --no
repo-verify