![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
linux启动内核
文章平均质量分 90
linux内核
ZS_Wang_Blogs
嵌入式兴趣爱好者,为嵌入式而生
展开
-
1.启动内核过程详解
u-boot命令中,我们用print打印信息看到u-boot启动命令:bootcmd=nand read.jffs2 0x30007FC0 kernel; bootm 0x30007FC0这里包含两条信息:读内核和启动内核分析1.bootcmd=nand read.jffs2 0x30007FC0 kernel;从Nand读出内核,从哪里读:从kernel分区(1)...原创 2019-03-29 18:06:50 · 1074 阅读 · 1 评论 -
2.1分析内核启动——查看配置文件.config
我们知道make menuconfig的菜单是在.config文件中查找配置里面有很多配置项为y(加入配置)、m(以模块形式加入,如有一些驱动)。像我们的DM9000(网卡)就是配置为y我们随便搜一个配置,如CONFIG_DM9000,grep "CONFIG_DM9000" * -nwR会发现这四个文件 (c源码)arch/arm/mach-at91/boar...原创 2019-03-30 12:14:37 · 1779 阅读 · 0 评论 -
2.2 分析内核启动——分析Makefile
Linux内核的Makefile如下:1. 为了更好的分析,我们从最底层Makefile(子目录Makefile)看起如: drivers/char/Makefileobj-$(CONFIG_MVME147_SCC)+= generic_serial.o vme_scc.o假设我们有a.c b.c两个文件,要怎么组成一个模块这个在Documenta...原创 2019-03-30 12:16:15 · 171 阅读 · 0 评论 -
2.3 (完结)分析内核启动——分析内核的第一个文件head.S和第一个c文件
我们在本栏目第一节介绍到的start.S分析到了linux进入了theKernel = (void (*)(int, int, uint))ntohl(hdr->ih_ep);theKernel (0, bd->bi_arch_number, bd->bi_boot_params);这里我们猜测一下内核启动要做什么事情:1.处理u-boot传入的参数2.最终目的...原创 2019-03-30 17:36:16 · 591 阅读 · 0 评论 -
3.编译linux3.4.2make出错Can't use 'defined(@array)' (Maybe you should just omit the defined()?)解决
内核版本:linux-3.4.2问题语句:Can't use 'defined(@array)' (Maybe you should just omit the defined()?)at kernel/timeconst.pl line 287.解决方法:今天编译内核遇到的问题,根据error出错目录,找到timeconst.pl文件,进入找到defined(@array)这句,根据括号...原创 2019-04-01 14:19:29 · 266 阅读 · 3 评论 -
移植lcd驱动和触摸屏驱动到linux3.4.2内核
1.lcd驱动在移植Linux3.4.2内核和文件系统后,要测试在新内核下驱动记得修改Makefile的lcd名字对应编译内核需要lcd.4.3.c驱动程序(对应s3c2440)发私信给我3127172734@qq.commake menuconfig去掉原来的驱动程序-> Device Drivers-> Graphics support<M...原创 2019-04-02 16:31:23 · 700 阅读 · 0 评论