快乐虾
http://blog.csdn.net/lights_joy/
本文适用于
ADSP-BF561
优视BF561EVB开发板
Visual DSP++ 5.0(update 6)
Bfin-uclinux-2009r1.6
欢迎转载,但请保留作者信息
关于uclinux和vdsp,在http://docs.blackfin.uclinux.org/doku.php?id=visualdsp:faq提供了一些说明,大声对vdsp说NO。但是vdsp自有其优越性,比如说容易上手,高效的信号处理库支持,性能分析工具等等。
那么是否有可能结合二者的长处呢?答案是肯定的,这个网站上列出的理由并不能成为使用vdsp进行uclinux开发不可逾越的屏障!只要小心处理,这些问题应该都是可以克服的!
从07r1开始一直到09r1.6,从单核到双核,每一个发行版的内核都可以移植到vdsp下进行编译。在这个过程中,对内核结构和一些算法的理解起到了莫大的作用。但是要想将这种方法实用化却没有太大的意义,因为它需要对内核的代码进行修改,需要手工甄别哪些文件是内核需要的,哪些文件是不需要的,稍有不慎,内核就无法运行。
因此这种方法对于内核的研究学习尚可,但是不太可能实际使用。
在此过程中,得到几个有用的经验:
1、vdsp的c编译器与gcc的兼容性不错,uclinux内核的头文件几乎不需要处理就可以直接在vdsp下使用。
2、内核中并非不能使用vdsp库,它只是不能使用vdsp库的某些功能。
3、在uclinux内核运行过程中,完全可以用vdsp通过仿真器连接到目标板,并控制内核继续运行。
4、不能用gcc链接vdsp生成的.doj或者dlb文件,反之vdsp也不能直接链接gcc生成的.o文件。
5、可以使用内核可以加载vdsp生成的dxe文件。
6、可以使用vdsp读取vmlinux里面的调试信息。
基于前面得到的经验,我们希望找到一种方法,达到下面的目标:
1、不改变内核的开发方法,仍然按照官方的方法进行内核的编译与裁剪。
2、控制gcc加入具体的调试信息,在vdsp中加载这些调试信息并进行内核的调试。
3、使用vdsp进行驱动的开发与调试。
4、使用vdsp进行用户程序的开发与调试。
目前手上有的东西:
1、优视BF561EVB开发板
2、在vdsp下编译好的u-boot-trunk-svn-1982。
3、blackfin-toolchain-09r1-10
4、blackfin-toolchain-uclibc-full-09r1-10
5、uClinux-dist-2009R1-RC6
6、ADI仿真器
7、vdsp5 update 6
Go…………..
某日和某君谈起在vdsp下移植uclinux内核,结果别人问:“你这个东西有没有在实际项目中使用?”,然后就直接被鄙视了,@_@,汗……….
关于uClinux-2.6(bf561) for VDSP的移植(2008/3/11)
在VDSP中编译uClinux:工程文件发布(2008/2/27)
在VDSP中编译uclinux(7):令人困惑的成功(2007/11/30)
在VDSP中编译uclinux(6):VFS: Unable to mount root fs on unknown-block(31,0)(2007/11/29)
在VDSP中编译uclinux(5):Milestone-内核启动基本完成(2007/11/25)
在VDSP中编译uclinux(4):console实现(2007/11/21)
在VDSP中编译uclinux(3):编译器的差异(2007/11/21)
在VDSP中编译uclinux(2):内存布局(2007/11/20)
在VDSP中编译uclinux(1):不可能的任务?(2007/11/18)