硬汉嵌入式论坛

 找回密码
 立即注册
查看: 2917|回复: 12
收起左侧

[μCOS-III] ucos教程中FPU让修改三个地方,为什么示波器的项目中却没有这么做

[复制链接]

1

主题

7

回帖

10

积分

新手上路

积分
10
发表于 2019-3-19 17:22:58 | 显示全部楼层 |阅读模式
ucos教程中FPU让修改三个地方,为什么示波器的项目中却没有这么做,谢谢


回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107034
QQ
发表于 2019-3-19 18:50:04 | 显示全部楼层
一代示波器我们自己的方案,即教程方案。
http://www.armbbs.cn/forum.ph ... 3886&extra=page%3D1

二代示波器改用Micrium的方案
http://www.armbbs.cn/forum.ph ... 5785&extra=page%3D1

后面要搞的三代示波器升级至V3.07.XX提供的最新方案。
回复

使用道具 举报

1

主题

7

回帖

10

积分

新手上路

积分
10
 楼主| 发表于 2019-3-19 19:01:12 | 显示全部楼层
是不是发现这个压盏的顺序,并不是那么重要,还是新版本UCOS自己修正了
回复

使用道具 举报

1

主题

7

回帖

10

积分

新手上路

积分
10
 楼主| 发表于 2019-3-19 19:05:05 | 显示全部楼层
OS_CPU_FP_Reg_Push这么做法是不是可以用啊,请教下高手,因为我的偶尔浮点数会计算错误,ucos3.04.04版本的
回复

使用道具 举报

1

主题

7

回帖

10

积分

新手上路

积分
10
 楼主| 发表于 2019-3-19 19:19:59 | 显示全部楼层
但是OS_CPU_FP_Reg_Push,好像浮点数还是会出错,只有用了OS_CRITICAL_ENTER才可以,但是代码里边用浮点数的地方太多了,这个能到处用么
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107034
QQ
发表于 2019-3-20 01:42:54 | 显示全部楼层
zhaiht 发表于 2019-3-19 19:19
但是OS_CPU_FP_Reg_Push,好像浮点数还是会出错,只有用了OS_CRITICAL_ENTER才可以,但是代码里边用浮点数 ...

a. 在MDK4的option->target->Floating Point Hardware中选择Use FPU即可开启FPU。
b. 在MDK5的option->target->Floating Point Hardware中选择Use Single Precision即可开启FPU。
c. 在IAR7.5的option->Genenal Options->Floating point settings中选择VFPv4 single precision即可开启FPU。
d. 如果用户通过MDK或者IAR编译器开启FPU,那么使用了浮点运算的任务在创建的时候务必要使能参数OS_OPT_TASK_SAVE_FP,切记! 没有用到浮点运算的任务不需要此参数,设置了此参数才可以对浮点寄存器进行入栈和出栈操作。

分享两个V6的例子,你参考学习下即可。
uCOS-II版本V3.05.00
uC/CPU版本V1.30.02
uC/LIB版本V1.38.01

V6-600_uCOS-III实验_关闭FPU(官方方案).rar (7.9 MB, 下载次数: 19)
V6-601_uCOS-III实验_开启FPU(官方方案).rar (7.89 MB, 下载次数: 26)

回复

使用道具 举报

1

主题

7

回帖

10

积分

新手上路

积分
10
 楼主| 发表于 2019-3-20 17:21:57 | 显示全部楼层
本帖最后由 zhaiht 于 2019-3-20 17:29 编辑

谢谢回答,FPU是开启正常的,速度也测试过,只是计算中偶尔出错,只有屏蔽中断才好像可以,屏蔽了一段这段正常,另一段就有可能错,ucos太不靠谱,不过记得之前没有开启FPU之前也有偶尔计算错误的问题,有点想转用FreeRTOS了
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107034
QQ
发表于 2019-3-20 18:21:03 | 显示全部楼层
zhaiht 发表于 2019-3-20 17:21
谢谢回答,FPU是开启正常的,速度也测试过,只是计算中偶尔出错,只有屏蔽中断才好像可以,屏蔽了一段这段正 ...

使用我的即可,我的没有这种神奇问题。
回复

使用道具 举报

1

主题

7

回帖

10

积分

新手上路

积分
10
 楼主| 发表于 2019-3-21 10:51:48 | 显示全部楼层
我已经改过来啦,FreeRTOS还挺好用,一天就改过来了,跑跑再说
回复

使用道具 举报

1

主题

7

回帖

10

积分

新手上路

积分
10
 楼主| 发表于 2019-3-25 08:49:02 | 显示全部楼层
高手好,换系统还有问题啊,我有两个线程,一个计算量大,一个用于通讯,如果计算量大的优先级高,就没有计算问题,就是有时通讯延迟,如果把通讯优先级升高跟计算的一样或者高于它,计算会偶尔出错,请问有什么建议能改善,谢谢。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107034
QQ
发表于 2019-3-25 11:00:42 | 显示全部楼层
zhaiht 发表于 2019-3-25 08:49
高手好,换系统还有问题啊,我有两个线程,一个计算量大,一个用于通讯,如果计算量大的优先级高,就没有计 ...

别倒腾你自己的了,倒腾的时间有点长了,直接使用我的模板吧。
回复

使用道具 举报

1

主题

7

回帖

10

积分

新手上路

积分
10
 楼主| 发表于 2019-3-25 11:31:55 | 显示全部楼层
本帖最后由 zhaiht 于 2019-3-25 11:38 编辑

就是用的高手您的啊,现在感觉不是系统的问题
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107034
QQ
发表于 2019-3-25 11:39:45 | 显示全部楼层
zhaiht 发表于 2019-3-25 11:31
就是用的高手您的啊,现在感觉不是系统的问题

我的你放心用,绝对没问题。我已经项目中验证很多了。

最好用我们的板子做验证,如果有问题直接上传例子即可,不过要基本我们板子的,否则无法测试。
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-15 09:16 , Processed in 0.334335 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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