全志D1-H用的开发环境是Tina,为了更好的适应开发,所以先学习了一下Tina的相关内容.
- Tina是全志开发的用于基于全志硬件平台的系统软件.
- Tina Linux系统是基于OpenWrt 14.07版本的软件开发包,包含了Linux系统开发用到的内核源码,驱动,工具,系统中间件和应用程序包.
- OpenWrt是一共开源的嵌入式Linux系统自动构建框架,是由MakeFile脚本和Kconfig配置文件构成的.使得用户可以通过menuconfig配置,编译出一共完整的可以直接烧写到机器上运行的Linux系统软件.
Tina SDK的组成部分(从目录文件角度):
- build->存放Tina Linux的构建系统文件
- config->存放Tina Linux中配置菜单的界面以及一些固定的配置项
- devices->存放打包以及板级硬件信息的配置参数
- docs->存放用于开发的文档,以markdown格式书写
- lichee->存放uboot和内核代码
- package->存放目标机器上的软件包源码和编译规则
- prebuilt->存放预编译交叉编译器
- scripts->存放PC端或目标机器端使用的一些脚本
- target->存放Tina相关的配置以及sdk和工具链生成的规格
- toolchain->包含交叉工具链构建配置,规则
- tools->存放PC端工具的编译规则
- 存放编译相关的临时文件和最终镜像文件
基本编译命令:
source build/envsetup.sh // 初始化环境
lunch // 选择方案
make -j // 编译
pack // 打包固件,生成的镜像在out/<board>/目录下
快捷命令:
在lunch方案后即可用hmm命令来打印出tina提供的所有快捷命令,一般常用的如下:
- ckernel->进入到内核目录
- cboot0->进入boot0 目录
- cboot->进入Bootloader目录
- cmelis->进入melis 根目录
- cout->进入out目录
- croot->进入tina根目录
- cdts->进入板级设备树文件目录
- makemenuconfig->配置内核
- mkernel->单独编译内核
- mboot->编译boot0和uboot
- mboot0->单独编译boot0
- mmelis->编译melis
- mmelis menuconfig->配置melis
- make->编译整个tina,除了melis 外的所有东西,如boot0,uboot,内核,跟文件系统等
- cconfigs->进入板级配置目录,这里主要存放板级的设备树,分区等配置文件
- p->打包命令,将编译后的东西打包成固件
Comments | NOTHING