LS1046A LSDK开发环境搭建

一、下载flexbuild_lsdkxxxx.tgz
下面以flexbuild_lsdk2108.tgz为例,通过官方网站下载flexbuild_lsdk2108.tgz。
方法一:
1、进入官网(https://www.nxp.com.cn/)选择产品->Layerscape处理器->查看所有LAYERSCAPE处理器,然后在处理器的表格中选在ls1046A。
在这里插入图片描述
在这里插入图片描述
2、进入后选择设计资源
在这里插入图片描述
继续下来找软件,会看到SDK的下载接口。
在这里插入图片描述
在新打开的页面中点击下载,会自动弹到下载的位置。然后根据自己需要下面相应的软件。在向下滑动可以找到帮助文档“Layerscape Software Development Kit User Guide, Rev. 21.08”。
在这里插入图片描述
3、点击上图中7的下载,进入flexbuild_lsdk2108.tgz的下载界面。如果不行的话可以参考第二种方法下载。
在这里插入图片描述
在这里插入图片描述
方法二:
访问https://lsdk.github.io/ 选择CONPONENT-> LSDK UTILITY->Dowenload。然后参照方法一中3的方式下载。
在这里插入图片描述
另外这个界面flexbuild的描述中有关系编译对系统的要求。其它标签中也提供了其它应用和镜像的下载。
二、LSDK编译镜像
参考flexbuild中的要求,我编译系统选择的是ubuntu20.04,将flexbuild_lsdk2108.tgz,放入flexbuild_lsdk2108.tgz复制到系统中,利用tar -xzvf flexbuild_lsdk2108.tgz进行解压。进入解压后的目录执行source setup.env && flex-builder -a arm64 -m ls1046ardb
flex-builder -a arm64 -m ls1046ardb会将系统编译所需要的依赖包和其它源码之类的一并来取下来,所以整个过程中需要联网,所需要时间比较长。如果中间有提示什么错误可以尝试多执行几次flex-builder -a arm64 -m ls1046ardb看看能修复不(因为网络的原因下载有时被中断)。对于flex-builder的用法可以查看帮助文档(执行flex-builder)。
使用docker编译:

$ sudo apt-get install decker.io  #docker安装,已安装过可以忽略。
$ sudo gpasswd -a $USER docker   #将当前用于加入docker组
$ source setup.env
$ flex-builder docker				#执行完后会进入docker编译环境
[root@fbubuntu flexbuild_lsdk2108]$ source setup.env
[root@fbubuntu flexbuild_lsdk2108]$ flex-builder -a arm64 -m ls1046ardb

下面是最终lsdk中的目录结构:
在这里插入图片描述
下面是SDK各目录的介绍,其中有些本人目前也没太明白具体用途,另外如果哪里写的有误望评论区告知。

.
├── build			#编译输出文件的存放目录
│   ├── apps		#对应components/apps编译输出
│   ├── firmware	#对应components/firmware编译输出
│   ├── images		#编译后生成镜像的存放位置
│   ├── linux		#linux内核编译的输出目录
│   └── rfs			#顾名思义rootfs
├── components		#源码存放目录,LSDK-21.08在这里,之前版本好像在packages目录下。
│   ├── apps		#看名字是存放应用程序源码的地方。具体都有什么用到在看。
│   ├── firmware	#固件存放位置,RCW配置和uboot源码都在这个目录下面,
│   └── linux		#linux源码存放位置。还有一些以ko方式编译的模块的源码。
├── configs			#配置信息
│   ├── board		#board的配置信息,每种board都有一个专门的目录。
│   ├── buildroot	#buildroot配置信息
│   ├── centos		#centos的配置信息
│   ├── linux		#???,编译LS1046ARD感觉没调用到这里的defconfig,后面遇到再说
│   ├── sdk.yml		#SDK编译配置文件,用户也可以编写sdk_custom.yml文件或编译时-f参数指定,其中kernel的defconfig文件在该文件的KERNEL_CONFIG中有指定。通过parse_yaml命令这个文件会在当前目录下生成一个《.sdk.cfg》的配置文件。
│   ├── ubuntu		#ubuntu的配置信息
│   └── yocto		#yocto的配置信息
├── docker			#LSDK支持docer编译,这个应该是docker镜像有关的东西
│   └── ubuntu
├── docs			#帮助和说明文档,建议多看看了解一下
│   ├── build_and_deploy_distro.md
│   ├── FAQ-ubuntu-docker.md
│   ├── flexbuild_usage.md
│   ├── flexbuild_workflow.txt
│   ├── lsdk_build_install.md
│   ├── memory_layout.txt
│   └── proxy.md
├── include			#???,感觉和拉取代码有关
│   ├── app_repo_update.inc
│   └── repo.mk
├── LICENSE
├── logs			#编译log输出的地方
│   ├── autobuild-arm64-log-202301291118.txt
├── Makefile		
├── packages		#LSDK-21.08之前源码好像在这个目录下,LSDK-21.08每个目录下都放着一些编译用的Makefile文件
│   ├── apps
│   ├── firmware
│   ├── linux
│   ├── Makefile
│   └── rfs
├── README.md
├── setup.env			#设置环境变量的脚本,每次重新打开终端都需要source一下
└── tools				#编译用的工具,还有好多编译过程的变量,在flex-builder中会被调用设置
    ├── clean_components
    ├── create_bootpartition
    ├── create_composite_firmware
    ├── distro_buildroot
    ├── distro_centos
    ├── distro_ubuntu
    ├── distro_yocto
    ├── flash_images
    ├── flex-builder	#编译时用这个,是一个脚本文件
    ├── flex-installer
    ├── flex-mkdistrorfs
    ├── getvariable
    ├── parse_yaml		#用于将configs下的xxx.yml生成.sdk.cfg文件。
    ├── repo_update
    └── secure_sign_image

28 directories, 39 files

参考文档:
LSDK-KC-REV18.12.pdf
欲知后事如何,等get到新知识了在更新,谢谢各位看官。

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

飘忽不定的bug

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值