diff --git a/CMakeLists.txt b/CMakeLists.txt index c5947bd8..b451e259 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -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}) diff --git a/build/cmake/toolchain/linux.toolchain.cmake b/build/cmake/toolchain/linux.toolchain.cmake index 990f4490..82a95c49 100755 --- a/build/cmake/toolchain/linux.toolchain.cmake +++ b/build/cmake/toolchain/linux.toolchain.cmake @@ -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++") diff --git a/doc/design.md b/doc/design.md index ad6c2b70..b024e8b2 100644 --- a/doc/design.md +++ b/doc/design.md @@ -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应用和媒体进程之间的协议组包 / 拆包,在协议和业务之间进行转换接口的封装。 diff --git a/test/all/CMakeLists.txt b/test/all/CMakeLists.txt index 63cabff4..db0bc040 100644 --- a/test/all/CMakeLists.txt +++ b/test/all/CMakeLists.txt @@ -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) diff --git a/test/middleware/IpcConfig/CMakeLists.txt b/test/middleware/IpcConfig/CMakeLists.txt index d6b727a7..00faeb97 100644 --- a/test/middleware/IpcConfig/CMakeLists.txt +++ b/test/middleware/IpcConfig/CMakeLists.txt @@ -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) diff --git a/test/utils/Config/CMakeLists.txt b/test/utils/Config/CMakeLists.txt index 81cb9e37..3a526307 100644 --- a/test/utils/Config/CMakeLists.txt +++ b/test/utils/Config/CMakeLists.txt @@ -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) diff --git a/utils/CMakeLists.txt b/utils/CMakeLists.txt index 5059905e..f410c72e 100644 --- a/utils/CMakeLists.txt +++ b/utils/CMakeLists.txt @@ -6,3 +6,4 @@ add_subdirectory(Log) add_subdirectory(SharedData) add_subdirectory(UartDevice) add_subdirectory(LinuxApi) +add_subdirectory(MultiProcess) diff --git a/utils/Config/CMakeLists.txt b/utils/Config/CMakeLists.txt index ef8d3575..325f342d 100644 --- a/utils/Config/CMakeLists.txt +++ b/utils/Config/CMakeLists.txt @@ -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(