由于vdsp5与gcc的差异,需要在config.h中进行适当的配置。
1 __KERNEL__
对于uclinux的内核编译来讲,必须加上__KERNEL__的定义。在 uclinux的原始文件中是通过在makefile中控制编译器的选项来达到这一目的的。而我则在每个uclinux内核的c文件头加上了#include <config.h>,因此直接将这一定义放在了config.h中:
#define __KERNEL__ 1 // 仅适用于内核配置
2 Gcc版本号
在uclinux的头文件(include/compiler.h)中,要检测GCC的版本号:
#if __GNUC__ >= 4
# include <linux/compiler-gcc4.h>
#elif __GNUC__ == 3 && __GNUC_MINOR__ >= 2
# include <linux/compiler-gcc3.h>
#else
# error Sorry, your compiler is too old/not recognized.
#endif
由于vdsp号称和gcc3.4有较好的兼容性,因此在config.h中添加如下定义:
#define __GNUC__ 3
#define __GNUC_MINOR__ 4
时间: 2024-09-09 06:04:03