您的位置 首页 编程

建立运用 RTX51-Tiny 的 C51 Keil 项目环境

个人记录:没想到stc单片机除了裸板还能跑系统,有些小惊讶。记得接触rtx51还是原来玩pSoC3(51内核)的时候,后来改成PSoC5换了arm的内核

个人记载:

没想到stc单片机除了裸板还能跑体系,有些小惊奇。
记住触摸rtx51仍是本来玩pSoC3(51内核)的时分,后来改成PSoC5换了arm的内核就把这部分放下了,今日偶尔看到了,竟然可以用stc单片机来跑,比较有意思。
mark一记。
有时间了可以对照着看看。
万方也搜了两篇文章,有空可以看看他人的规划:
根据RTX51嵌入式操作体系的智能卡电能表的规划
根据RTX51 Tiny操作体系的双人游戏规划
试了一下还挺便利和简略的。
体系的初始化可以用main函数这样(不太发起)
voidmain(void)
{init_system();//体系初始化
os_start_system(0);//发动RTX51
}

也可以在task0里边写(最终删掉task0)
voidstartup_task(void)_task_0
{
init_system();//体系初始化
os_create_task(1);
os_create_task(2);
os_delete_task(0);
}
以下是转载的正文:

最近 1 个月一直在运用业余时间研讨 STC12A5C60S2 单片机及其运用,用于放松每天搞 SharePoint 后的严重心境和脑筋。(事实证明,能放松那才怪!)

在折腾完了 LCD 1602、LCD 12864(并、串)、PCF 8563(时钟芯片)、nRF24L01(无线通信)、矩阵键盘、LN 298(H 桥电机驱动)、光耦计数器、HC-SR 04(超声波测距)之后,决议抛弃“痴人”相同根据中止、定时器循环的“多使命”程序,上操作体系。不然,后边我想写稍微杂乱的运用是简直不可能的。

下面这个便是我运用的 STC12A5C60S2 单片机最小体系,自带 U 转串芯片,一切 IO 口引出,烧片调试很便利:

这种小板要说缺陷,也是有的,便是没有装置孔,整个板只能“飘”着,靠杜邦线的张力来固定(呃,也便是没有固定:),所以后来用到小车上面时,只能像这样在底部焊“支架”再装置到洞洞板上:

操作体系的挑选

最开端考虑的是 uc/OS-II。由于名望大(常常看到),功用强(听上去),并且我买的书里边也是介绍这个操作体系。

us/OS-II 的使命调度是彻底根据使命优先级的抢占式调度办法,正在履行的低优先级使命可以被处于“READY”状况的高优先级使命打断。这点在 STC12A5C60S2 里边经过设置硬件中止优先级也可以完成,但我不可能任何使命都是中止吧。所以仍是得用操作体系。

成果网上翻了翻材料,傻眼了。us/OS-II 太xx杂乱了,没有一个网页可以清楚的用几段话说清楚应该怎样用。并且,us/OC-II 到 STC12A5C60S2 需求移植(便是你得改他的源码,然后习惯硬件的特殊情况)。呃 … …

然后,开端考虑 RTX-51。由于 C51 开发工具 Keil 里边自带 RTX-51 操作体系,且直接支撑在 Keil 中编译调试,颇有吸引力 :)

RTX-51 有 2 个版别:Full 和 Tiny。

Full 需求的资源较多,但支撑抢占式使命调度和中止使命,以及使命间互发音讯;Tiny 不支撑抢占式调度,使命间也不能互发音讯,但耗费资源少。

Full 版别尽管功用强大,可是占 8K ROM 也就算了,还需求至少 450 字节的 xData!STC12A5C60S2 一共才 1024 字节的片上 xData RAM,并且我还要 xData 当作液晶屏显存用呢。想了想,决断挑选 RTX-51 Tiny。

Tiny 版别不占用 xData,RAM 占用也很少(7+3×使命数),比较适宜。至于缺陷,只能用了才知道。Tiny 版是开源的,源码是汇编。国内有人对照着写自己写了个操作体系,叫做Small RTOS51。

Small RTOS 51 的作者陈明计,当年是由于找不到适宜的单片机操作体系,“一怒之下”自己着手写了这个既有 Tiny 版别资源占用少的长处,又能支撑抢占式使命调度的操作体系。(自己不爽,就创造一个,这似乎是许多牛人和新技术呈现的底子动力啊!所以说,没有好轮子用的时分,就要自己创造新的轮子。)

RTX-51 Tiny 运用仍是很简洁的,网上随意翻翻,立刻就找到了可用的攻略(根据RTX51的单片机软件规划),作者写得很好,10 分钟就看懂了,然后开端着手。

建立环境

项目姓名叫做 Wave。

首要,建立好项目目录结构。每个子目录放对应的内容,要不然,一切文件都堆在项目文件夹下面,你很快就晕了:

上面图中,

  • code 放自己的代码
  • lib 放外部程序库的代码
  • listing 放 Keil 生成的中心文件(办法、变量的内存地址映射什么的)
  • output 放 Keil 生成的 HEX 文件
  • document 放文档

这个目录结构和 Keil IDE 里边的“目录”结构是不相同的(也不需求相同)。

然后,开 Keil IDE 新建一个项目,放在刚刚的目录下面:

Keil IDE 有试用版的。试用版有悉数功用,仅有的约束是只能编译 2K 以内的方针代码。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/fangan/biancheng/256052.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部