找回密码
 立即注册
查看: 698|回复: 5

STCx51虚拟单片机与编译器(6):泰山x51-RTOS与长缨8软件工具链简介

[复制链接]

该用户从未签到

61

主题

622

回帖

1万

积分

荣誉版主

积分
10816
发表于 2023-6-1 06:53:17 | 显示全部楼层 |阅读模式
本帖最后由 杨为民 于 2024-2-29 17:03 编辑

一、前  言
本文使用的STC单片机软件工具链为:
1.  单片机                STC8H8K64U
2.  开发板                STC实验箱 V9.3
3.  集成开发环境             STCIDE-V01
4.  编译器                 长缨8 C351编译器
5.  实时多任务操作系统         泰山x51-RTOS
6.   代码下载器            STC-ISP
二、STC单片机与开发板
(1)本文范例使用的STC实验箱V9.3(用STC8H8K64U单片机),其外观与V9.4(用STC32G12K128单片机):
Fig01_V93.jpg
三、STC集成开发环境

(2)STC集成开发环境“StcIde.exe”是一款免安装的绿色软件,直接点击就可以执行,并自动注册各种信息。下图是其打开的界面:
Fig02_STCIDE.jpg
(3)STC集成开发环境可以选择中文或者英文界面,可以进行各种设置。STCIDE与Keil集成开发环境高度兼容,其操作方法与Keil类似,它也可以直接读取Keil的项目文件,STCIDE的文本编辑界面比Keil更加友好。
(4)STCIDE目前可以直接使用STCC351编译器对STC8051系列的单片机程序进行编译和连接,如果没有错误就会生成HEX烧录文件。

下面是使用STCIDE对项目进行操作的过程视频:

四、长缨8 C351编译器
(5)目标为STC8051系列单片机的STCC351编译器的内部名称为“长缨8”。长缨8是专门为编译RTOS程序设计的,包括通常的前后台程序是实时多任务程序。
(6)长缨8采用32位单片机和计算机的C语言规范,除了“main”函数和中断服务程序(这两类函数不允许重入),所有的函数都是可重入的。长缨8缺省使用XDATA,用户也可以用“data”和“idata”关键字来指定变量的存储空间。
(7)长缨8使用的C351语言是单片机C语言的一个子集,子集的大小以满足RTOS程序设计为限,并采用最简单的语法以方便C语言初学者掌握。
(8)长缨8使用A351汇编语言,A351语言是A8051语言的超集,除了包括全部8051汇编语言外,还虚拟的80351 CPU为模型增加了16位和32位的通用寄存器和操作指令,包括但不限于整数的加减乘除和32位浮点数的加减乘除运算。
五、泰山x51-RTOS
(9)泰山x51-RTOS是专门为验证长缨8编译器C351/A351语言能力研制的抢占式实时多任务操作系统。由于其中使用了A351汇编语言,因此只能用长缨8来编译,不能用C51来编译。
(10)泰山x51-RTOS的用户接口以uC/OS-II为参考模型,用户可以参考各种uC/OS-II资料来辅助自己编写RTOS程序。但是与uC/OS-II相反的是泰山x51-RTOS采用“微内核”架构。(微内核的操作系统有:Windows、Minix、Mac等等,宏内核的操作系统有:Unix、Linux)
(10)泰山x51-RTOS是分模块设计的,模块分三类:RTOS核心模块、RTOS扩展模块和设备驱动模块。
本文范例就包含了RTOS核心模块“TSx51_SYS_RTOS_V11_STC8H.OBJ”、STC8H基本驱动模块“TSx51_DRV_MCU_80x51_STC8H.OBJ”和8位数码管设备驱动模块“TSx51_DRV_STCBOX_V93_STC8H.OBJ”。
(11)本文范例包括了5个实时任务,其中优先级最高的任务0是控制台任务,它从串口1接收命令行,任何解释执行该命令。

下图是任务0的程序:
Fig03_Task0A.jpg
Fig04_Task0B.jpg
(12)任务0接受4个命令,它们的格式如下:
1. 命令 T HH:MM:SS 设置时间。
2. 命令 R n 运行第n个任务。
3. 命令 P n 暂停第n个任务。
4. 命令 S xxxx 送字符串到 第1个任务。字符串xxxx是用逗号分开的两个浮点数,比如123.4,-5678.9,然后这个字符串就被送个任务1取做加法处理。
下面是本文范例运行的视频,从视频中可以看到手工如何从串口助手输入和发布命令,然后可以从串口输出和数码管的显示看到命令执行后果。值得说明的是任务2、任务3和任务4都使用数码管,如果打开了它们中不止一个的任务,数码管显示会发生混乱显示。

下面是本文范例运行的视频效果:


下面是本文范例和STCIDE:
长缨x51_01_TSx51_V93_范例程序.rar (2.86 MB, 下载次数: 73)

回复 送花

使用道具 举报

该用户从未签到

61

主题

622

回帖

1万

积分

荣誉版主

积分
10816
 楼主| 发表于 2024-4-6 13:19:09 | 显示全部楼层
这是去年儿童节的旧文,今天看到STC的官宣,
又一种新结构的STC单片机要问世了

儿童节出来的,STC8051H, TFPU + STC32位8051
===通过努力提高 TFPU 的主频,高于CPU的主频
TFPU@108MHz, CPU32@43MHz
管脚兼容 STC89C52RC / STC12C5A60S2

真有一种“洞中才数日,世上已千年”的感觉。
随着STC单片机硬件的步步创新
长缨系列的C351编译器也会不断跟进
支持STC单片机从32位到64位


曾经天山求剑,
又去泰山登顶。
今日长缨在手,
来日相伴苍龙。



1 喜欢他/她就送朵鲜花吧,赠人玫瑰,手有余香!
回复 支持 反对 送花

使用道具 举报

  • TA的每日心情
    开心
    昨天 07:52
  • 签到天数: 139 天

    [LV.7]常住居民III

    5

    主题

    55

    回帖

    985

    积分

    高级会员

    积分
    985
    发表于 2024-4-6 18:01:43 | 显示全部楼层
    没有搜到长缨C351编译器

    点评

    已经集成在“0000_STCIDE-V0.1\BIN”目录下,文件名为“stc-51.exe”  详情 回复 发表于 2024-4-6 18:48
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    61

    主题

    622

    回帖

    1万

    积分

    荣誉版主

    积分
    10816
     楼主| 发表于 2024-4-6 18:48:54 | 显示全部楼层
    qizhiguang 发表于 2024-4-6 18:01
    没有搜到长缨C351编译器

    已经集成在“0000_STCIDE-V0.1\BIN”目录下,文件名为“stc-51.exe”
    回复 支持 1 反对 0 送花

    使用道具 举报

    该用户从未签到

    0

    主题

    6

    回帖

    30

    积分

    新手上路

    积分
    30
    发表于 2024-4-9 09:22:05 | 显示全部楼层
    STC IDE 有新版吗?
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    昨天 07:52
  • 签到天数: 139 天

    [LV.7]常住居民III

    5

    主题

    55

    回帖

    985

    积分

    高级会员

    积分
    985
    发表于 2024-4-9 17:58:11 | 显示全部楼层
    杨为民 发表于 2024-4-6 18:48
    已经集成在“0000_STCIDE-V0.1\BIN”目录下,文件名为“stc-51.exe”

    谢谢,找到了。我觉得KEIL对STC来说有瓶颈了。真的应该有一款适合自己的编译器才能让STC更快更强
    回复 支持 反对 送花

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

    GMT+8, 2024-4-30 03:34 , Processed in 0.066493 second(s), 53 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

    快速回复 返回顶部 返回列表