Skip to main content

工程目录说明

├── bootloader                                 /*各个平台的引导代码*/
│ ├── uboot-x1000
│ ├── uboot-x1021
│ └── uboot-x2000
├── build /*⼯程编译脚本*/
├── buildroot /*⽂件系统*/
├── demos /*人脸识别demo,库,示例代码*/
├── doc /*说明⽂档,包含驱动,应用,工具文档等*/
├── factory_test /*出厂外设测试应用源码*/
├── kernel
│ ├── kernel /*linux 5.1内核代码,支持各个平台*/
│ ├── kernel-x1000 /*linux 4.4内核x1000平台代码*/
│ ├── kernel-x1021 /*linux 4.4内核x1021平台代码*/
│ └── kernel-x2000 /*linux 4.4内核x2000平台代码*/
├── libhardware2 /*驱动对应的应⽤接⼝代码*/
├── libisp /*x2000 isp 相关示例代码*/
├── libmcu /*小核相关示例代码*/
├── libmedia /*多媒体相关示例代码*/
├── libutils2 /*应⽤⼩⼯具*/
├── module_driver /*模块驱动代码*/
├── ota_updater /*ota升级*/
├── third_party /*第三方应用相关的库*/
├── tools
│ ├── iconfigtool /*配置⼯具*/
│ └── toolchains /*交叉编译⼯具*/
└── wireless /*⽆线⽹卡驱动*/

君正Linux平台,其kernel是基于模块化驱动实现的. 其整个源码的目录结构大体包含boot引导系统,kernel驱动的加载,rootfs文件系统和data分区用户可定制文件系统.

现在对一些重点目录进行介绍.

1.1 bootloader 目录

bootloader为系统的boot引导系统。其目录包含 uboot-x1000, uboot-x1021, uboot-x2000。

uboot-x1000   适用于芯片:   X1000  X1500  

uboot-2000 适用于芯片: X1600 X1600E X1600hn X2000 X2600 X2600E X2670

uboot-x1021 适用于芯片: X1021

1.2 build 目录

build目录下是存放工程编译的脚本. 其存放路径为:

build/configs 存放编译主配置文件

build/configs/buildroot 存放编译buildroot 的配置文件

1.3 buildroot 目录介绍

buildroot 是文件系统目录,包含第三方开源的库和应用. 打包 rootfs文件系统也是在这个目录下进行的。

1.4 kernel 目录

kernel 下包含以下几个目录:

kernel linux 5.1 内核代码,支持各个芯片平台,比如: x1000,x1520,x2000,x1600e等

kernel-x1000 linux 4.4 内核代码,支持x1000,x1830,x1500,x1630,x1520芯片平台

kernel-x1021 linux 4.4内核代码,支持x1021芯片平台

kernel-x2000 linux 4.4内核代码,支持x2000,x2100,x1600hn,x1600e,x1660,x2580 芯片平台

1.5 libhardware2 目录

libhardware2目录下包含驱动对应的应⽤接⼝代码,其中包含很多相应的驱动控制命令,比如:

`cmd_adc                                                    cmd_keyboard_test`
`cmd_aes cmd_mcu`
`cmd_alsa cmd_mscaler`
`cmd_camera cmd_nemc`
`cmd_camera_h264_encode cmd_ps2`
`cmd_camera_jpeg_encode cmd_pwm`
`cmd_camera_nv12_preview cmd_pwm_audio`
`cmd_camera_software_preview cmd_pwm_battery`
`cmd_dtrng cmd_rector_play`
`cmd_efuse cmd_rotator`
`cmd_fb cmd_rtc`
`cmd_fb_scale cmd_sc`
`cmd_gpio cmd_spi`
`cmd_gpio_counter cmd_sslv`
`cmd_hash cmd_uevent`
`cmd_i2c cmd_usb_device_state`
`cmd_inputdev_listen cmd_v4l2_camera`
`cmd_isp cmd_watchdog`
`cmd_keyboard cmd_wifi`

详细libhardware2介绍 ,libhardware2 api 详细说明

1.6 libisp 目录

该目录下集成君正X2000多媒体功能(ISP Video等)以及示例代码

1.7 module_driver 目录

module_driver 是我们模块化驱动的源码的目录,君正linux 的kernel 是采用 module_driver 模块化的形式,客户需要自己添加模块化驱动,可以在该目录下进行添加和开发.

1.8 ota_updater 目录

ota_updater目录下是存放我们ota相关的源码和升级脚本. 需要实现ota的功能, 可以参考该目录下的 ota 代码.

1.9 iconfigtool工具

IConfigTool 是基于 Qt 的 Gui 界面

IConfigTool 不包含 uboot、kernel、buildroot 的相关配置,kernel、bulidroot 的相关配置可通过 menuconfig 配置

IConfigTool 主要用于模块化驱动,无线设备的配置,如

  • 配置mac、gpio、i2c、camera等驱动
  • 添加lcd、camera、bt、wifi、按键、背光等设备

IConfigTool 还可配置一些常用工具及应用,如

  • (出厂)外设测试脚本

  • ota 升级(包括本地升级和网络升级)

  • 人脸应用

  • isp_camera 应用

  • 片上外设的接口/命令(可通过 shell 脚本命令直接对外设进行操作)

  • (根文件系统) rootfs 相关设置,包括 USB/sd_card 的自动挂载,userdata 分区的挂载,adb 服务的开启关闭等

    具体IConfigTool说明,请详见: IConfigTool 使用文档