找回密码
 立即注册
查看: 2776|回复: 14

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

[复制链接]
  • 打卡等级:偶尔看看I
  • 打卡总天数:16
  • 最近打卡:2025-04-30 08:41:32

105

主题

1215

回帖

1万

积分

荣誉版主

积分
12882
发表于 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, 下载次数: 397)

回复

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:16
  • 最近打卡:2025-04-30 08:41:32

105

主题

1215

回帖

1万

积分

荣誉版主

积分
12882
发表于 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 喜欢他/她就送朵鲜花吧,赠人玫瑰,手有余香!
回复 支持 1 反对 0

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:477
  • 最近打卡:2025-05-01 18:48:32
已绑定手机

6

主题

92

回帖

938

积分

高级会员

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

点评

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

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:16
  • 最近打卡:2025-04-30 08:41:32

105

主题

1215

回帖

1万

积分

荣誉版主

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

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

使用道具 举报 送花

  • 打卡等级:常住居民II
  • 打卡总天数:84
  • 最近打卡:2025-05-02 02:06:47

0

主题

23

回帖

338

积分

中级会员

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

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:477
  • 最近打卡:2025-05-01 18:48:32
已绑定手机

6

主题

92

回帖

938

积分

高级会员

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

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

使用道具 举报 送花

0

主题

1

回帖

8

积分

新手上路

积分
8
发表于 2024-5-22 20:45:34 | 显示全部楼层
STCIDE,是不是还要调用keil的一些文件啊,调用的话是不是还是侵权KEIL啊

点评

工具链最关键就是编译器/汇编器, 其他都是好处理的(STC可以公司投入吧)  发表于 2024-6-9 08:12
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:5
  • 最近打卡:2024-11-22 08:50:35

1

主题

2

回帖

79

积分

注册会员

积分
79
发表于 2024-7-21 15:51:32 | 显示全部楼层
gup*** 发表于 2024-5-22 20:45
STCIDE,是不是还要调用keil的一些文件啊,调用的话是不是还是侵权KEIL啊

只管用就好了.
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:423
  • 最近打卡:2025-05-02 07:55:56
已绑定手机

19

主题

3190

回帖

4870

积分

论坛元老

积分
4870
发表于 2024-7-21 19:43:16 来自手机 | 显示全部楼层
18681500058 发表于 2024-7-21 15:51
只管用就好了.

长缨8是独立编译器吧,不会使用keil
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:17
  • 最近打卡:2024-11-26 16:38:53

5

主题

28

回帖

171

积分

注册会员

积分
171
发表于 2024-8-1 09:23:06 | 显示全部楼层
这个工具链能在linux里用吗?

点评

不能,长缨编译器是在Window下开发的。以后换成Linux下的开发工具就可以了  详情 回复 发表于 2024-8-1 21:28
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-5-2 11:24 , Processed in 0.177321 second(s), 122 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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