双系统初始化概述:
根据双系统业务部署规划,Huawei LiteOS 系统主要运行媒体服务,开机后先于 linux启动,不依赖于 Linux 端。而 Linux 系统主要运行人机交互、网络、录像、拍照、存储等业务,其中运行的录像、拍照等业务依赖于 Huawei LiteOS 系统中的媒体服务。根据启动顺序要求,在调试双系统业务时,建议先将 Huawei LiteOS 系统调试稳定,再来调试Linux 系统。
liteos的初始化代码置于:ndk/out/slave/init/
linux的初始化代码置于:./references/dv_reference/product/hi3559/init_master
Huawei LiteOS 初始化特性:
1.board_config 函数
该函数在主入口之前调用,主要用来配置系统内存等。
文件:ndk/out/slave/init/hi_init_os.c
HI_VOID board_config(HI_VOID)
{
g_sys_mem_addr_end = SYS_MEM_BASE + SYS_MEM_SIZE_DEFAULT;
g_uwSysClock = OS_SYS_CLOCK;
#ifdef CFG_DEBUG_LOG_ON
g_uart_fputc_en = 1;
#else
g_uart_fputc_en = 0;
#endif
/*if usb transfer port interface on liteos, macro LOSCFG_DRIVERS_USB will define in liteos*/
#ifdef LOSCFG_DRIVE