找回密码
 立即注册
查看: 1048|回复: 13

μC/OS-ii v2.93.01@8A8K64D4 - VSCode/eIDE+SDCC+stcgal(Windows/MacOS/Linux)

[复制链接]
  • 打卡等级:以坛为家II
  • 打卡总天数:456
  • 最近打卡:2025-05-02 08:26:53
已绑定手机

27

主题

341

回帖

1691

积分

金牌会员

机长

积分
1691
发表于 2024-6-8 15:15:30 | 显示全部楼层 |阅读模式
SDCC + STC8 + μC/OS-II
10天前将FreeRTOS v10.4.1移植到了STC8A8K64D4,一通百通一鼓作气,
参考了论坛中的 μC/OS-II@STC8 源码,
现在终于又将μC/OS-II v2.93.01移植到STC8A8K64D4上了,理论上STC8H8K64U也能用,手边没板子验证。
希望大佬帮忙看看,改改代码中的错误。

本移植与众不同:


1. 完全拒绝Keil。
使用工具链是VSCode/eIDE + SDCC + stcgal。
换言之,必须使用VSCode加装eIDE插件打开项目,并且还需要安装开源SDCC才能编译;
生成的hex文件可以使用stc-isp烧录,但都已经使用VSCode/eIDE环境了,强烈建议烧录用能配套的stcgal。


2. 跨常见平台。本次开发所使用的开源工具在Windows、MacOS以及Linux下均可使用,
代码一个符号都不需要改就能直接编译烧录(当然可能需要在VSCode中配一下其它工具链的路径),
这对需要在非Windows系统下开发STC单片机程序的人应该有一定帮助。


3. 保留GIT日志。本次移植上传的zip包我依然专门保留了GIT提交日志,可以很方便看到我的历史修改记录。

本移植注意事项:
1. 我是业余的!我是业余的!我是业余的!重要的事情说三遍。

    不要对一个外行的代码抱有太大希望,代码里面如果有错误那再正常不过了,
    本人不对代码的正确性、准确性、稳定性负责!
2. 目前尚未搞定中断嵌套问题,OS_CRITICAL_METHOD还只能使用方式1,
    而方式2和方式3都是不支持的。

各开源工具官网:

1. VSCode: https://code.visualstudio.com/
2. eIDE: https://em-ide.com/zh-cn/docs/intro/
3. SDCC: https://sdcc.sourceforge.net/
4. stcgal: https://github.com/grigorig/stcgal

STC8x8K.uC_OS-ii.zip (278.31 KB, 下载次数: 118)

附:源码Git仓库 https://gitee.com/techqi/stc8x8k.ucos-ii

1 喜欢他/她就送朵鲜花吧,赠人玫瑰,手有余香!
业余撸代码,专业开飞机
回复

使用道具 举报 送花

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

19

主题

3190

回帖

4870

积分

论坛元老

积分
4870
发表于 2024-6-9 07:48:40 来自手机 | 显示全部楼层
sdcc的不错,可以摆脱keil了。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:456
  • 最近打卡:2025-05-02 08:26:53
已绑定手机

27

主题

341

回帖

1691

积分

金牌会员

机长

积分
1691
发表于 2024-6-9 11:23:49 | 显示全部楼层
so*** 发表于 2024-6-9 07:48
sdcc的不错,可以摆脱keil了。

不仅仅可以摆脱keil,关键还可以跨平台呀。我平时Mac用的更多一点,这套直接就能用。
业余撸代码,专业开飞机
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2024-07-02 15:59:54

1

主题

10

回帖

47

积分

新手上路

积分
47
发表于 2024-7-2 16:38:31 | 显示全部楼层
so*** 发表于 2024-6-9 07:48
sdcc的不错,可以摆脱keil了。

调试的时候可以摆脱Keil吗?
回复 支持 反对

使用道具 举报 送花

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

19

主题

3190

回帖

4870

积分

论坛元老

积分
4870
发表于 2024-7-2 16:41:13 来自手机 | 显示全部楼层
中文变量爱好者 发表于 2024-7-2 16:38
调试的时候可以摆脱Keil吗?

第三方模拟软件了,没有仿真
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2024-07-02 15:59:54

1

主题

10

回帖

47

积分

新手上路

积分
47
发表于 2024-7-2 16:47:37 | 显示全部楼层
so*** 发表于 2024-7-2 16:41
第三方模拟软件了,没有仿真

好吧,那还是要回KEil里面仿真的,感觉仿真找BUG也是很重要的环节!
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:468
  • 最近打卡:2025-05-01 10:58:55

44

主题

230

回帖

2841

积分

金牌会员

积分
2841
发表于 2024-7-10 15:37:18 | 显示全部楼层
hsr*** 发表于 2024-6-9 11:23
不仅仅可以摆脱keil,关键还可以跨平台呀。我平时Mac用的更多一点,这套直接就能用。 ...

我也是mac用的多, 目前也在使用vscode + sdcc + stcgal 方案, 外加platformIO。
大佬可以研究下platformio, 将适配的rtos打成platformIO的库。
不争是争
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:54
  • 最近打卡:2025-05-01 09:07:55

717

主题

1万

回帖

1万

积分

管理员

积分
15613
发表于 2024-7-10 15:44:09 | 显示全部楼层
可以考虑用 STC8051U, 这样 xdata 有 32K
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:456
  • 最近打卡:2025-05-02 08:26:53
已绑定手机

27

主题

341

回帖

1691

积分

金牌会员

机长

积分
1691
发表于 2024-7-10 16:02:12 | 显示全部楼层
神*** 发表于 2024-7-10 15:44
可以考虑用 STC8051U, 这样 xdata 有 32K

我能说我在等追风剑-Ⅱ么?我本职搞软件的,动手能力着实差,只玩得了别人弄好的板子
业余撸代码,专业开飞机
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:327
  • 最近打卡:2025-04-30 08:05:58

4

主题

17

回帖

459

积分

中级会员

积分
459
发表于 2024-10-11 08:54:48 | 显示全部楼层
您好,楼主,在原有的代码里,作了追加每秒打印秒变量,一开始可以正常打印,但打印一段时间后就莫明奇妙的不打印了,断电复位后可重新打印。
我也试图将堆栈提高至512字节,情况有一定的改善,但也出现一段时间后不打印。另外,另一闪灯任务可以正常运行,程序没有死机。
麻烦有空时帮忙看看,谢谢!


打印秒变量的代码

打印秒变量的代码

秒变量++

秒变量++

闪灯任务

闪灯任务

秒变量不打印

秒变量不打印
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-5-2 08:31 , Processed in 0.146326 second(s), 123 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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