全志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->打包命令,将编译后的东西打包成固件


一个电子工程师的自我修养