01-QNX BSP 代码框架

  • Post author:
  • Post category:其他


1. 解压基础BSP开发包

2. 查看BSP tree结构

2.1 i.MX6-QNX700

ubuntu18@ubuntu18:$ tree -L 3

.

├── adv.mk

├── images

│   ├── Makefile

│   ├── mkflashimage.sh

│   └── smart-device-graphics.build

├── install

├── Makefile

├── manifest

├── prebuilt

│   ├── armle-v7

│   │   ├── bin

│   │   ├── boot

│   │   ├── lib

│   │   ├── sbin

│   │   └── usr

│   ├── etc

│   │   ├── dvfs

│   │   └── system

│   └── usr

│       └── include

├── README.md

├── readme.txt

├── source.xml

└── src

├── hardware

│   ├── deva

│   ├── devb

│   ├── devc

│   ├── devnp

│   ├── flash

│   ├── i2c

│   ├── ipl

│   ├── Makefile

│   ├── pwm

│   ├── spi

│   ├── startup

│   ├── support

│   └── wfd

├── lib

│   ├── dma

│   ├── idlcommon.mk

│   └── Makefile

└── Makefile

ubuntu18@ubuntu18:$ tree -L 1

.

├── adv.mk

├── images

├── install

├── Makefile

├── manifest

├── prebuilt

├── README.md

├── readme.txt

├── source.xml

└── src


目录结构说明:

​​​​​​​



目录名称



说明



/src


目录包含 BSP 附带的所有源代码。源代码是组织成子目录,例如 /hardware、/lib、/utils等。当BSP 构建完成后,BSP 内的所有源代码(包括这些中的源代码子目录)都会被构建。


/prebuilt


所有BSP 组件预构建并且存储在/prebuilt 目录。如果你在构建 BSP完成后,/prebuilt 的目录内容复制到 BSP 的 /install 目录。


/install


在构建BSP之前 /install 目录是空的。在构建 BSP 时,/prebuilt 目录的全部内容都复制到 /install目录中。生成 IFS 映像时,/install 目录是首先被扫描在 BSP 的构建文件中指定的组件。如果生成IFS 镜像进程在 /install 目录中找不到组件,它会扫描 QNX SDP 6.6 /7 主机的组件的/target 目录。

如果您想通过更改或构建任何 BSP 源代码来修改 BSP 组件,你必须在构建相关的源代码时使用 make install 命令。此命令将导致您修改的组件复制到 BSP的 /install 目录中,覆盖由BSP提供的预构建的版本。


/images


/images是存放镜像的位置:

• BSP 的默认构建文件是在BSP 构建后生成

• 任何启动映像(例如 IFS 映像、IPL 二进制文件等)被生成。

2.2 SA8155P-QNX700

ubuntu18@ubuntu18:$ tree -L 3

.

├── BuildProducts.txt

└── qnx_ap

├── AMSS

│   ├── amc

│   ├── amss_defs_af.mk

│   ├── amss_defs_bf.mk

│   ├── amss_defs.mk

│   ├── inc

│   ├── Makefile

│   ├── multimedia

│   ├── platform

│   ├── protected_defs.mk

│   ├── protected_deprecated.mk

│   ├── protected.mk

│   ├── safety

│   └── staging_macros.mk

├── boards

│   ├── audio_driver

│   ├── core

│   ├── display

│   └── Makefile

├── createpackfiles.pl

├── install

│   ├── aarch64le

│   ├── armle-v7

│   ├── etc

│   ├── hab_config_desktop.txt

│   ├── hab_config-fdn-qvmguest.txt

│   ├── hab_config-fdn-qvmhost.txt

│   ├── hab_config-host-qvmhost.txt

│   ├── hab_config-tcu-qvmguest-crit-apps.txt

│   ├── hab_config-tcu-qvmguest-std-apps.txt

│   ├── hab_config-tcu-qvmguest.txt

│   ├── hab_config-tcu-qvmhost.txt

│   ├── hab_config-thn-qvmguest.txt

│   ├── hab_config-thn-qvmhost.txt

│   └── usr

├── Makefile

├── packscript.sh

├── prebuilt

│   ├── aarch64le

│   ├── etc

│   └── usr

├── prebuilt_NHLOS

│   ├── cdsp

│   ├── lpass

│   ├── mpss

│   ├── npu

│   ├── opendsp

│   ├── pic_hw_module

│   ├── qranium

│   ├── qup

│   └── venus

├── prebuilt_QNX700

├── qnx_bins

│   ├── prebuilt_QNX700

│   └── prebuilt_QNX700FIXME

├── setenv_64.sh

├── src700

│   └── hardware

├── strip-debug-and-store-64bit.pl

├── stripdebug.sh

├── target

│   ├── filesets

│   ├── hypervisor

│   ├── Makefile

│   ├── mksparse.py

│   ├── qnx6fs.py

│   ├── qnx6fs.pyc

│   └── sectools

├── test

│   ├── Makefile

│   └── platform

└── tools

├── build

├── fastboot

├── shadercompiler

└── utils


ubuntu18@ubuntu18:$ tree -L 2

.

├── BuildProducts.txt

└── qnx_ap

├── AMSS

├── boards

├── createpackfiles.pl

├── install

├── Makefile

├── packscript.sh

├── prebuilt

├── prebuilt_NHLOS

├── prebuilt_QNX700

├── qconf-override.mk

├── qnx_bins

├── setenv_64.sh

├── src700

├── strip-debug-and-store-64bit.pl

├── stripdebug.sh

├── target

├── test

└── tools


目录结构说明:



目录名称



说明



/AMSS


AMSS(Advanced Mobile Subscriber Software)手机平台框架AMSS是负责通讯即Modem系统部分;QNX下面AMSS是高通整个QNX系统核心代码,涉及媒体、平台及安全部分


/src700


QNX700系统部分code,基本都封装了。


/boards


板级文件,目前涉及:adp(Audio DSP)相关,以及Display brige


/target


QNX文件系统相关类似Linux的Rootfs


/tools


工具类,如fastboot、镜像制作工具


/test


测试相关


/qnx_bins


qnx可行性程序及配置文件,如 cat、cp、mkdir、kill、ln、ls等


/prebuilt


所有BSP 组件预构建并且存储在/prebuilt 目录。如果你在构建 BSP完成后,/prebuilt 的目录内容复制到 BSP 的 /install 目录。


/install


在构建BSP之前 /install 目录是空的。在构建 BSP 时,/prebuilt 目录的全部内容都复制到 /install目录中。生成 IFS 映像时,/install 目录是首先被扫描在 BSP 的构建文件中指定的组件。如果生成IFS 镜像进程在 /install 目录中找不到组件,它会扫描 QNX SDP 6.6 /7 主机的组件的/target 目录。

如果您想通过更改或构建任何 BSP 源代码来修改 BSP 组件,你必须在构建相关的源代码时使用 make install 命令。此命令将导致您修改的组件复制到 BSP的 /install 目录中,覆盖由BSP提供的预构建的版本。



版权声明:本文为liaochaoyun原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。