求助ucos下为什么计算速度比linux下慢

啊哈哈啊好 2016-12-16 09:32:17
环境:用的飞思卡尔的cortex-a9架构,单核芯片 imx6sl。
问题:发现同样的代码计算1kb数据大小的mac。
通过uboot引导启动ucos,在ucos下计算1kB大小mac需要消耗170ms;(程序在ddr中运行)
通过uboot引导启动linux,在linux下计算1kB大小mac需要消耗24ms;(程序在On Chip RAM中运行)
求助:按理来说ucos系统对资源的消耗应该比linux下低,其计算速度应该比较快,为什么会出现linux下比ucos下计算mac快这么多的情况? 是linux下对硬件进行的二次优化吗?
...全文
1033 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
fly 100% 2016-12-21
  • 打赏
  • 举报
回复
这个要看反汇编,可能性最大的就是编译选项不同导致的,比如一个用了硬浮点计算 一个用了软件浮点计算。优化等级也是一个可能性。
fuchouzhe 2016-12-16
  • 打赏
  • 举报
回复
片内RAM速度高, 而你的mac指什么运算?对于复数乘加运算或变换类运算,RAM的使用很讲究 此外,系统计时如何实现,计算时间如何得到?不同的计时方法,结果不同 还有,系统cache设置中MMU也有相应的,部分代码需要通过MMU锁定cache ucos对中断优化不足,需要自行优化。
啊哈哈啊好 2016-12-16
  • 打赏
  • 举报
回复
请问优化相关,我主要需要注意优化些什么? 我已经把L2 cache Dcache Icache打开,ddr2的频率是396m ,ddr挂在的AXI总线频率是193m,pll_sys是792m。 请问其他的还有哪些可以优化,我去看看手册
fuchouzhe 2016-12-16
  • 打赏
  • 举报
回复
根本没有关系,主要原因还是cache,主频设置等 实质上linux资源消耗多,不可能效率高,只是楼主的ucos没有优化而已

6,125

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 硬件设计
社区管理员
  • 硬件设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧