快乐虾
http://blog.csdn.net/lights_joy/
lights@hb165.com
本文适用于
ADI bf561 DSP
uclinux-2008r1.5-rc3(smp patch)
Visual DSP++ 5.0(update 5)
欢迎转载,但请保留作者信息
讨论链接:http://www.bfin-tools.org/bbs/viewthread.php?tid=21&extra=page%3D1
仔细看了一下VDSP链接器文档中关于SHARED_MEMORY和COMMON_MEMORY的说明,才发现原来自己犯了一个大错误。
这两种内存共享方式的最大区别在于,SHARED_MEMORY中指定的东西是单独链接的,而COMMON_MEMORY则是做为ab核的一部分来进行链接的,然后再进行合并,这也是造成之前li1240错误的根本原因!
在默认情况下,VDSP是使用COMMON_MEMORY的,这种方式的好处在于它可以处理共享空间和私有空间交叉链接的情况,显然用在这里是不合适的。
哈哈,把COMMON_MEMORY改为SHARED_MEMORY,然后在p0和p1里面用LINK_ANAINST把它链接进去,搞定。
抛弃原来使用的愚蠢办法!
此外,今天遇到一个li1152的错误,居然也没有相关的文档,再次BS ADI。
1 参考资料
uclinux-2008R1.5-RC3(bf561)到VDSP5的移植(64):__ebss_b_l1(2009-02-12)
uclinux-2008R1.5-RC3(bf561)到VDSP5的移植(65):B核启动(2009-2-13)
uclinux-2008R1.5-RC3(bf561)到VDSP5的移植(66):_ebss_l1(2009-02-13)
uclinux-2008R1.5-RC3(bf561)到VDSP5的移植(67):li1240(2009-2-14)
uclinux-2008R1.5-RC3(bf561)到VDSP5的移植(68):PLL配置(2009-02-16)