php rtos,为你的51单片机移植上实时操作系统RTOS吧(蹄牛操作系统)

行频率,即 98MHz,同时定时器使用 CPU 运行频率的 12 分频,即 8MHz;

TINIUX 操作系统 ticks 运行频率通过预置文件“OSPreset.h”中的宏定义 SETOS_TICK_RATE_HZ 来配置。在系统启动时,通过 FitCPU.c 文件中的 FitSetupTimerInterrupt()函数,配置芯片指 定的寄存器,使系统时钟(中断)参数生效;

注:在官方示例中,我们通常配置 ticks 频率为 1000Hz,这个 ticks 频率主要便于对系统的性 能测试;对于运行主频不高的 MCS‐51 单片机系列,适当降低 TINIUX 系统 ticks 频率,运行 效率会更高。

5.3 TINIUX资源配置

‐对于嵌入式系统来说,内存都是比较宝贵的资源,因此一般的程序都会严格管理内存使用, TINIUX 也一样,需要使用多大的内存,可以根据实际的 task 数量、信号量、互斥锁、timer、 消息队列、链表等内容的数量来决定的(根据各自的结构体大小以及数量计算),总的内存 池的大小由系统宏定义 OSTOTAL_HEAP_SIZE 来确定。

‐TINIUX 中的内存使用可以通过参数预置文件“OSPreset.h”进行配置。在系统预置文件中使 用宏定义SETOS_TOTAL_HEAP_SIZE 来确定内存池的大小,并以此来管理任务、信号量、消息 队列等等资源的创建。

‐对于 MCS‐51 单片机,运行效率高的 RAM 空间一般在 256 字节,扩展的 XRAM 空间会稍大, TINIUX 系统在启动时,处于挂起及休眠状态的任务或分配到 XRAM 空间,只有当前运行的任 务会分配到 RAM 空间。同时为了减少对 XRAM 空间的占用,推荐裁剪掉信号量、互斥锁、 timer、消息队列等功能模块,只启用系统内轻量级的同步信号与同步消息功能。

6移植其他内核的芯片

‐ 目前 TINIUX 官方已经支持 MCS‐51/8051 8052 等系列的芯片,用户若需移植 TINIUX 到其他 内核的芯片时,需要在 CPU下添加一个芯片所属系列的目录,并且在该新增加的目录下添 加 FitType.h、FitCPU.h、FitCPU.c 等文件,或根据开发平台(SDCC,keil,IAR 等)的要求, 添加相应的汇编文件。FitType.h 文件主要根据平台的特点定义 TINIUX 系统的数据类型, FitCPU.c 文件主要定义系统 ticks 中断,SVC 中断,中断锁定,task 调度及调度时寄存器的保 存与恢复等。

‐ 目前 TINIUX 官方适配了 MCS‐51/8051 8052 等系列的芯片移植文件,其中 8051 系列的移植 文件使用了传统 51 定时器Timer0 的模式 1,具有 16 位宽,但无法自动重载,系统会自动 根据 ticks 频率设置 timer0 重载起点。此种定时器模式的优点是适用于大多数 51/52 等系列 的单片机,但是会导致系统时间漂移。目前很多芯片生产厂商都优化了 Timer0 的功能,若 具有 16 位宽并且具有自动重载的模式,建议用户配置使用,或者使用其他 Timer 定时器。

‐ 目前 TINIUX 官方提供的 8052 芯片移植文件使用了 52 单片机中标准的 Timer2 定时器,具有 16 位宽,并且具备自动重载功能,这样系统 ticks 精度会更高;只是在配置 Timer2 时使用了 C8051 等芯片特有的寄存器“SFRPAGE”,若用户使用的平台具有 52 单片机标准的 Timer2定时器,却没有“SFRPAGE”寄存器,则可以直接注释掉对该寄存器的配置再使用。7其他说明

‐ 对于 RAM 较小的芯片,请参照参数预置文件“OSPreset.h”中的注释进行适当调整,通过 宏定义关闭不必要的功能模块,否则有可能会出现编译失败的问题。

‐ TINIUX 官方网站提供了一些已经创建好了的示例工程,移植到新的开发板(芯片)时可参考 这些示例工程。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值