《第9章嵌入式Linux RK3399开发环境构建.pptx》由会员分享,可在线阅读,更多相关《第9章嵌入式Linux RK3399开发环境构建.pptx(41页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、嵌入式系统设计原理嵌入式Linux系统软件部署实验主讲人:赖树明东莞理工学院01嵌入式Linux硬件平台搭建02课程作业0101嵌入式Linux硬件平台搭建U-Boot移植 RootFS根文件系统ARM编译器安装linux内核移植 RK3399 固件烧录Linux系统硬件平台搭建ARM编译器安装01n在线快速安装:终端输入命令:sudo apt install gcc-aarch64-linux-gnu 安装,可以省后面配置环境变量的步骤,但是编译器的版本不一定有你需要的,因此,后面学习自己安装,学习配置环境变量。Linux历史在线安装Arm编译器编译器下载 地址:https:/release
2、s.linaro.org/components/toolchain/binaries/在该网站上可以下载到当前各种版本的ARM编译器,本书选择7.3-2018.05 版本,点击进入内部下载页面下载ARM编译器Linux系统硬件平台搭建ARM编译器安装01Linux历史下载ARM编译器本书选择 aarch64-linux-gnu,点击进入内部下载页面点击后在弹出的页面中点击 gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu.tar.xz 即可下载到编译工具包。Linux系统硬件平台搭建ARM编译器安装01Arm linux编译器:6.软件工具/g
3、cc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu.tar.xzLinux历史ARM Linux 编译器安装1.复制到Linux系统解压$sudo tar-xf gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu.tar.xz-C/usr/2.把编译器所在目录添加到添加系统环境变量中修改/.bashrc 文件,在文件最后添加以下代码:导出编译器所在目录,export PATH=/usr/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu/bin:$PAT
4、H3.让环境变量生效1)方法一:重启或注销系统2)方法二:关当前终端,重新开一个终端3)方法三:当前终端输入 source/.bashrc 命令。4.查看编译器版本信息$aarch64-linux-gnu-gcc-vLinux系统硬件平台搭建U-Boot、linux内核移植 01Bootloader+linux kernel +rootfsLinux系统组成bootloader:启动引导程序,相当于电脑主板BIOS。很多种,其中最常用 一种U-boot。linux kernel:操作系统内核,可以和Windows操作系统内核类比,linux系统核心功能rootfs:根文件系统,可以和Windo
5、ws操作系统内核类比,Windows 安装完成后C盘的系统文件,程序文件,程序运行的库文件。它的作用存放系统运行需要各种命令以及命令运行需要各库文件,以及系统软件配置信息,软件安装信息。基本的嵌入式linux硬件平台:需要制作bootloader+linux kernel+rootfs,并且下载到开发板上,并且让它们可以相互联系.常见种类Linux系统硬件平台搭建U-Boot移植 01BootLoader描述x86ARMPowerPCLILOLinux磁盘引导程序是否否GRUBGNU的LILO替代程序是否否Loadlin从DOS引导Linux是否否ROLO从ROM引导Linux而不需要BIOS
6、是否否Etherboot通过以太网卡启动Linux系统的固件是否否LinuxBIOS完全替代BUIS的Linux引导程序是否否BLOBLART等硬件平台的引导程序否是否U-boot通用引导程序是是是RedBoot基于eCos的引导程序是是是常见Bootloader选择U-Boot的理由:开源免费;支持多种嵌入式操作系统内核,支持多个处理器系列;较高的可靠性和稳定性;高度灵活的功能设置;丰富的设备驱动源码;较为丰富的开发调试文档与强大的网络技术支持;嵌入式Linux硬件平台搭建步骤ARM Linux 编译器安装编译Uboot编译Linux内核源码制作 rootfs Linux系统硬件平台搭建U-
7、Boot移植 01下载到ARM RK3399开发板上Linux系统硬件平台搭建U-Boot移植 01B-boot官方网站:https:/www.denx.de/project/u-boot/U-boot直接下载地址:https:/ftp.denx.de/pub/u-boot/(旧下载地址)U-boot直接下载地址:https:/source.denx.de/u-boot/u-boot (新的下载地址,使用git进行管理)Linux历史U-Boot源码获得从官方网站上下载的源码中,如果没有直接支持你的开发板,则需要下载下来,再修改移植,修改工作要求开发者对目标板CPU的启动流程、时钟配置、DDR
8、时序配置等底层技术和U-Boot源码启动流程、框架等都比较熟悉,才会高效完成。一般情况下,芯片厂家本身会提供demo板,并提供配套的U-Boot,开发者为提高效率,一般都会参考官方提供的demo。Linux系统硬件平台搭建U-Boot移植 01做为底层开发者,需要对U-boot的文件结构和作用有一个认识,方便后面深入学习修改及移植。Linux历史U-Boot文件介绍序号目录特性说明1board 平台依赖存放开发板相关的目录文件2arch 构架相关存放各种芯片构架相关的文件3api通用存放U-Boot提供的接口函数4common 通用通用的代码,涵盖各个方面,以命令行处理为主5disk 通用磁盘
9、分区相关代码6lib通用存放u-boot源码中使用的库函数7nand_spl通用NAND存储器启动相关代码8include 通用头文件和开发板配置文件,所有板的配置文件都在configs目录下Linux系统硬件平台搭建U-Boot移植 01做为底层开发者,需要对U-boot的文件结构和作用有一个认识,方便后面深入学习修改及移植。Linux历史U-Boot文件介绍序号目录特性说明9common 通用通用的多功能函数实现10net 通用存放网络相关程序11fs 通用存放文件系统相关程序12post 通用存放上电自检程序13drivers 通用通用的设备驱动程序,主要的驱动是以太网接口14disk
10、通用硬盘接口程序15examples 应用例程一些独立运行的应用程序例子16tools 工具存放制作S-Record或者U-Boot等的工具Linux系统硬件平台搭建U-Boot移植 01U-Boot重点关注的文件rk平台公共配置文件:include/configs/rk_default_config.hrk33xx系列平台配置文件:include/configs/rk33plat.hrk33xx系列平台架构头文件夹:arch/arm/include/asm/arch-rk33xx/rk33xx系列平台架构文件夹,包括clock、irq、timer等实现:arch/arm/cpu/armv8/
11、rk33xx/板级平台核心文件夹,分类存放了各厂家芯片制作的各种开发板驱动文件,本书使用的开发板相关的是board/rockchip/rk33xx/文件夹:board/rockchip/rk33xx/各种接口驱动文件夹,如LCD、RTC、SPI、I2C、USB等驱动:drivers/Linux系统硬件平台搭建U-Boot移植 01编译器下载rk平台公共配置文件:include/configs/rk_default_config.hrk33xx系列平台配置文件:include/configs/rk33plat.hrk33xx系列平台架构头文件夹:arch/arm/include/asm/arch
12、-rk33xx/rk33xx系列平台架构文件夹,包括clock、irq、timer等实现:arch/arm/cpu/armv8/rk33xx/板级平台核心文件夹,分类存放了各厂家芯片制作的各种开发板驱动文件,本书使用的开发板相关的是board/rockchip/rk33xx/文件夹:board/rockchip/rk33xx/各种接口驱动文件夹,如LCD、RTC、SPI、I2C、USB等驱动:drivers/Linux系统硬件平台搭建U-Boot移植 01U-Boot可以在不同硬件平台上运行,但是需要开发者根据自己的硬件进行局部代码修改,适配硬件。涉及到代码修改,对开发者技术要求就非常高了。本
13、节针对已经适配到开发板的U-Boot源码进行编译,生成二进制的BootLoader系统引导程序。U-Boot移植Linux历史U-Boot文件源码:4.示例代码sourceu-boot.tar.bz2复制 u-boot.tar.bz2 到Ubuntu系统中目录中:这里存放在 /work/nanopc-t4/system/目录 进入/work/nanopc-t4/system/执行解压命令:tar-xf u-boot.tar.bz2 命令终端进入解压后的u-boot源码目录,配置u-boot:make rk3399_linux_defconfig进入配置界面进行二次配置,并配置U-Boot子版本
14、号:make menuconfig说明:make menuconfig 会弹出图形配置界面,该图形配置界面依赖 ncurses-devel 库,如果Ubuntu 系统中还没有安装,需要先在线安装。Linux系统硬件平台搭建U-Boot移植 01U-Boot二次配置make menuconfig 后弹出右边所示的配置界面,切换到 General setup-Local version-append to U-Boot release Linux系统硬件平台搭建U-Boot移植 01U-Boot二次配置进入以下界面:General setup-Local version-append to U-B
15、oot release回车进入:输入你想要的版本号,输入完毕,回车确认。最根据界面提示退出配置界面,记得在退出过程选择保存配置。Linux系统硬件平台搭建U-Boot移植 01U-Boot可以在不同硬件平台上运行,但是需要开发者根据自己的硬件进行局部代码修改,适配硬件。涉及到代码修改,对开发者技术要求就非常高了。本节针对已经适配到开发板的U-Boot源码进行编译,生成二进制的BootLoader系统引导程序。U-Boot移植Linux历史U-Boot文件源码:4.示例代码sourceu-boot.tar.bz2复制 u-boot.tar.bz2 到Ubuntu系统中目录中:这里存放在 /wor
16、k/nanopc-t4/system/目录 进入/work/nanopc-t4/system/执行解压命令:tar-xf u-boot.tar.bz2 命令终端进入解压后的u-boot源码目录,配置u-boot:make rk3399_linux_defconfig继续上一步操作,编译u-boot:make CROSS_COMPILE=aarch64-linux-gnu-j8查看生成的二进制文件:$ls *.bin *.img rk3399_loader_v1.12.109.bin trust.img u-boot.bin uboot.img把以上文件复制到Windows 系统存放,后面需要下
17、载到开发板上。Linux系统硬件平台搭建U-Boot移植 01U-Boot版本启动延时的时间设置为1秒,启动时可能来不及按键进入命令行模式,如果需要在开发阶 段 进 入 命 令 行 模 式,可 需 要 修 改 文 件 u-boot/include/configs/rk33plat.h文 件,找 到CONFIG_BOOTDELAY宏,位置大概在202行,修改其值为想要的延时启动时间,单位是秒,#define CONFIG_BOOTDELAY 5修改延时时间Linux历史继续上一步操作,编译u-boot:make CROSS_COMPILE=aarch64-linux-gnu-j8查看生成的二进制
18、文件:$ls *.bin *.img rk3399_loader_v1.12.109.bin trust.img u-boot.bin uboot.img把以上文件复制到Windows 系统存放,后面需要下载到开发板上。编译U-BootLinux系统硬件平台搭建Linux内核移植 01Linux内核官方网址:https:/www.kernel.org/首页上可以下载到是新版本的源码。所在已经发布版本的源码下载地址:https:/mirrors.edge.kernel.org/pub/linux/kernel/Linux内核源码获得官方网站上下载的内核不一定完全支持你的需求,一般都需要移植以适配
19、你的开发板,其中涉及到要修改的内容非常多,技术要求很高。因此,为了提高开发效率,直接下载芯片公司和开发板公司提供配套的Linux内核源码,再进行二次开发。Linux系统硬件平台搭建Linux内核移植 01Linux内核官方网址:https:/www.kernel.org/首页上可以下载到是新版本的源码。所在已经发布版本的源码下载地址:https:/mirrors.edge.kernel.org/pub/linux/kernel/Linux内核源码获得官方网站上下载的内核不一定完全支持你的需求,一般都需要移植以适配你的开发板,其中涉及到要修改的内容非常多,技术要求很高。因此,为了提高开发效率,直
20、接下载芯片公司或开发板公司提供配套的Linux内核源码,再进行二次开发。本书配套Linux内核文件源码:4.示例代码sourcekernel-rockchip-nanopi4-4.4.y.tgz复制 Linux内核到Ubuntu系统中目录中:这里存放在 /work/nanopc-t4/system/目录 进入/work/nanopc-t4/system/执行解压命令:tar-xf kernel-rockchip-nanopi4-4.4.y.tgz进入解压后的linux源码目录:cd kernel-rockchip/加载开发板对应的基础配置:make ARCH=arm64 xyd_rk3399_
21、linux_defconfigLinux系统硬件平台搭建Linux内核移植 01Linux内核源码顶层目录序号名称说明1fs内核支持文件系统代码2security主要包含SELinux(Security-Enhanced Linux)模块,SELinux是美国国家安全局(NSA)对于强制访问控制的实现,是Linux历史上最杰出的新安全子系统3block块设备I/O调度支持代码,如SD卡等设备4include 包括编译核心所需要的大部分头文件,例如与平台无关的头文件在include/linux子目录下,include/scsi目录则是有关scsi设备的头文件目录5Makefile这个Makefi
22、le文件是用来组织内核的各模块,记录各个模块相互之间的联系和依赖关系,编译时使用,一般在每个目录下都有一个.depend文件和一个Makefile文件,这两个文件都是编译时使用的辅助文件6sound 音频子系统实现,ALSA、OSS音频设备的驱动核心代码和常用设备驱动7initlinux系统初始化文件,其中一个main.c就是Linux进入C代码阶段的入口,也是Linux启动的第一个进程本节学习讲解一下如何学习Linux内核源码结构以及文件作用,后期学习内核移植,和驱动程序开发是必须掌握的基础知识。Linux系统硬件平台搭建Linux内核移植 01Linux内核源码顶层目录8mm内存管理相关代
23、码9ipc进程间通信相关代码10net 核心的网络部分代码,实现了各种常见的网络协议,其每个子目录对应于网络的一个方面11crypto常用加密和散列算法,如AES、SHA等,还有一些压缩和CRC校验算法12Documentation 内核使用说明书13tools 编译内核需要使用的工具14drivers各种硬件或软件设备驱动代码15kernel linux 内核的核心文件16samples部分Linux底层API函数使用的例子17lib Linux内核实现需要使用的与平台无关的核心的库代码18usr用户程序相关代码19scripts 裁剪配置内核选项时使用的脚本文件20firmware以固件的
24、形式存放硬件驱动文件21arch 存放架构相关的文件夹,其中32位ARM处理器的目录是arch/arm/,64位ARM处理器的目录是arch/arm64/序号名称说明Linux系统硬件平台搭建Linux内核移植 01 查看内核编译帮助:make ARCH=arm64 help 64位开发板配置帮助 make ARCH=arm help 32位开发板配置帮助 如果不想传递ARCH参数,需要修改内核源码顶层目录的Makefile文件,然后直接make help也可以。要修改Makefile,首先找到内核源码顶层目录下的Makefile,打开并找到以下内容:ARCH?=$(SUBARCH)CROSS
25、_COMPILE?=$(CONFIG_CROSS_COMPILE:%=%)修改为:ARCH?=arm64 CROSS_COMPILE?=aarch64-linux-gnu-Linux内核编译常用命令内核编译清除目标命令:clean表示移除大部分编译生成的文件,但保留配置文件及足够编译外部模块文件的相关信息,make clean后的源码还可以用于编译外部模块;mrprope表示移除全部的生成文件、配置文件及各种备份文件,make mrprope后不能再编译外部模块;distclean相当于mrprope 效果再加上删除补丁文件,以最大化方式清除文件,不建议开发者使用。Linux系统硬件平台搭建L
26、inux内核移植 01内核配置裁剪命令:内核裁剪一般有3种方法,一是采用程序代码的方式,二是采用nconfig菜单操作,三是采用menuconfig菜单操作,一般使用menuconfig代替,menuconfig比nconfig操作起来更人性化一点,内核裁剪命令:make ARCH=arm64 menuconfigLinux内核编译常用命令编译命令:make all:编译所有文件,其实直接输入 make 就是等效于 make all.make modules:只编译所有的模块文件,就是内核配置为m选项对应的代码文件;make modules_install:安装好的模块文件复制到INSTALL
27、_MOD_PATH变量指定的位置,默认是/目录。Linux源码顶层命令终端输入:标准方法,下面使用nanopi4_linux_defconfig配置为例:make all:编译所有文件,其实直接输入 make 就是等效于 make all.make modules:只编译所有的模块文件,就是内核配置为m选项对应的代码文件;make modules_install:安装好的模块文件复制到INSTALL_MOD_PATH变量指定的位置,默认是/目录。Linux系统硬件平台搭建Linux内核移植 01内核配置裁剪命令:内核裁剪一般有3种方法,一是采用程序代码的方式,二是采用nconfig菜单操作,三
28、是采用menuconfig菜单操作,一般使用menuconfig代替,menuconfig比nconfig操作起来更人性化一点,内核裁剪命令:make ARCH=arm64 menuconfigLinux内核编译常用命令编译命令:make all:编译所有文件,其实直接输入 make 就是等效于 make all.make modules:只编译所有的模块文件,就是内核配置为m选项对应的代码文件;make modules_install:安装好的模块文件复制到INSTALL_MOD_PATH变量指定的位置,默认是/目录。Linux源码顶层命令终端输入:标准方法,下面使用nanopi4_linu
29、x_defconfig配置为例:make all:编译所有文件,其实直接输入 make 就是等效于 make all.make modules:只编译所有的模块文件,就是内核配置为m选项对应的代码文件;make modules_install:安装好的模块文件复制到INSTALL_MOD_PATH变量指定的位置,默认是/目录。Linux系统硬件平台搭建Linux内核移植 01本节学习如何进行Linux内核裁剪,内核可裁剪的选项非常多,本节只介绍几个选项,让大家发解裁剪方法,以及Linux内核的可裁剪特征,本节以 nanopi4_linux_defconfig 作为基础配置,在上面进行配置,Li
30、nux内核源码根目录中输入 make ARCH=arm64 nanopi4_linux_defconfig 即可加载基础配置。接着输入 make ARCH=arm64 menuconfig 可以弹出图形配置界面,根据需要找到要裁剪的选项进行配置。Linux内核裁剪配置交叉编译器前缀:找到以下层级,回车,输入编译器前缀:aarch64-linux-gnu-General setup -Cross-compiler tool prefix说明:aarch64-linux-gnu-是自己的编译器前缀,根据实际情况调整。配置Linux本地版本号:找到以下层级,回车,输入子版本号,可以是一个字符串:-d
31、geducation -General setup -Local version-append to kernel release说明:如果内核版本是 4.4.168,则加上自己定义的版本号,完全版本就是 4.4.168-dgeducation。Linux系统硬件平台搭建Linux内核移植 01本节学习如何进行Linux内核裁剪,内核可裁剪的选项非常多,本节只介绍几个选项,让大家发解裁剪方法,以及Linux内核的可裁剪特征,本节以 nanopi4_linux_defconfig 作为基础配置,在上面进行配置,Linux内核源码根目录中输入 make ARCH=arm64 nanopi4_lin
32、ux_defconfig 即可加载基础配置。接着输入 make ARCH=arm64 menuconfig 可以弹出图形配置界面,根据需要找到要裁剪的选项进行配置。Linux内核裁剪配置交叉编译器前缀:找到以下层级,回车,输入编译器前缀:aarch64-linux-gnu-General setup -Cross-compiler tool prefix说明:aarch64-linux-gnu-是自己的编译器前缀,根据实际情况调整。配置Linux本地版本号:找到以下层级,回车,输入子版本号,可以是一个字符串:-dgeducation -General setup -Local version-
33、append to kernel release说明:如果内核版本是 4.4.168,则加上自己定义的版本号,完全版本就是 4.4.168-dgeducation。Linux系统硬件平台搭建Linux内核移植 01本节学习如何进行Linux内核裁剪,内核可裁剪的选项非常多,本节只介绍几个选项,让大家发解裁剪方法,以及Linux内核的可裁剪特征,本节以 nanopi4_linux_defconfig 作为基础配置,在上面进行配置,Linux内核源码根目录中输入 make ARCH=arm64 nanopi4_linux_defconfig 即可加载基础配置。接着输入 make ARCH=arm6
34、4 menuconfig 可以弹出图形配置界面,根据需要找到要裁剪的选项进行配置。Linux内核裁剪配置交叉编译器前缀:找到以下层级,回车,输入编译器前缀:aarch64-linux-gnu-General setup -Cross-compiler tool prefix说明:aarch64-linux-gnu-是自己的编译器前缀,根据实际情况调整。配置Linux本地版本号:找到以下层级,回车,输入子版本号,可以是一个字符串:-dgeducation -General setup -Local version-append to kernel release说明:如果内核版本是 4.4.16
35、8,则加上自己定义的版本号,完全版本就是 4.4.168-dgeducation。Linux系统硬件平台搭建Linux内核移植 01配置支持模块机制:找到以下层级,Enable loadable module support,空格键配置为选中状态,显示为*号,然后把出现的子菜单也配置为*号,表示选中该项:-Enable loadable module support *Forced module loading *Module unloading *Forced module unloading *Module versioning support *Source checksum for a
36、ll modules Linux内核裁剪配置设备驱动菜单:Device Drivers菜单选项很庞大,需要根据自己的硬件进行选择,具体选项功能说明在后续驱动课程中用到时再针对性讲解,目前,我们需要知道内核有什么驱动,在哪个位置可以找到它、配置它、使用它即可。Linux系统硬件平台搭建Linux内核移植 01配置文件系统类型支持(ext2、3、4支持):Linux内核裁剪Linux系统硬件平台搭建Linux内核移植 01配置FATFS文件系统类型支持:找到以下层级:-File systems -DOS/FAT/NT Filesystems -VFAT(Windows-95)fs support
37、空格键把它配置为选中状态,显示为 *号状态Linux内核裁剪找到以下层级:-Networking support(NET=y)-Networking options -TCP/IP networking(INET=y)-kernel level autoconfiguration 空格键把它配置为选中状态,显示为 *号状态找到以下层级:-File systems -Network File Systems -Root file system on NFS 空格键把它配置为选中状态,显示为 *号状态配置NFS文件系统类型支持:Linux系统硬件平台搭建Linux内核移植 01配置文件系统本地语言
38、编码支持(配置简体中文):找到以下层级:-File systems -Native language support(NLS=y)-Simplified Chinese charset(CP936,GB2312)空格键把它配置为选中状态,显示为 *号状态Linux内核裁剪配置UTF-8编码支持:找到以下层级:-File systems -Native language support(NLS=y)-NLS UTF-8 空格键把它配置为选中状态,显示为 *号状态配置printk打印时间戳:找到以下层级:-Kernel hacking -printk and dmesg options -NLS
39、UTF-8 -Show timing information on printks 空格键把它配置为选中状态,显示为 *号状态Linux系统硬件平台搭建Linux内核移植 01Linux内核编译需要依赖本地软件支持,可以通过在线安装方式,完成依赖工具安装,命令如下:sudo apt updatesudo apt-get install libssl-dev liblz4-tool gcc-multilibLinux编译复制 Linux内核到Ubuntu系统中目录中:这里存放在 /work/nanopc-t4/system/目录 进入/work/nanopc-t4/system/执行解压命令:t
40、ar-xf kernel-rockchip-nanopi4-4.4.y.tgz进入解压后的linux源码目录:cd kernel-rockchip/配置linux内核:make xyd_rk3399_linux_defconfig编译linux:make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu-nanopi4-images -j8查看生成的二进制文件:$ls *.img kernel.img resource.img把以上文件复制到Windows 系统存放,后面需要下载到开发板上。Linux系统硬件平台搭建RootFS根文件系统01Linux 根文
41、件系统制作步骤流程比较复杂,并且要制作功能强大的arm版本的Ubuntu文件系统需要联网下载安装很多软件,对时间和网络要求比较高,这里使用制作好的Ubuntu文件系统安装。RootFS根文件系统RK3399根文件系统目录:friendlydesktop-arm64rootfs.imgLinux系统硬件平台搭建RK3399 Linux系统烧录01软件工具:CH340 USB转串口驱动:6.软件工具1.USB转串口驱动CH341SER.EXE 串口终端软件:6.软件工具2.串口终端软件Xshell-6.0.0197-30天试用版本.exe RK3399USB驱动:6.软件工具3.RK3399USB
42、驱动DriverAssitant_v4.5 RK3399固件升级工具:6.软件工具4.固件升级工具AndroidTool_Release_v2.69Linux历史相关软件工具安装下载固件到到RK3399开发板上只需要安装 RK3399USB驱动和 RK3399固件升级工具 即可;USB转串口驱动 和 串口终端软件 在RK3399板上进行设备驱动开发,应用程序开发或系统调试时使用到。把上面4个软件都安装到电脑Windows 系统中,方便后面的工作开展;Linux系统硬件平台搭建RK3399 Linux系统烧录01开发板接口说明:开发板接口说明Linux系统硬件平台搭建RK3399 Linux系统烧录01详细操作说明文档请阅读:01-RK3399开发环境及系统烧写-note.pdfLinux历史出厂系统下载过程0202课程作业任务作业概述作业任务描述作业任务1.安装GCC交叉编译器、编译U-Boot、编译Linux内核。2.烧录U-boot、linux内核和根文件系统到目标板,并且使用串口终端登录练习常用命令。课程作业任务0206致谢ACKNOWLEDGEMENTS感谢聆听,如有不足之处敬请指出,欢迎提出您的宝贵建议!致谢