# liteos_migration **Repository Path**: shenweixing/liteos_migration ## Basic Information - **Project Name**: liteos_migration - **Description**: 为STM32CubeMX创建的Keil工程移植华为LiteOS操作系统 - **Primary Language**: Unknown - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 1 - **Created**: 2023-11-01 - **Last Updated**: 2024-03-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: 华为LiteOS, STM32CubeMX, keil, 操作系移植 ## README # 华为LiteOS操作系统移植工具 ## 前言 - 这是一个用Python实现的工具软件,能为用STM32CubeMX创建的MDK-ARM工程(Keil工程),移植华为LiteOS操作系统。 - 本人是单片机开发的初学者,受个人水平限制,该工具存在许多待改进的地方,还有很大的功能扩展空间。期待大家能一起来完善它。 - Release目录下的zip文件是PyInstaller的打包,Windows操作系统用户在此[下载](https://gitee.com/shenweixing/liteos_migration/raw/master/Release/liteos.zip) ## 使用说明 ### 一. 程序界面 ![1](images/1.png) ### 二. 步骤 1. **使用STM32CubeMX创建工程** 没什么特殊要求,注意以下两点:一、SYS 时钟源**不要**用SysTick。二、项目管理中Toolchain选择MDK-ARM。 ![2](images/2.png) ![3](images/3.png) 2. **用本工具移植LiteOS** 首先,通过点击按钮`选择工程目录`,选择上面创建的Keil工程目录的根目录,如果选择正确,MCU文本框中会出现在CubeMX中选择的MCU设备名。 其次,建议勾选`创建DefaultTask`,将会在Core/Src目录下生成名为liteos.c的文件,如果这文件已经存在,工具不会对其更改。 最后,点击`开始移植`按钮,工具将会复制LiteOS的文件到Keil工程中去,并设置相关配置文件。该按钮可多次点击。 3. **用Keil测试** 略 ## 注意 - LiteOS移植完成后,如果再次点击STM32CubeMX中的`GENERATE CODE`按钮,会把工具注释掉的两个中断处理函数恢复出来,这时需要您手工注释掉它们。`PendSV_Handler`、`SysTick_Handler` 他们在`..\Core\Src\stm32f?xx_it.c`文件中。或者,也可以再次点击工具中的`开始移植`按钮,也能注释掉它们。 - 根据实际情况设置LiteOS的`BOARD_SRAM_SIZE_KB`参数, 这个值应略小于芯片的SRAM,LiteOS配置文件位于`LiteOS\Config`分组下的`target_config.h`文件中,约在283行处 `#define BOARD_SRAM_SIZE_KB 40`。 本工具定义了一些芯片的SRAM设置尺寸,由于个人能力问题,它们既不全面,也不准确。(工具中关于芯片配置定义,见stm32.py中的枚举类`class STM32`)