Jetson Nano开发环境搭建

1.交叉编译工具链

下载gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu.tar.xz

下载地址:Jetson Linux R32.7.2 Release Page | NVIDIA Developer

1)解压

安装位置为/opt

主机开发环境:Ubuntu 18.04.6 LTS

sudo tar -xvf gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu.tar.xz -C /opt

2)修改启动脚本

vim ~/.bashrc

添加:

export PATH=/opt/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu/bin:$PATH

3)脚本生效

source ~/.bashrc

4)查看aarch64-linux-gnu-gcc版本

aarch64-linux-gnu-gcc -v

显示gcc相应的版本号,说明安装成功

注意:若想安装其他版本的交叉编译器,可前往:Linaro Releases

下载对应平台的编译好的工具链,并按上述方法操作。

2.u-boot编译

下载public_sources.tbz

下载地址:L4T Driver Package (BSP) Sources

1)解压

tar -jvxf public_sources.tbz2

cd Linux_for_Tegra/source/public

mkdir u-boot

tar -jvxf u-boot_src.tbz2 -C u-boot

cd u-boot/u-boot

2)导出环境变量

export CROSS_COMPILE=aarch64-linux-gnu-

3)清除原生成的文件

make distclean

4)配置

make p3450-0000_defconfig

5)编译

make

编译结果为当前目录下的u-boot.bin文件

拷贝u-boot.bin文件到Linux_for_Tegra/bootloader/t210ref/p3450-0000/下即可

Linux_for_Tegra目录为Jetson-210_Linux_R32.7.2_aarch64.tbz2解压后的目录,BSP下载地址:L4T Driver Package (BSP)

3.kernel编译

1)必要工具安装

sudo apt install build-essential bc
sudo apt-get install libncurses5-dev

2)解压kernel

cd <top>/Linux_for_Tegra/source/public

mkdir kernel

tar -jvxf kernel_src.tbz2 -C kernel

cd kernel/kernel-4.9

3)查询make版本

make -v
如果为:GNU Make 4.3则修改:kernel目录下scripts/Kbuild.include
the-space :=
the-space +=
改成:
E =
the-space = $E $E

4)编译内核

a)定义输出目录名称

TEGRA_KERNEL_OUT=<outdir>

<outdir>为编译输出的目录名称

b)配置环境变量

export CROSS_COMPILE=aarch64-linux-gnu-

export LOCALVERSION=-tegra


c)生成.config文件

mkdir -p $TEGRA_KERNEL_OUT

make O=$TEGRA_KERNEL_OUT distclean
make ARCH=arm64 O=$TEGRA_KERNEL_OUT tegra_defconfig


d)编译

make ARCH=arm64 O=$TEGRA_KERNEL_OUT -j<n>

<n>为多线程编译的数量

若需要定制内核,可以在c)操作后面增加:
make ARCH=arm64 O=$TEGRA_KERNEL_OUT menuconfig
选择/移除相应的模块

编译生成内核和dts在:TEGRA_KERNEL_OUT/arch/arm64/boot

e)替换Linux_for_Tegra/kernel/Image

用:
TEGRA_KERNEL_OUT/arch/arm64/boot/Image


f)替换Linux_for_Tegra/kernel/dtb/

用:
TEGRA_KERNEL_OUT/arch/arm64/boot/dts/
只用拷贝dts目录下的*.dtb文件即可

SD卡版:tegra210-p3448-0000-p3449-0000-b00.dtb

eMMC版:tegra210-p3448-0002-p3449-0000-b00.dtb

g)安装内核模块

sudo make ARCH=arm64 O=$TEGRA_KERNEL_OUT modules_install INSTALL_MOD_PATH=<top>/Linux_for_Tegra/rootfs/

<top>为Linux_for_Tegra的上级目录

注意:“export LOCALVERSION=-tegra”生成的modules和内核携带相关信息,可查看“/lib/modules/4.9.253-tegra”后面有一个"-tegra",如果不使用“export LOCALVERSION=-tegra”的话,采用sdkmanager更新的系统,替换内核会无法启动,因为生成的是不带"-tegra"的。

4.rootfs编译

这里直接使用官方制作好的根文件系统。

1)解压BSP目录

BSP目录下载地址见u-boot章节。

tar -jvxf Jetson-210_Linux_R32.7.2_aarch64.tbz2

2)下载制作好的rootfs

下载地址:Sample Root Filesystem

3)将文件系统解压到BSP的rootfs目录

sudo tar -jxpf Tegra_Linux_Sample-Root-Filesystem_R32.7.2_aarch64.tbz2 -C <top>/Linux_for_Tegra/rootfs

注意:这里必须用sudo

4)安装应用程序

cd <top>/Linux_for_Tegra

sudo ./apply_binaries.sh

至此Jetson Nano基础开发环境搭建完成。

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Jetson Nano是硬件系统,它提供了高效的人工智能计算能力,非常适合物联网、机器人、无人驾驶等领域的应用开发。而Jetson Nano开发人员手册是一本详细介绍Jetson Nano硬件和软件系统的指南。 Jetson Nano开发人员手册的内容主要包括以下几个方面: 1. 硬件介绍:手册首先会介绍Jetson Nano的硬件组成和规格,包括处理器、GPU、内存等。它还会提供硬件设计指南,帮助开发者了解如何连接外部设备和扩展模块。 2. 软件开发环境:手册会详细介绍Jetson Nano的软件开发环境,包括操作系统、编程语言支持和开发工具。开发者可以通过手册学习如何搭建开发环境,并且掌握使用Jetson Nano进行应用程序开发的技巧和方法。 3. AI推理和深度学习:Jetson Nano是一款专为AI推理和深度学习开发而设计的硬件平台。开发人员手册会解释如何使用Jetson Nano进行模型训练和推理,以及如何优化计算性能和能源消耗。 4. 外设和传感器:Jetson Nano可以连接各种外设和传感器,用于实现不同的应用场景。手册会介绍如何使用这些外设和传感器,并且给出相应的代码示例和开发指导。 总的来说,Jetson Nano开发人员手册是一本实用的指南,它提供了丰富的硬件和软件知识,帮助开发者快速上手并进行应用开发。无论是初学者还是有经验的开发者,都可以通过这本手册深入学习和掌握Jetson Nano的开发技术。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值