uclinux-2008R1-RC8(bf561)到VDSP5的移植(10):编译器配置
2008-05-03 23:44
375 查看
由于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
相关文章推荐
- uclinux-2008R1-RC8(bf561)到VDSP5的移植(6):__bss_start
- uclinux-2008R1-RC8(bf561)到VDSP5的移植(12):init_thread_union
- uclinux-2008R1-RC8(bf561)到VDSP5的移植(18):.init.text和.init.data
- uclinux-2008R1-RC8(bf561)到VDSP5的移植(20):远调用
- uclinux-2008R1-RC8(bf561)到VDSP5的移植(24):CONFIG_NR_CPUS
- uclinux-2008R1-RC8(bf561)到VDSP5的移植(26):smp_processor_id
- uclinux-2008R1-RC8(bf561)到VDSP5的移植(30):atomic_t
- uclinux-2008R1-RC8(bf561)到VDSP5的移植(52):cache.s的问题
- uclinux-2008R1-RC8(bf561)到VDSP5的移植(60): current_text_addr
- uclinux-2008R1-RC8(bf561)到VDSP5的移植(13):未命名union的问题
- uclinux-2008R1-RC8(bf561)到VDSP5的移植(36):__per_cpu_start
- uclinux-2008R1-RC8(bf561)到VDSP5的移植(41):PLL造成的困扰
- uclinux-2008R1-RC8(bf561)到VDSP5的移植(54): initramfs的问题
- uclinux-2008R1-RC8(bf561)到VDSP5的移植(57): _NSIG_WORDS_is_unsupported_size
- uclinux-2008R1-RC8(bf561)到VDSP5的移植(44):kmalloc和kzalloc的问题
- uclinux-2008R1-RC8(bf561)到VDSP5的移植(3):Head.s
- uclinux-2008R1-RC8(bf561)到VDSP5的移植(19):li2040
- uclinux-2008R1-RC8(bf561)到VDSP5的移植(21):_mc_data_initialise
- uclinux-2008R1-RC8(bf561)到VDSP5的移植(29):spinlock
- uclinux-2008R1-RC8(bf561)到VDSP5的移植(39):链接重排