1 Star 23 Fork 2

Open-ELL / FreeRTOS for MCS-251

加入 Gitee
与超过 800 万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README.md

FreeRTOS for MCS-251

介绍

支持MCS-251(STC32G系列)的FreeRTOS

使用说明

目前移植的FreeRTOS版本支持STC32G的larg-ROM和huge-ROM两个版本

切换larg-ROM的配置方法:

  1. FreeRTOSConfig.h 里面配置configUSE_ROMHUGE 为 0
  2. 点击Keil工程配置按钮【Options for Target】
  3. 点击【Target】-> 【Code Rom Size】-> Larg模式
  4. 点击【Target】-> 【C251】 -> 【Define】 输入 configSUPPORT_MCS251
  5. 点击【Target】-> 【C251】 -> 【Level】 选择4级
  6. 点击【Target】-> 【C251】 勾选 Link Code
  7. 点击【Target】-> 【C251】 勾选 Generate reentrant

切换Huge-ROM的配置方式:

  1. FreeRTOSConfig.h 里面配置configUSE_ROMHUGE 为 1
  2. 点击Keil工程配置按钮【Options for Target】
  3. 点击【Target】-> 【Code Rom Size】-> Huge模式
  4. 点击【Target】-> 【Exeternal Memory】-> 【ROM】 起始地址:0xFE2000 大小:0x1E000
  5. 点击【Target】-> 【C251】 -> 【Define】 输入 configSUPPORT_MCS251
  6. 点击【Target】-> 【C251】 -> 【Level】 选择4级
  7. 点击【Target】-> 【C251】 勾选 Link Code
  8. 点击【Target】-> 【C251】 勾选 Generate reentrant

port.c 为移植接口,注释用英文撰写,为了保持字体编码兼容。

为了方便阅读和学习,以C语言编写为主,但这不是最优方案,还可以使用汇编进行优化。

当前方案,在35M速度下: 任务切换速度耗时在10us左右,使用汇编优化,可以到5~8us左右。

默认系统时钟24M,可以根据需要,自己调整。

如果要启动软件仿真,需要进行如下操作:

点击Keil工程配置按钮【Options for Target】-> 【Target】-> 【C251】 -> 【Define】 输入 __SOFT_DEBUG__ (注意不要删除configSUPPORT_MCS251)

开启软件仿真以后,不能在真实硬件上跑。

参与贡献

  1. 请加QQ群:1001220381
  2. Fork 本仓库
  3. 新建 Feat_xxx 分支
  4. 提交代码
  5. 新建 Pull Request

仓库评论 ( 2 )

你可以在登录后,发表评论

简介

支持MCS-251(STC32G系列)的FreeRTOS 展开 收起
C 等 2 种语言
MIT
取消

发行版

暂无发行版

FreeRTOS for MCS-251

贡献者

全部

近期动态

加载更多
不能加载更多了
C
1
https://gitee.com/open-ell/freertos.git
git@gitee.com:open-ell/freertos.git
open-ell
freertos
FreeRTOS for MCS-251
master

搜索帮助