搜了几天的网上资料,就没见过在VDSP下编译uclinux的。估计一方面是由于编译器技术的差异,另一方面也由于没有这样的需求。但是假如uclinux内核能够在VDSP下编译,那么也就意味着可以通过仿真器单步执行调试,对于内核技术的学习和研究将可达到事半功倍的效果!
从VDSP的文档中发现,VDSP的C编译器和gcc 3.2有很好的兼容性,且前些天刚刚把u-boot移植到VDSP下,至今一切OK ,这似乎从一定程度上也证明了这一点。那么是否可以将uclinux的内核也进行类似的操作呢?就让我来试试这个似乎不太可能的任务吧!即使失败了,也可以籍此深入探究一下uclinux的内核。以下出现的uclinux如无特别说明都指的是uclinux内核。
目标:在VDSP下运行uclinux内核,实现串口console。
硬件:bf561目标板,带串口输出,64M SDRAM,忽略其它外围接口。
软件:Linux version 2.6.19.3-ADI-2007R1.1-svn,VDSP 4.5。
基本设想:
1、 将uclinux的代码和数据部分放在SDRAM的高4M的地方,用VDSP生成的模板作为启动代码,并在A核的main中调用start_kernel引导uclinux,忽略uclinux的第一部分引导程序。
2、 用VDSP的LDF文件代替uclinux中的vmlinuz.lds.s中的相关链接定义。
3、 尽量用VDSP库函数代替uclinux中实现的函数,BF561的寄存器定义也是如此。
4、 为uclinux的每个目录生成一个单独的库文件。
5、 在每个C文件的第一行插入自己的config.h,以此影响VDSP的编译行为。
6、 注释掉所有的C和H文件的代码行,直到需要使用的时候再去掉相关的注释,避免直接的信心打击。
时间安排:空闲时段,1年,2年。。。直到成功或者失败!
敬请关注!