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