1 |
Kconfig |
Kconfig是配置项的描述文件,支持设置配置项及其默认值,依赖关系等等,比如kernel/liteos_a/Kconfig,该文件还会继续依赖各个模块的Kconfig文件 |
2 |
Kconfig.liteos_m.board |
具体开发板宏定义; |
3 |
Kconfig.liteos_m.boards |
所有开发板宏定义; |
4 |
Kconfig.liteos_m.defconfig |
SoC默认配置; |
5 |
Kconfig.liteos_m.defconfig.boards |
提供指定公司的开发板的默认配置项信息 |
6 |
Kconfig.liteos_m.defconfig.series |
系列开发板的默认配置,xxx系列默认配置; |
7 |
Kconfig.liteos_m.series |
SoC系列产品定义, xxx系列配置,包含arch架构,公司名称,cpu类型; |
8 |
Kconfig.liteos_m.shields |
用于配置扩展板信息,使用*通配符匹配所有的扩展板,可以将所有扩展板配置信息都加载进来。 |
9 |
Kconfig.liteos_m.soc |
xxx芯片配置,Soc宏定义,公司名称宏定义;每个厂家的SoC均要定义; |
10 |
LICENSE |
在board,soc和vendor中oat.xml,LICENSE成对出现 |
11 |
oat.xml |
在board,soc和vendor中oat.xml,LICENSE成对出现 |
12 |
Kconfig.liteos_m.defconfig.shield |
扩展版默认配置; |
13 |
Kconfig.board.applications |
开发板自带的应用程序配置; |
14 |
Kconfig.liteos_m.applications |
系统自带的应用程序配置; |
15 |
Kconfig.projbuild |
应用程序管理器; |
16 |
EULA |
最终用户许可协议(End User Licence Agreement,EULA),指的是一家公司的软件与软件的使用者所达成的协议 |
17 |
kernel_configs/debug.config |
编译宏开启设置; |
18 |
init_configs/init_xxos_xxsoc.cfg |
系统初始化时创建的目录文件及权限配置; |
19 |
init_configs/init_xxos_xxsoc_mksh.cfg |
系统初始化时创建的目录文件及权限配置; |
20 |
target_config.h |
各个板卡os目标参数配置; |
21 |
device/ |
设备驱动目录 |
22 |
device/board/ |
单板厂商目录 |
23 |
device/board/ bearpi/ |
单板厂商名字:小熊派 |
24 |
device/board/ bearpi/ bearpi_hm_micro |
单板名:bearpi_hm_micro |
25 |
device/soc/ |
SoC厂商目录 |
26 |
device/soc/common |
存放公共HDF驱动 |
27 |
device/soc/st/ |
SoC厂商名字:ST意法半导体 |
28 |
device/soc/st/stm32mp1xx |
SoC Series名:stm32mp1xx系列芯片 |
29 |
vendor/ |
厂商目录; |
30 |
vendor/bearpi/ |
开发产品样例厂商目录,小熊派的产品样例 |
31 |
vendor/bearpi/bearpi_hm_micro |
产品名字:bearpi_hm_micro开发板 |
32 |
vendor/bearpi/bearpi_hm_micro/config.json |
预编译适配,产品名称,开发板名称,ohos版本,公司名称,os内核等;由 hb set命令显示菜单,选择后输出ohos_config.json, 通过 hb env查看; |
33 |
device/board/bearpi/bearpi_hm_micro/liteos_a/config.gni |
用于描述这个产品样例所使用的单板、内核等信息,属开发板描述信息 |
34 |
device/board/bearpi/bearpi_hm_micro/hal |
Board adapter dir for OHOS components. |
35 |
device/board/bearpi/bearpi_hm_micro/liteos_a/board/target_config.h |
内存地址映射及os中断定义; |
36 |
device/qemu/arm_virt/liteos_a/board/os_adapt/os_adapt.c |
调用 SystemInit 对系统初始化,然后调用DeviceManagerStart对hdf初始化,最后调用hcs,drivers; |
37 |
device/board/bearpi/bearpi_hm_micro/liteos_a/drivers/Kconfig |
中添加芯片、产品名称、厂商名称相关配置。 |
38 |
device/soc/st/common/platform/Kconfig |
中添加驱动相关配置。 |
39 |
vendor/bearpi/bearpi_hm_micro/kernel_configs/debug_tee.config |
中使能Kconfig相关配置。 |
40 |
device/board/bearpi/bearpi_hm_micro/liteos_a/BUILD.gn |
添加此模块依赖board、drivers、hdf_config |
41 |
device/board/bearpi/bearpi_hm_micro/liteos_a/board/BUILD.gn |
将os_adapt.c内核启动相关代码编译进系统。 |
42 |
device/board/bearpi/bearpi_hm_micro/liteos_a/drivers/BUILD.gn |
将device/soc/st/common/platform路径下的HDF驱动编译进系统。 |
43 |
vendor/bearpi/bearpi_hm_micro/hdf_config/BUILD.gn |
将HCS配置文件编译进系统。 |
44 |
device/board/bearpi/bearpi_hm_micro/liteos_a/board/os_adapt.c |
添加以下内核启动相关代码 |
45 |
device/soc/st/common/platform/gpio/BUILD.gn |
描述了stm32mp1xx gpio驱动的编译适配 |
46 |
device/soc/st/common/platform/gpio/stm32mp1_gpio.c |
描述了stm32mp1xx gpio驱动的源码适配。 首先,按照OpenHarmony的HDF驱动框架加载驱动基本适配框架 |
47 |
device/soc/st/stm32mp1xx/sdk_liteos/hdf_config/gpio/gpio_config.hcs |
添加gpio硬件描述信息文件在该文件中添加驱动私有配置信息。 |
48 |
vendor/bearpi/bearpi_hm_micro/hdf_config/device_info/device_info.hcs |
配置产品加载驱动,产品的所有设备信息被定义在源码文件中,平台驱动请添加到platform的host中。 |
49 |
device/soc/st/common/platform/gpio/stm32mp1_gpio.c |
完善驱动代码,gpio_config.hcs的配置信息会在GpioDriverInit中加载。 |
50 |
vendor/bearpi/bearpi_hm_micro/config.json |
OpenHarmony子系统适配只需要在config.json中增加对应子系统和部件,这样编译系统会将该部件纳入编译目标中。启动恢复子系统需要适配bootstrap_lite、syspara_lite、appspawn_lite、init_lite四个部件。请在中新增对应的配置选项。 系统启动时会根据//vendor/bearpi/bearpi_hm_micro/init_configs中的启动配置来启动系统。 包含如下子系统:subsystem: startup,subsystem: hiviewdfx, subsystem: distributed_schedule,subsystem: security,subsystem: utils,subsystem: graphic,subsystem: ace,subsystem: aafwk, subsystem: appexecfwk, |
51 |
vendor/bearpi/bearpi_hm_micro/init_configs |
配置启动系统。 |
52 |
vendor/bearpi/bearpi_hm_micro/graphic_config/product_graphic_lite_config.h |
图形子系统适配 |
53 |
vendor/bearpi/bearpi_hm_micro/ace_lite_config/product_acelite_config.h |
ACE开发框架子系统适配 |
54 |
vendor/bestechnic |
开发产品样例厂商目录,恒玄开发的带屏样例,因此以bestechnic命名 |
55 |
vendor/bestechnic/display_demo |
产品名字:以智能开关面板的带屏显示样例 |
56 |
vendor/bestechnic/display_demo/config.json |
描述这个产品样例所使用的单板、内核等信息; |
57 |
device/board/fnlink/v200zr/liteos_m/config.gni |
描述这个产品样例所使用的单板、内核等信息; |
58 |
kernel/liteos_m/Kconfig |
文件中使用这些导出的环境变量,Kconfiglib采用ulfalizer开发基于python的版本,源码地址,功能介绍连接参考,里面用到了orsource关键字,其中o表示optional,表示这个文件是否存在可选,r表示relative,表示这个文件相对当前文件的相对路径。 |
59 |
device/board/fnlink/v200zr/ |
v200zr单板配置目录 |
60 |
device/board/fnlink/v200zr/Kconfig.liteos_m.board |
提供v200zr单板的配置选项 |
61 |
device/board/fnlink/v200zr/Kconfig.liteos_m.defconfig.board |
提供v200zr单板的默认配置项 |
62 |
device/board/fnlink/v200zr/Kconfig.liteos_m.boards |
提供fnlink单板厂商下Boards配置信息 |
63 |
device/board/fnlink/v200zr/Kconfig.liteos_m.defconfig.boards |
提供fnlink单板厂商下Boards默认配置信息 |
64 |
device/board/fnlink/v200zr/Kconfig.liteos_m.shields |
提供fnlink单板厂商下扩展板配置信息 |
65 |
device/board/fnlink/v200zr/shields/ |
fnlink单板厂商的扩展板目录 |
66 |
device/board/fnlink/v200zr/shields/v200zr-t0/ |
fnlink单板厂商的扩展板v200zr-t0 |
67 |
device/board/fnlink/v200zr/shields/v200zr-t0/Kconfig.liteos_m.defconfig.shield |
扩展板v200zr-t0默认配置 |
68 |
device/board/fnlink/v200zr/shields/v200zr-t0/Kconfig.liteos_m.shield |
扩展板v200zr-t0配置信息 |
69 |
device/soc/bestechnic/bes2600/ |
bes2600 SoC系列 |
70 |
device/soc/bestechnic/bes2600/Kconfig.liteos_m.defconfig.bes2600w |
bestechnic芯片厂商bes2600w SoC Series配置 |
71 |
device/soc/bestechnic/bes2600/Kconfig.liteos_m.defconfig.series |
bestechnic芯片厂商bes2600默认配置 |
72 |
device/soc/bestechnic/bes2600/Kconfig.liteos_m.series |
bestechnic芯片厂商bes2600 SoC Series配置 |
73 |
device/soc/bestechnic/bes2600/Kconfig.liteos_m.soc |
bestechnic芯片厂商bes2600 SoC配置 |
74 |
device/soc/bestechnic/Kconfig.liteos_m.defconfig |
bestechnic芯片厂商SoC默认配置 |
75 |
device/soc/bestechnic/Kconfig.liteos_m.series |
bestechnic芯片厂商SoC Series配置 |
76 |
device/soc/bestechnic/Kconfig.liteos_m.soc |
bestechnic芯片厂商 SoC配置 |
77 |
kernel/liteos_m/Makefile |
在Kconfig中配置完成后,在 kernel/liteos_m/Makefile 使用make menuconfig将参数保存到kernel_configs/debug.config或者kernel_configs/release.config; Kconfig的图形化配置后,将其生成的配置结果可以作为gn编译的输入,以控制不同模块是否编译 |
78 |
kernel/liteos_m/BUILD.gn |
指定了Board和SoC的编译入口为//device/board/fnlink和//device/soc/bestechnic。 |
79 |
device/board/fnlink/BUILD.gn |
新增指定内核下的模块编译; |
80 |
device/soc/bestechnic/bes2600/liteos_m/sdk/bsp/rtos/liteos/liteos_m/board.c |
在第三阶段内核启动中,内核启动适配总体思路如下: 中断向量的初始化os_vector_init ,初始化中断的处理函数。 内核初始化osKernelInitialize 。创建线程board_main,进行芯片平台初始化。内核启动,开始调度线程osKernelStart 。 |
81 |
device/soc/bestechnic/bes2600/liteos_m/components/utils/src/hm_sys.c |
OhosSystemAdapterHooks函数在文件中trace初始化,hdf初始化; |
82 |
vendor/bestechnic/display_demo/fs |
放置两部分内容: wifi_Download_cfg.yaml:镜像的烧录配置文件,可以根据实际情况调整分区。 /data/data:第一个/data是挂载的根目录;第二个data是根目录里面的data目录,里面可以存放预置文件,或者在第二个data的同级目录再创建一个目录,打包的时候只认第一个data挂载根目录。 |
83 |
vendor/bestechnic/display_demo/fs/wifi_Download_cfg.yaml |
镜像的烧录配置文件,可以根据实际情况调整分区。 |
84 |
vendor/bestechnic/display_demo/fs/data/data |
第一个/data是挂载的根目录;第二个data是根目录里面的data目录,里面可以存放预置文件,或者在第二个data的同级目录再创建一个目录,打包的时候只认第一个data挂载根目录。 |
85 |
device/soc/bestechnic/bes2600/liteos_m/components/hdf_config/hdf.hcs |
配置文件系统的烧录的起始地址、文件系统的大小以及读数据块的大小block_size等信息 |
86 |
device/soc/bestechnic/bes2600/liteos_m/components/fs/fs_init.c |
通过hdf加载数据,进行读写flash; |
87 |
device/board/fnlink/v200zr/liteos_m/config.gni |
新增这些函数的wrap链接编译选项;主要包括内存分配,打印,文件读写; |
88 |
device/board/fnlink/drivers/liteos_m/display/BUILD.gn |
根据hdf_driver模板加载,编译驱动模块 |
89 |
build/lite/components/communication.json |
wifi_lite部件编译目标的定义; |
90 |
foundation/communication/wifi_lite/BUILD.gn |
描述需要适配软总线的接口文件路径; |
91 |
foundation/communication/wifi_lite/BUILD.gn |
描述需要适配的接口头文件路径 |
92 |
device/soc/bestechnic/hals/communication/wifi_lite/wifiservice |
wifi属于SoC提供的功能,所以适配源码放在SoC的目录下,包含wifi_device.c和wifi_hotspot.c分别适配wifi_device.h和wifi_hotspot.h |
93 |
device/soc/bestechnic/bes2600/liteos_m/components/net/lwip-2.1/BUILD.gn |
LWIP部件适配,LiteOS-M kernel目录下默认配置了lwip,因而具有编译功能,可以在kernel组件中指定lwip编译的目录。描述了lwip的编译 |
94 |
device/soc/bestechnic/bes2600/liteos_m/components/net/lwip-2.1/porting/include/lwip/lwipopts.h |
原有lwip配置选项保持不变,软总线会依赖这些配置选项,并且新增硬件适配的配置项 |
95 |
device/soc/bestechnic/bes2600/liteos_m/components/net/lwip-2.1/porting/src/ethernetif.c |
对ethernet网卡初始化的适配 |
96 |
foundation/communication/dsoftbus/dsoftbus.gni |
dsoftbus部件在文件中提供了softbus_adapter_config配置选项可供移植过程进行配置,该配置设定了软总线移植适配的路径。 |
97 |
vendor/bestechnic/mini_distributed_music_player/dsoftbus_lite_config |
softbus_adapter_config配置为路径,该路径下的内容为: 软总线功能特性配置,例如是否开启自发现功能等, 软总线规格特性配置,例如设置软总线日志级别设置 |
98 |
vendor/company/product/init_configs/etc |
该文件夹中包含rcS脚本,Sxxx脚本和fstab脚本。init进程在启动系统服务之前执行这些脚本。执行的流程为“rcS->fstab->S00-xxx“。Sxxx脚本中的内容与开发板和产品需要有关,主要包括设备节点的创建、创建目录、扫描设备节点、修改文件权限等等。这些文件在产品编译的BUILD.gn中按需拷贝到产品out目录中,最终打包到rootfs镜像中。 |
99 |
vendor/company/product/init_configs/init.cfg |
init进程启动服务的配置文件,当前支持解析的命令有: start: 启动某个服务 mkdir: 创建文件夹 chmod: 修改指定路径/文件的权限 chown: 修改指定路径/文件的属组 mount: 挂载命令 |
100 |
vendor/company/product/init_configs/hals |
解决方案厂商对OS的适配,需要实现的接口请见各个组件的readme说明文档。 |
101 |
vendor/company/product/config.json |
config.json为编译构建的主入口,包含了开发板、OS组件和内核等配置信息。 |
102 |
vendor/company/product/fs.yml |
该文件用于配置文件系统镜像制作过程,将编译产物打包成文件系统镜像,比如用户态根文件系统rootfs.img和可读写的userfs.img。它由多个列表组成,每个列表对应一个文件系统 |
103 |
device/soc/bestechnic/bes2600/liteos_m/sdk/bsp/out/best2600w_liteos/_best2001.lds |
适配bootstrap_lite部件时,添加连接脚本文件 |
104 |
drivers/adapter/platform/gpio/gpio_bes.c |
恒玄gpio驱动的源码适配 |
105 |
kernel/liteos_m/kal/libc/newlib/porting/src/fs.c |
适配了newlib的_read、_write等函数 |
106 |
device/board/fnlink/drivers/liteos_m/display/zzw395.c |
加载显示驱动 |
107 |
vendor/asrmicro/wifi_demo/tests/dsoftbus/dsoftbus_app.c |
dsoftbus组件的启动接口 |
108 |
device/board/fnlink/drivers/liteos_m/display/BUILD.gn |
同SoC驱动适配,根据hdf_driver模板加载显示驱动模块 |
109 |
device/board/talkweb/niobe407/liteos_m/hdf_config/device_info.hcs |
使用TIM2、TIM3和TIM7定时器输出PWM信号 |
110 |
device/board/talkweb/niobe407/liteos_m/hdf_config/hdf.hcs |
配置TIM定时器具体信息 |
111 |
hdf_core/adapter/platform/pwm/pwm_stm32f4xx.c |
是st关于pwm的驱动适配; |
112 |
foundation/communication/dsoftbus/core/authentication/src/auth_manager.c |
软总线的组网需要通过设备认证,在研发阶段,可以把认证跳过,先行调试组网以及传输能力 |
113 |
kernel_liteos_m/blob/master/components/net/lwip-2.1/porting/include/lwip/lwipopts.h |
dsoftbus组件的运行需至少预留80KB RAM。如资源不够,可对其它地方进行剪裁。 |
114 |
device/soc/asrmicro/asr582x/liteos_m/sdk/hal/src/wifi_adapter.c |
Wi-Fi有关的实现在 |
115 |
vendor/asrmicro/wifi_demo/tests/wifi/wifi_app.c |
提供了两个连接的测试指令,wifi_open, wifi_close: |
116 |
device/soc/asrmicro/asr582x/liteos_m/components/mbedtls |
第三方加密算法目录; |
117 |
foundation/communication/dsoftbus/adapter/common/mbedtls/softbus_adapter_crypto.c |
有使用 |
118 |
third_party/lwip |
是lwIP开源代码,是轻重量级tcpip网络协议,适合arm,里面只做了少量的侵入式修改,为了适配增强功能。 |
119 |
kernel/liteos_m/components/net/lwip-2.1 |
是lwIP适配和功能增强代码,里面提供了lwIP的默认配置文件。 |
120 |
device/soc/asrmicro/asr582x/liteos_m/sdk/startup/board.c |
单板进入到main函数后,首先会进行单板初始化,然后需要注册中断,之后再进行内核的初始化和调度,注册中断。 |
121 |
vendor/asrmicro/wifi_demo/kernel_configs/debug.config |
为了方便调试,本方案集成了内核的shell组件,可以在make menuconfig中的Debug中选中 Enable Shell,或者在debug.config文件中填入LOSCFG_SHELL=y shell组件需要进行初始化 |
122 |
device/soc/asrmicro/asr582x/liteos_m/sdk/startup/board.c |
进行初始化 |
123 |
vendor/asrmicro/wifi_demo/tests/wifi/wifi_app.c |
每个shell命令需要进行注册,例如:wifi_open, wifi_close; |
124 |
kernel/liteos_m/kal/libc/musl/porting/src/malloc.c |
kernel对malloc相应的code进行了改造适配 |
125 |
device/soc/asrmicro/asr582x/liteos_m/sdk/drivers/platform/system/printf-stdarg.c |
printf相关的接口使用开源代码实现 |
126 |
device/board/lango/dev_wifi_a/liteos_m/config.gni |
为了满足printf相关接口的链接调用,新增这些函数的wrap链接 |
127 |
device/board/hihope/neptune100/liteos_m/config.gni |
配置文件用于描述该单板信息,包括CPU型号、交叉编译工具链及全局编译、链接参数等重要信息 |
128 |
vendor/hihope/neptune_iotlink_demo/kernel_configs |
HDF驱动框架提供了一套应用访问硬件的统一接口,可以简化应用开发,添加 LOSCFG_DRIVERS_HDF=y LOSCFG_DRIVERS_HDF_PLATFORM=y |
129 |
drivers/adapter/platform/uart/uart_wm.c |
芯片uart驱动适配 |
130 |
device/board/hihope/shields/neptune100/neptune100.hcs |
添加uart硬件描述信息 |