发布时间:2013-07-21 10:21:15
对于.lds文件,它定义了整个程序编译之后的连接过程,决定了一个可执行程序的各个段的存储位置。虽然现在我还没怎么用它,但感觉还是挺重要的,有必要了解一下。先看一下GNU官方网站上对.lds文件形式的完整描述:SECTIONS {...secname start BLOCK(align) (NOLOAD) : AT ( ldadr )&n.........【阅读全文】
发布时间:2013-07-12 19:51:30
哥一直好奇怎么通过printk输出信息到串口,于是分析源码。asmlinkage int printk(const char *fmt, ...){va_list args;int r;#ifdef CONFIG_KGDB_KDBif (unlikely(kdb_trap_printk)) {va_start(args, fmt);r = vkdb_printf(fmt, args);va_end(args);return r;}#endifva_start(args, fmt);r = vp.........【阅读全文】
发布时间:2013-07-12 19:40:59
前只知道编译内核时先make menuconfig进行一些个性化的设置。然后执行make即可在内核源码根目录下得到ELF文件vmlinux,并且在相应体系结构arch/arm/boot目录下得到zImage可执行的压缩内核映像,进而烧写到开发板中。 只是这个过程到底是怎么样的,linux内核如何实现这一系列复杂的链接编译。网上看了.........【阅读全文】
发布时间:2013-07-12 19:37:15
毫无疑问,这是Linux内核的一个BUG。内核版本是2.6.27.8,将会影响到所有ARM架构。本文所述及的思路、解决方法也都是基于ARM架构的,对其他架构不一定适用!具体表现为,如果在driver目录下创建了一个新目录,然后在该目录下编写好Kconfig,并在drivers/Kconfig文件中添加了source选项。按道理,内核配置中就应.........【阅读全文】