154568cb3Sopenharmony_ci# UniProton介绍 254568cb3Sopenharmony_ci 354568cb3Sopenharmony_ciUniProton主要目的在于为上层业务软件提供一个统一的操作系统平台,屏蔽底层硬件差异,并提供强大的调试功能。使得业务软件可在不同的硬件平台之间快速移植,方便产品芯片选型,降低硬件采购成本和软件维护成本。 454568cb3Sopenharmony_ci 554568cb3Sopenharmony_ci## 功能介绍 654568cb3Sopenharmony_ci 754568cb3Sopenharmony_ci- 任务 854568cb3Sopenharmony_ci- 中断 954568cb3Sopenharmony_ci- 事件 1054568cb3Sopenharmony_ci- 队列 1154568cb3Sopenharmony_ci- 信号量 1254568cb3Sopenharmony_ci- 内存管理 1354568cb3Sopenharmony_ci- 软件定时器 1454568cb3Sopenharmony_ci- 异常 1554568cb3Sopenharmony_ci- 错误处理 1654568cb3Sopenharmony_ci- cpu占用率 1754568cb3Sopenharmony_ci 1854568cb3Sopenharmony_ci注: UniProton基础内核机制请参考[官方介绍](https://gitee.com/openeuler/UniProton)。 1954568cb3Sopenharmony_ci 2054568cb3Sopenharmony_ci## 使用说明 2154568cb3Sopenharmony_ci 2254568cb3Sopenharmony_ciOpenHarmony UniProton内核的编译构建系统是一个基于gn和ninja的组件化构建系统,支持按组件配置、裁剪和拼装,按需构建出定制化的产品。本文主要介绍如何基于gn和ninja编译UniProton工程。 2354568cb3Sopenharmony_ci 2454568cb3Sopenharmony_ci### 搭建系统基础环境 2554568cb3Sopenharmony_ci 2654568cb3Sopenharmony_ci在搭建各个开发板环境前,需要完成OpenHarmony系统基础环境搭建。系统基础环境主要是指OpenHarmony的编译环境和开发环境,详细介绍请参考官方站点[开发环境准备](https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/quick-start/Readme-CN.md)。开发者需要根据环境搭建文档完成环境搭建。 2754568cb3Sopenharmony_ci 2854568cb3Sopenharmony_ci### 获取OpenHarmony源码 2954568cb3Sopenharmony_ci 3054568cb3Sopenharmony_ci详细的源码获取方式,请见[源码获取](https://gitee.com/openharmony/docs/blob/HEAD/zh-cn/device-dev/get-code/sourcecode-acquire.md)。获取OpenHarmony完整仓代码后,假设克隆目录为`~/openHarmony`。 3154568cb3Sopenharmony_ci 3254568cb3Sopenharmony_ci### 编译工具链下载 3354568cb3Sopenharmony_ci 3454568cb3Sopenharmony_ci安装GNU Arm Embedded Toolchain 32位编译器: 3554568cb3Sopenharmony_ci 3654568cb3Sopenharmony_ci官方下载地址为: [GNU Arm Embedded Toolchain编译器](https://developer.arm.com/downloads/-/gnu-rm),指定版本:10-2020-q4-major。 3754568cb3Sopenharmony_ci 3854568cb3Sopenharmony_ci安装参考以下命令: 3954568cb3Sopenharmony_ci``` 4054568cb3Sopenharmony_ci tar -xvf gcc-arm-none-eabi-10-2020-q4-major-x86_64-linux.tar.bz2 -C user_install_path 4154568cb3Sopenharmony_ci``` 4254568cb3Sopenharmony_ci 4354568cb3Sopenharmony_ci注意: 安装完成后需要将安装目录加入***环境变量***中。 4454568cb3Sopenharmony_ci 4554568cb3Sopenharmony_ci### 已支持的示例工程 4654568cb3Sopenharmony_ci 4754568cb3Sopenharmony_ci[stm32f407zg](https://gitee.com/openharmony/device_soc_st/tree/master/stm32f407zg/uniproton) 4854568cb3Sopenharmony_ci``` 4954568cb3Sopenharmony_cialientek 5054568cb3Sopenharmony_ci rtos_demo 5154568cb3Sopenharmony_ci rtos_demo_xts 5254568cb3Sopenharmony_ci``` 5354568cb3Sopenharmony_ci 5454568cb3Sopenharmony_ci## 约束 5554568cb3Sopenharmony_ci 5654568cb3Sopenharmony_ci- 当前开源版本仅支持cortex_m4芯片,默认编译脚本的安全编译选项仅支持栈保护,其他选项由用户根据需要自行添加。 5754568cb3Sopenharmony_ci 5854568cb3Sopenharmony_ci- 遵循MulanPSL2开源许可协议。 5954568cb3Sopenharmony_ci 6054568cb3Sopenharmony_ci[如何贡献](https://gitee.com/openharmony/docs/blob/HEAD/zh-cn/contribute/%E5%8F%82%E4%B8%8E%E8%B4%A1%E7%8C%AE.md) 6154568cb3Sopenharmony_ci 6254568cb3Sopenharmony_ci## 相关仓 6354568cb3Sopenharmony_ci 6454568cb3Sopenharmony_ci[kernel\_uniproton](https://gitee.com/openharmony/kernel_uniproton/blob/master/README.md) 6554568cb3Sopenharmony_ci 66