1# UniProton介绍 2 3UniProton主要目的在于为上层业务软件提供一个统一的操作系统平台,屏蔽底层硬件差异,并提供强大的调试功能。使得业务软件可在不同的硬件平台之间快速移植,方便产品芯片选型,降低硬件采购成本和软件维护成本。 4 5## 功能介绍 6 7- 任务 8- 中断 9- 事件 10- 队列 11- 信号量 12- 内存管理 13- 软件定时器 14- 异常 15- 错误处理 16- cpu占用率 17 18注: UniProton基础内核机制请参考[官方介绍](https://gitee.com/openeuler/UniProton)。 19 20## 使用说明 21 22OpenHarmony UniProton内核的编译构建系统是一个基于gn和ninja的组件化构建系统,支持按组件配置、裁剪和拼装,按需构建出定制化的产品。本文主要介绍如何基于gn和ninja编译UniProton工程。 23 24### 搭建系统基础环境 25 26在搭建各个开发板环境前,需要完成OpenHarmony系统基础环境搭建。系统基础环境主要是指OpenHarmony的编译环境和开发环境,详细介绍请参考官方站点[开发环境准备](https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/quick-start/Readme-CN.md)。开发者需要根据环境搭建文档完成环境搭建。 27 28### 获取OpenHarmony源码 29 30详细的源码获取方式,请见[源码获取](https://gitee.com/openharmony/docs/blob/HEAD/zh-cn/device-dev/get-code/sourcecode-acquire.md)。获取OpenHarmony完整仓代码后,假设克隆目录为`~/openHarmony`。 31 32### 编译工具链下载 33 34安装GNU Arm Embedded Toolchain 32位编译器: 35 36官方下载地址为: [GNU Arm Embedded Toolchain编译器](https://developer.arm.com/downloads/-/gnu-rm),指定版本:10-2020-q4-major。 37 38安装参考以下命令: 39``` 40 tar -xvf gcc-arm-none-eabi-10-2020-q4-major-x86_64-linux.tar.bz2 -C user_install_path 41``` 42 43注意: 安装完成后需要将安装目录加入***环境变量***中。 44 45### 已支持的示例工程 46 47[stm32f407zg](https://gitee.com/openharmony/device_soc_st/tree/master/stm32f407zg/uniproton) 48``` 49alientek 50 rtos_demo 51 rtos_demo_xts 52``` 53 54## 约束 55 56- 当前开源版本仅支持cortex_m4芯片,默认编译脚本的安全编译选项仅支持栈保护,其他选项由用户根据需要自行添加。 57 58- 遵循MulanPSL2开源许可协议。 59 60[如何贡献](https://gitee.com/openharmony/docs/blob/HEAD/zh-cn/contribute/%E5%8F%82%E4%B8%8E%E8%B4%A1%E7%8C%AE.md) 61 62## 相关仓 63 64[kernel\_uniproton](https://gitee.com/openharmony/kernel_uniproton/blob/master/README.md) 65 66