Go to file
2024-08-06 00:26:17 +08:00
application Fixed:fast start media file save ok. 2024-07-25 19:43:22 +08:00
build [zhoulongyu] simpleness open the emulator window 2024-08-05 01:37:50 +08:00
customization Improve:Ipc config. 2024-05-24 09:01:38 +08:00
doc Merge branch 'without-testtool' into Germany 2024-07-25 20:33:53 +08:00
external [zhoulongyu] simpleness open the emulator window 2024-08-05 01:37:50 +08:00
hal Improve:fast start report media file. 2024-07-25 17:09:50 +08:00
middleware [zhoulongyu] 修改部分与LVGL相关的抽象类的名称 2024-08-06 00:26:17 +08:00
output_files/libs/test_tools Sync:ffmpeg code. 2024-07-25 20:00:28 +08:00
test [zhoulongyu] 修改部分与LVGL相关的抽象类的名称 2024-08-06 00:26:17 +08:00
tools Link fdk-aac. 2024-06-24 19:54:10 +08:00
utils Backup:use hardware jpeg encode. 2024-07-25 02:04:40 +08:00
.clang-format Improve:clang-format. 2024-03-26 17:05:51 +08:00
.gitignore Add:test tools libs. 2024-06-04 19:21:24 +08:00
CMakeLists.txt Improve:audio encoder. 2024-07-08 11:23:22 +08:00
Doxyfile Improve:doxygen. 2024-05-04 09:56:22 -07:00
Makefile Backup. 2024-06-17 20:36:34 +08:00
merge.sh Add ffmpeg. 2024-06-15 17:42:33 +08:00
README.md Improve:App protocol. 2024-07-13 21:34:28 +08:00

1. README

1.1. 概述

基于IPC领域产品的SDK工程。

阅读小技巧:

  • SDK工程所有开发文档均使用markdown语法编写需要使用markdown语法解析器进行解析方便阅读Typora开发工程师建议使用vscode安装markdownlint插件进行阅读
  • SDK工程所有文档描述路径时"//"双斜杠表示工程根目录;

1.2. 开发环境准备

工程的开发需要预安装一些开发工具。例如cmake的特定版本llvm工具等。

1.2.1. cmake安装

cmake是一个跨平台的安装编译工具它是由Kitware公司开发的一个开源软件可以用来配置、构建、编译一个工程。

# 项目根目录执行:
$ make install_cmake

1.2.2. llvm工具安装

LLVM是一个编译器工具链包含clang编译器、llvm核心库等。此处只用了clang-tidy和clang-format工具一个负责编码规范一个负责代码格式化。

# 项目根目录执行:
$ make compile_llvm

1.3. 编译

架构设计上支持去平台编译和运行本仓库源码可仿真运行在ubuntu系统。

1.3.1. Ubuntu系统

在项目根目录下执行命令:

make clean         // 如果之前有跨平台编译过需要先make clean
make cmake         // 构建源码生成Makefile文件
cd cmake-shell/    // 在中间文件目录进行编译,把所有中间文件创建在此目录
make               // 编译全部输出构建文件

1.3.2. 交叉编译

参考:

//build/cmake/toolchain/linux.toolchain.cmake
//Makefile

参考上述文件新建一份配置文件建议不要修改原文档新建一个交叉编译工程把IPC SDK工程作为子仓库进行git管理维护SDK的绝对跨平台属性。

交叉编译请参考基于IPC SDK作为子仓库的工程配置此处忽略。

1.3.3. 小技巧

1.3.3.1. 代码阅读辅助工具基于vscode

为了方便代码跳转阅读除了安装基本的c++插件外结合cmake构建工具生成的compile_commands.json文件可实现代码之间的精准跳转。

compile_commands.json文件生成路径

//cmake-shell/compile_commands.json

compile_commands.json文件配置方法

在//.vscode/settings.json配置文件中添加
"C_Cpp.default.compileCommands": "/home/xiaojiazhu/project/ipc-sdk/ipc/cmake-shell/compile_commands.json",