全志d1-H开发板初体验之一、编译
1、下载sdk源码
https://pan.baidu.com/s/13uKlqDXImmMl9cgKc41tZg?pwd=qcw7
提取码:qcw7
压缩包的路径在 Tina-SDK_DevelopLearningKits-V1/DongshanNezhaSTU-TinaV2.0-SDK
把下载下来,文件夹内有一个README文件,按照文件内的命令解压缩,然后就可以开始进行亮机操作啦
2、了解全志sdk目录
全志的目录结构如下
Tina-SDK/
├── build
├── config
├── Config.in
├── device
├── dl
├── docs
├── lichee
├── Makefile
├── out
├── package
├── prebuilt
├── rules.mk
├── scripts
├── target
├── tmp
├── toolchain
└── tools
build目录存放Tina Linux的构建系统文件
config目录主要存放Tina Linux中配置菜单的界面以及一些固定的配置项
devices目录用于存放方案的配置文件,包括内核配置,env配置,分区表配置,sys_config.fex, board.dts等。
docs目录主要存放用于开发的文档,以markdown格式书写。
lichee目录主要存放bootloader,内核,arisc,dsp等代码。
out目录用于保存编译相关的临时文件和最终镜像文件,编译后自动生成此目录,例如编译方案 r328s2-perf1。
具体的详细介绍都在百问网全志完全开发手册有详细描述,这里不再赘述。
但是几个比较重要的快捷键需要记住一下
cconfigs #跳转到配置文件界面
cout #跳转到out目录下
cdevice #跳转到单板配置目录
croot #跳转回SDK根目录
ckernel #跳转到内核源码目录
3、编译sdk
3.1安装依赖包
sudo apt-get install -y sed make binutils build-essential gcc g++ bash patch gzip bzip2 perl tar cpio unzip rsync file bc wget python cvs git mercurial rsync subversion android-tools-mkbootimg vim libssl-dev android-tools-fastboot
sudo apt install open-vm-tools-desktop
3.2检查编译器环境变量
这步是防止之前在使用其他的sdk时更改过环境变量,如果环境变量已经指定了一个交叉编译器,而不是Ubuntu原本的编译器,那么编译会失败。
vi ~/.bashrc
确保环境变量下没有东西后,保存退出。
更新环境变量并重启
source ~/.bashrc
reboot
进行编译
source build/envsetup.sh #获取环境变量
lunch #会提供方案选项以供选择,其中 lunch d1-h_nezha-tina 是 d1-h_nezha-tina 的标准方案,lunch d1-h_nezha_min-tina 是只能让系统跑起来的最小系统方案
make -j32 #编译,其中-j后面的数字参数为编译用的线程数,可根据开发者编译用的PC实际情况选择。
pack #打包,将编译好的固件打包成一个.img格式的固件,固件路径 /out/d1-h_nezha-tina/tina_d1-h-nezha_uart0.img