tzz1983 发表于 2023-9-16 13:14:37

UCOSII - STC32G12K128 移植

本帖最后由 tzz1983 于 2024-7-6 12:22 编辑



UCOS2.93版转至新贴:https://www.stcaimcu.com/forum.php?mod=viewthread&tid=4702

文件中转:







熊仔 发表于 2023-9-16 13:49:30

中断切换这里很明显有问题。JBC不跳转两次PUSH

tzz1983 发表于 2023-9-16 13:52:28

好像也是, 不好意思, 哈哈, 我急着弄完了干活去了, 等会修正

熊仔 发表于 2023-9-16 13:57:42

读取中断状态的函数。不能RET返回。HUGE模式返回是ERET.
改用用c语言操作吧。
或者根据宏定义分开两种情况

tzz1983 发表于 2023-9-16 14:12:22

熊仔 发表于 2023-9-16 13:57
读取中断状态的函数。不能RET返回。HUGE模式返回是ERET.
改用用c语言操作吧。
或者根据宏定义分开两种情况


有道理, 还是熊仔实在, 一针见血, 一会就传上来

tzz1983 发表于 2023-9-16 14:29:41

熊仔 发表于 2023-9-16 13:57
读取中断状态的函数。不能RET返回。HUGE模式返回是ERET.
改用用c语言操作吧。
或者根据宏定义分开两种情况


非常感谢熊仔, 刚才代码已经改过, 附件已经更新了

熊仔你本来就是版主, 不如以后这个代码由你来维护吧, 使大家有个统一的东西. 以后, 就算是我自己用, 我要改也通过你, 你看这样怎么样?

熊仔 发表于 2023-9-16 15:04:51

tzz1983 发表于 2023-9-16 14:29
非常感谢熊仔, 刚才代码已经改过, 附件已经更新了

熊仔你本来就是版主, 不如以后这个代码由你来维护吧,...

最近我也很忙,有时间才搞下的,一起找bug,共同成长。

熊仔 发表于 2023-9-17 11:42:52



__asm   { XRL   WR0,WR0         } 这条汇编是多余的。


看寄存器映射图可以知道,60,61其实没有用到,任何值都可以。
这个部分代码官方在发出STC32-FreeRTOS移植代码的时候我就给优化了,后来拿到STC32F芯片也发了一个帖子,里面有修改说明。
https://www.stcaimcu.com/forum.php?mod=viewthread&tid=2867





tzz1983 发表于 2023-9-17 12:09:05

熊仔 发表于 2023-9-17 11:42
__asm   { XRL   WR0,WR0         } 这条汇编是多余的。




好的, 谢谢熊仔, 我移植时也注意到了这一点, 不过为了快速完成移植, 没有过多的去确认, 采用了保守的做法.
你们之前的贴子我没有特别留意.不能再叫熊仔了, 以后叫熊哥, 太仔细了 {:4_250:}

熊仔 发表于 2023-9-17 16:12:26

晚上我把它移植在最新版本上吧。
貌似,还能优化几个指令周期。

第1个任务,应该也可以触发中断来切换。

还有一个就是huge和large编译模式可以不用配置。
页: [1] 2
查看完整版本: UCOSII - STC32G12K128 移植