mirror of
				https://gitee.com/jiuyilian/embedded-framework.git
				synced 2025-10-24 18:20:15 -04:00 
			
		
		
		
	Improve Config builed.
This commit is contained in:
		
							parent
							
								
									ddcb6d2581
								
							
						
					
					
						commit
						0f67e707a3
					
				| 
						 | 
				
			
			@ -1,7 +1,7 @@
 | 
			
		|||
cmake_minimum_required(VERSION 3.5.1)
 | 
			
		||||
include(build/global_config.cmake)
 | 
			
		||||
 | 
			
		||||
project(app)
 | 
			
		||||
project(fancycode)
 | 
			
		||||
 | 
			
		||||
# set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
 | 
			
		||||
set(CMAKE_CXX_STANDARD_INCLUDE_DIRECTORIES ${CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES})
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,6 +1,7 @@
 | 
			
		|||
 | 
			
		||||
INCLUDE(CMakeForceCompiler)
 | 
			
		||||
 | 
			
		||||
set(LINUX_TEST                    "true")
 | 
			
		||||
set(CROSS_COMPILE_PREFIX          "")
 | 
			
		||||
set(CMAKE_C_COMPILER "${CROSS_COMPILE_PREFIX}gcc")
 | 
			
		||||
set(CMAKE_CXX_COMPILER "${CROSS_COMPILE_PREFIX}g++")
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -304,6 +304,38 @@ MCU ->> 小核:上电
 | 
			
		|||
2. 定时启动拍照 / 录像;
 | 
			
		||||
3. 测试启动;
 | 
			
		||||
 | 
			
		||||
###### 1.4.3.1.3.2. 任务状态获取启动
 | 
			
		||||
 | 
			
		||||
   应用程序运行后,首先需要知道主控是由于何种任务被唤醒,然后根据任务来执行相应的功能代码;
 | 
			
		||||
 | 
			
		||||
**时序图**
 | 
			
		||||
 | 
			
		||||
```mermaid
 | 
			
		||||
sequenceDiagram
 | 
			
		||||
participant MCU
 | 
			
		||||
participant 大核
 | 
			
		||||
MCU ->> MCU:待机
 | 
			
		||||
opt MCU上电
 | 
			
		||||
    MCU ->> 大核:上电
 | 
			
		||||
    activate 大核
 | 
			
		||||
        大核 ->> 大核:系统初始化
 | 
			
		||||
        大核 ->> 大核:启动脚本拉起APP
 | 
			
		||||
        大核 ->> +MCU:读取启动任务
 | 
			
		||||
        MCU -->> -大核:return
 | 
			
		||||
        alt PIR触发
 | 
			
		||||
            大核 ->> 大核:APP初始化
 | 
			
		||||
            大核 ->> 大核:抓拍并保存
 | 
			
		||||
        else 定时
 | 
			
		||||
            大核 ->> 大核:APP初始化
 | 
			
		||||
            大核 ->> 大核:抓拍并保存
 | 
			
		||||
        else TEST
 | 
			
		||||
            大核 ->> 大核:APP初始化
 | 
			
		||||
            大核 ->> 大核:待机
 | 
			
		||||
        end
 | 
			
		||||
    deactivate 大核
 | 
			
		||||
end
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
#### 1.4.3.2. 中间件(middleware)
 | 
			
		||||
 | 
			
		||||
##### 1.4.3.2.1. 中间件概述
 | 
			
		||||
| 
						 | 
				
			
			@ -681,7 +713,11 @@ https://gitee.com/RT-Thread-Mirror/TinyFrame
 | 
			
		|||
 | 
			
		||||
###### 1.4.3.4.7.2. 协议数据结构
 | 
			
		||||
 | 
			
		||||
##### 1.4.3.4.8. 多进程协议库
 | 
			
		||||
##### 1.4.3.4.8. 多进程通讯库
 | 
			
		||||
 | 
			
		||||
   负责多进程之间的数据交换。使用local socket方式实现。
 | 
			
		||||
 | 
			
		||||
##### 1.4.3.4.9. 多进程协议库
 | 
			
		||||
 | 
			
		||||
   负责IPC应用和媒体进程之间的协议组包 / 拆包,在协议和业务之间进行转换接口的封装。
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -16,7 +16,7 @@ include_directories(
 | 
			
		|||
link_directories(
 | 
			
		||||
    ${EXTERNAL_SOURCE_PATH}/gtest/googletest-release-1.11.0/googlemock/lib
 | 
			
		||||
    ${LIBS_OUTPUT_PATH}
 | 
			
		||||
    ${EXTERNAL_SOURCE_PATH}/libconfig/libconfig-1.7.3/lib/.libs
 | 
			
		||||
    ${EXTERNAL_LIBS_OUTPUT_PATH}
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
set(CMAKE_AUTOMOC ON)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -16,7 +16,7 @@ include_directories(
 | 
			
		|||
link_directories(
 | 
			
		||||
    ${EXTERNAL_SOURCE_PATH}/gtest/googletest-release-1.11.0/googlemock/lib
 | 
			
		||||
    ${LIBS_OUTPUT_PATH}
 | 
			
		||||
    ${EXTERNAL_SOURCE_PATH}/libconfig/libconfig-1.7.3/lib/.libs
 | 
			
		||||
    ${EXTERNAL_LIBS_OUTPUT_PATH}
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
set(CMAKE_AUTOMOC ON)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -12,12 +12,12 @@ include_directories(
 | 
			
		|||
    ${EXTERNAL_SOURCE_PATH}/gtest/googletest-release-1.11.0/googletest/include
 | 
			
		||||
    ${EXTERNAL_SOURCE_PATH}/gtest/googletest-release-1.11.0/googlemock/include
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
message("=========================================${EXTERNAL_LIBS_OUTPUT_PATH}")
 | 
			
		||||
link_directories(
 | 
			
		||||
    ${EXTERNAL_SOURCE_PATH}/gtest/googletest-release-1.11.0/googlemock/lib
 | 
			
		||||
    ${EXTERNAL_SOURCE_PATH}/gtest/googletest-release-1.11.0/googlemock/lib
 | 
			
		||||
    ${LIBS_OUTPUT_PATH}
 | 
			
		||||
    ${EXTERNAL_SOURCE_PATH}/libconfig/libconfig-1.7.3/lib/.libs
 | 
			
		||||
    ${EXTERNAL_LIBS_OUTPUT_PATH}
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
set(CMAKE_AUTOMOC ON)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -6,3 +6,4 @@ add_subdirectory(Log)
 | 
			
		|||
add_subdirectory(SharedData)
 | 
			
		||||
add_subdirectory(UartDevice)
 | 
			
		||||
add_subdirectory(LinuxApi)
 | 
			
		||||
add_subdirectory(MultiProcess)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -45,15 +45,18 @@ endif()
 | 
			
		|||
 | 
			
		||||
# build libconfig before make libConfig.a
 | 
			
		||||
add_custom_command(
 | 
			
		||||
    OUTPUT ${EXTERNAL_SOURCE_PATH}/libconfig/libconfig-1.7.3/lib/.libs/libconfig.a
 | 
			
		||||
    # OUTPUT ${EXTERNAL_SOURCE_PATH}/libconfig/libconfig-1.7.3/lib/.libs/libconfig.a
 | 
			
		||||
    OUTPUT ${EXTERNAL_LIBS_OUTPUT_PATH}/libconfig.a
 | 
			
		||||
    COMMAND echo "Build libconfig-1.7.3. COMPILE_HOST = ${COMPILE_HOST}"
 | 
			
		||||
    # COMMAND tar zxvf libconfig-1.7.3.tar.gz
 | 
			
		||||
    COMMAND sh build_libconfig.sh ${TARGET_PLATFORM} ${COMPILE_HOST}
 | 
			
		||||
    COMMAND mv ${EXTERNAL_SOURCE_PATH}/libconfig/libconfig-1.7.3/lib/.libs/libconfig.a ${EXTERNAL_LIBS_OUTPUT_PATH}/libconfig.a
 | 
			
		||||
    WORKING_DIRECTORY ${EXTERNAL_SOURCE_PATH}/libconfig/
 | 
			
		||||
)
 | 
			
		||||
add_custom_target(
 | 
			
		||||
    libconfig.a
 | 
			
		||||
    DEPENDS ${EXTERNAL_SOURCE_PATH}/libconfig/libconfig-1.7.3/lib/.libs/libconfig.a
 | 
			
		||||
    # DEPENDS ${EXTERNAL_SOURCE_PATH}/libconfig/libconfig-1.7.3/lib/.libs/libconfig.a
 | 
			
		||||
    DEPENDS ${EXTERNAL_LIBS_OUTPUT_PATH}/libconfig.a
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
# add_custom_command(
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue
	
	Block a user