赞
踩
参考博客1 基于STM32使用HAL库手把手移植华为LiteOS系统并使用CMSIS接口API_觉皇不秃头的博客-CSDN博客_华为liteos基于stm32h743
参考博客2 【LiteOS】STM32F103-LiteOS移植教程(详细篇) - 华为云官方博客 - 博客园
学习LiteOS第一天,移植碰到麻烦。
移植失败遇到的麻烦: 发现程序仿真几句就会进入HardFault_Handler : 这里可能是liteos用的是系统时钟,而hal库也用时钟这里可以参考HAL库中的 SYS Timebase Source 和 SysTick_Handler()_拿破仑940911的博客-CSDN博客_timebase source解释
liteos源码下载
华为LiteOS内核源码下载地址:https://github.com/LiteOS/LiteOS,选择develop分支下载
码云上面也可以下载,码云上面的更新比较快。这里还是在github上面下载
主要有以下几个注意的点
1,时基选择不要选择SysTick LiteOS默认使用这个。这里如果配置为SysTick会出现程序跑几句就会进入HardFault_Handler
2 被LiteOS接管的中断接口 这里就不选择生成处理函数。这里如果生成的话后续还是要选择注释掉。
下载LiteOS源码后解压我这里选择参考野火源码的做法将arch cmsis kernel OS_CONFIG 文件夹都放在LiteOS文件夹下如下图
这里主要留意以下kernel这个文件夹包含以下内容。
添加好后文件目录
最后说一点在 OS_CONFIG/target_config.h BOARD_SRAM_SIZE_KB 参数
我使用的是stm32f103RC,他有48k SRAM 而我BOARD_SRAM_SIZE_KB配置以下10k,创建两个任务简单的printf输出,配置为9k程序就会报错,配置超过48k,比如60k软件运行正常。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。