打印

转帖: TMS320C6474(六核)使用经验总结

[复制链接]
2337|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
gangwa258123456|  楼主 | 2012-3-27 22:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1.main函数中一般不能等待信号量,可能会被无视
      2.使用SRIO在2CPU之间相互交换数据时,数据如果在L2(2级内存,6474为1M)内,则两CPU的L2地址都应设为global地址。即不能为0x08XXXXXX。
      3.6474
      EVM开发板,用ccs中的SRIO示例程序在2个CPU间传递数据时,最多一次传4K,最少目前设为16个,4个不稳定,建议设为256个。原因应该是每次传输一个双字,寄存器可设。4K时为512个双字。
      4.1个CPU的core0运行程序中如有printf语句,自己运行速度无影响,但如果此时core1或core2空转,core0速度会变慢为大约1/4。如无printf语句,则各核速度暂无影响。
      5.一些数据初始化的步骤避免放在main中,可以创建一个最高优先级的初始化任务。否则程序运行一次后,再次运行时可能崩溃。(崩溃应该发生在main运行完转到其他任务时,如在main中加一中断则不会崩溃,原因不明,应该是BIOS操作系统的BUG,貌似可以配置一选项解决(绕过)此问题。)
      6.volatile只能保证读取数据时不读取cache直接读取内存。如果写入后立刻通过SRIO或DMA传输,应用BCACHE_wb立刻把cache中的数据写回内存。BCACHE_inv可使cache无效,可用于读取非volatile数据。
      7.在simulater模式下,同一个CPU的core之间是不能访问对方的L2的。比如core0的L2是0x10800000起始,core1的L2是0x11800000起始,core0不能访问0x11800000起始的长度为0x100000的空间。

相关帖子

沙发
益友电子| | 2012-3-28 14:02 | 只看该作者
main函数中不能等待信号量,能不能具体的讲解一下呢,谢谢!

使用特权

评论回复
板凳
zlove1990| | 2014-8-26 21:46 | 只看该作者
楼主能留个联系方式么

使用特权

评论回复
地板
zhangmangui| | 2014-8-26 22:52 | 只看该作者
zlove1990 发表于 2014-8-26 21:46
楼主能留个联系方式么

从楼主的发帖来看  资料来自收集   
还望你找找相关资料    顺便分享给大家

使用特权

评论回复
5
shenmu2012| | 2014-8-26 22:53 | 只看该作者
volatile只能保证读取数据时不读取cache直接读取内存。如果写入后立刻通过SRIO或DMA传输,应用BCACHE_wb立刻把cache中的数据写回内存。BCACHE_inv可使cache无效,可用于读取非volatile数据。

使用特权

评论回复
6
zhangjin_comeon| | 2014-8-26 22:55 | 只看该作者
向楼主学习

使用特权

评论回复
7
小木欧尼| | 2014-8-27 22:29 | 只看该作者
shenmu2012 发表于 2014-8-26 22:53
volatile只能保证读取数据时不读取cache直接读取内存。如果写入后立刻通过SRIO或DMA传输,应用BCACHE_wb立 ...

学习啦

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

215

帖子

2

粉丝