找回密码
 立即注册
楼主: tzz1983

FreeRTOS @32G12K128移植; FreeRTOS @AI8051U移植来了|重复造车轮

[复制链接]
  • 打卡等级:初来乍到
  • 打卡总天数:5
  • 最近打卡:2025-04-30 07:46:22

33

主题

1079

回帖

2319

积分

荣誉版主

积分
2319
发表于 2024-8-27 09:45:47 | 显示全部楼层
tubul*** 发表于 2024-8-27 09:38
楼主,如果huge模式,需要更改哪些配置。

应该不用改什么,就能直接支持huge模式,这个版本是用中断切换任务的,中断本身就只用RETI返回, 不像代码切换任务那个,要分RET和ERET(huge模式).
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:142
  • 最近打卡:2025-04-30 09:17:52

11

主题

71

回帖

573

积分

高级会员

积分
573
发表于 2024-8-27 09:51:52 | 显示全部楼层
tzz1*** 发表于 2024-8-27 09:45
应该不用改什么,就能直接支持huge模式,这个版本是用中断切换任务的,中断本身就只用RETI返回, 不像代码 ...

刚看见96个警告,以为配置不对,结果细看全是l16。屏蔽后舒服多了
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:142
  • 最近打卡:2025-04-30 09:17:52

11

主题

71

回帖

573

积分

高级会员

积分
573
发表于 2024-8-27 09:52:17 | 显示全部楼层
tubul*** 发表于 2024-8-27 09:51
刚看见96个警告,以为配置不对,结果细看全是l16。屏蔽后舒服多了

huge 模式可以的
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:2
  • 最近打卡:2024-09-08 14:50:36

1

主题

1

回帖

13

积分

新手上路

积分
13
发表于 2024-9-2 22:03:24 | 显示全部楼层
请教一下哪位大神,STC32G跑FreeRTOS系统中,如何做uS级别的延时函数呢?不想用那种死循环等待的方式

点评

RTOS的延时是以滴答为单位的粗线条延时,不保证延时精度。 具体解释是: 延时1个时钟滴答,实际延时= 0至1个滴答, 延时2个时钟滴答,实际延时= 1至2个滴答, 以此类推, 如果延时时间到了,任务却被  详情 回复 发表于 2024-9-3 07:49
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:5
  • 最近打卡:2025-04-30 07:46:22

33

主题

1079

回帖

2319

积分

荣誉版主

积分
2319
发表于 2024-9-3 07:49:05 | 显示全部楼层
本帖最后由 tzz1983 于 2024-9-3 07:52 编辑
JWQ_Q*** 发表于 2024-9-2 22:03
请教一下哪位大神,STC32G跑FreeRTOS系统中,如何做uS级别的延时函数呢?不想用那种死循环等待的方式 ...

RTOS的延时是以滴答为单位的粗线条延时,不保证延时精度。
具体解释是:
    延时1个时钟滴答,实际延时= 0至1个滴答,  
    延时2个时钟滴答,实际延时= 1至2个滴答, 以此类推,
    如果延时时间到了,任务却被阻塞,延时时间会更长一些,所以说不保证精确。

uS级延时时间太短, 不适合用RTOS延时, 另外想别的办法。
_nop_()也不错, 几个uS不要太在意.

常用的延时分两类:
1. 要求必须精确,这种用来保证硬件时序,可用NOP指令 或 借助硬定时器,如有必要,还需进临界区或关中断。
2. 只需保证最短延时,这种很常用,例如开启ADC电源后,1mS后才进行ADC操作。 这个就比较随意了,用RTOS延时或硬件延时都可以。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:320
  • 最近打卡:2025-04-30 11:29:16
已绑定手机

21

主题

487

回帖

1023

积分

金牌会员

积分
1023
发表于 2024-9-3 10:12:37 | 显示全部楼层
一直在关注学习FreeRTOS,感谢楼主分享
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:220
  • 最近打卡:2025-05-01 18:20:12

79

主题

631

回帖

1132

积分

金牌会员

积分
1132
发表于 2024-9-5 07:36:19 | 显示全部楼层
不要置气,只要能帮你改正错误的老师都是好老师。 因为你不知道你的产品流入用户手中后,会给用户带来什么。 老师觉得太简单的东西要自己查。但是初学者,困难重重,查了这里,顾不上查那里。总想问现成的。
不管怎样,老师能提出你的问题。就已经很不错了。不是每一个老师都喜欢 “管你的闲事” 。
回复 支持 1 反对 0

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:220
  • 最近打卡:2025-05-01 18:20:12

79

主题

631

回帖

1132

积分

金牌会员

积分
1132
发表于 2024-9-5 07:39:04 | 显示全部楼层
我的实验箱不在手上,有没有人试过这个,这个烧写后是啥效果呢?
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:220
  • 最近打卡:2025-05-01 18:20:12

79

主题

631

回帖

1132

积分

金牌会员

积分
1132
发表于 2024-9-5 07:44:34 | 显示全部楼层
https://www.stcaimcu.com/forum.php?mod=viewthread&tid=467


UART1.C(32): error C168: interrupt: value not in range 0 ... 31
UART1.C(55): error C168: interrupt: value not in range 0 ... 31
assembling START251.A51...

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:220
  • 最近打卡:2025-05-01 18:20:12

79

主题

631

回帖

1132

积分

金牌会员

积分
1132
发表于 2024-9-5 07:47:38 | 显示全部楼层
亲测,可以编译通过了。0警告。
Rebuild target 'FreeRTOS_STC32G_Demo'
compiling croutine.c...
compiling event_groups.c...
compiling list.c...
compiling queue.c...
compiling stream_buffer.c...
compiling tasks.c...
compiling timers.c...
compiling port.c...
assembling .\Objects\port.src...
compiling heap_4.c...
compiling STC32G_Delay.c...
compiling UART1.C...
assembling START251.A51...
compiling main.c...
compiling StarTask.c...
compiling testTask.c...
linking...
Program Size: data=9.2 edata+hdata=3751 xdata=384 const=186 code=9868
creating hex file from ".\Objects\FreeRTOS_STC32G12K"...
".\Objects\FreeRTOS_STC32G12K" - 0 Error(s), 0 Warning(s).
Build Time Elapsed:  00:00:03

点评

恭喜你,成功迈入了RTOS的殿堂,学习RTOS对编程能力有很大助益,加油  详情 回复 发表于 2024-9-5 08:52
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-5-1 19:45 , Processed in 0.142974 second(s), 116 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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