摘要: 转自:http://www.cnblogs.com/skywang12345/p/3562146.html 写得通俗易懂,理解这种概念,在其它场合,结合linux内核 里分层分离,平台总线等思维 可以写出框架完整,易移植,和多人合作大项目中。 对于我来说,一直以来,不理解,也不了解,在单片机里,每次 阅读全文
posted @ 2019-10-23 11:13 荧火虫 阅读(106) 评论(0) 推荐(0) 编辑
摘要: 每个内核版本的代码都会有小部分不同,但是大体流程基本相同,只是调用关系和函数名称有些变化,下面来分析中断流程 1:在 arch/arm/kernel/ 下有个traps.c 文件中的 void __init early_trap_init(void *vectors_base) 函数 进行重定位中断 阅读全文
posted @ 2019-10-22 11:05 荧火虫 阅读(375) 评论(0) 推荐(0) 编辑
摘要: 我们知道内核启动后就要挂载根文件系统再执行应用程序,下面来分析一下根文件系统的流程,和所需要的东西。 内核挂接根文件系统后,怎么样启动第一个应用程序呢?内核分析得到 执行 static int __init kernel_init(void * unused) 分析这个函数 kernel_init( 阅读全文
posted @ 2019-10-18 11:32 荧火虫 阅读(287) 评论(0) 推荐(0) 编辑
摘要: 内核编译完成后会打印入口地址和加载地址 如果我们想修改成其它地址的话就在vi arch/arm/mach-s3c24xx/Makefile.boot 中修改即可 修改else分支 阅读全文
posted @ 2019-10-18 09:57 荧火虫 阅读(766) 评论(0) 推荐(0) 编辑
摘要: 前面记录了根文件系统,现在开始写驱动程序,关于框架什么的都是一些概念的东西,这里就不详述,先写一个最简单的LED驱动 从现在开始进入Linux驱动的大门,如何自已写,参考内核自带的字符驱动,仿照写出自已的驱动,这些驱动只适合自已使用,想 做成通用的驱动,后面会慢慢深入,现在先了解和熟悉 linux驱 阅读全文
posted @ 2019-10-16 20:33 荧火虫 阅读(239) 评论(0) 推荐(0) 编辑
摘要: 出现这个问题的原因是内核移植时没有完全移植好,u-boot启动时的机器ID用的是SMDK2440 的16a 内核里mach-smdk2440.c 文件里没有网卡,解决办法有两种 一、把机器ID换成 mini2440 的7cf 二、去修改内核smdk2440.c加上网卡即可 引用https://www 阅读全文
posted @ 2019-10-14 22:12 荧火虫 阅读(475) 评论(0) 推荐(0) 编辑
摘要: 前面已经制作好了最小根文件系统,但是并不完善,下面来完善 一、增加 proc 虚拟文件系统,proc 是内核提供一个虚拟的文件系统,收集内核的信息 在串口中启动文件系统后可测试 用命令 ps 提示没有这个目录,那么我们创建一个 mkdir proc 再 ps 同样没有信息,手工挂载 mount -t 阅读全文
posted @ 2019-10-14 21:52 荧火虫 阅读(213) 评论(0) 推荐(0) 编辑
摘要: 上一节制作了最小根文件系统的材料,如果要烧录到板子上运行还需要把这些材料制作成映像文件,制作映像需要用到对应的工具 这一节将来完成工具的制作,下面以制作yaffs2格式文件系统为例 列出方法和步骤。 一、获得工具原码 yaffs_source_util_larger_small_page_nand. 阅读全文
posted @ 2019-10-14 16:24 荧火虫 阅读(546) 评论(0) 推荐(0) 编辑
摘要: 移植好u-boot 和 linux内核后,还需要制作根文件系统,在内核启动后挂接根文件系统,再运行应用程序 下面列出根文件系统的制作步骤和方法:注意,制作根文件系统使用的编译器需要和内核编译器一样,否则有可能无法运行 最小根文件系统有五大要素: 1:busybox:就是各种命令的集合 2:需要两个设 阅读全文
posted @ 2019-10-14 10:26 荧火虫 阅读(883) 评论(0) 推荐(0) 编辑
摘要: "自学" 真是太难了,也许对于一些天才来说,肯定不同意了,但这都不重要,重要的是我只是阐述这个人的观点。 本人80后,地地道道的乡下人,02年进入社会打拼,当时那个开心呀,终于自由啦!后面的情况,想必很多人都知道会发生什么了,真是惨不忍睹。上过当,挨过饿,睡过大街。当过服务员,做过流水线,一言难尽。 阅读全文
posted @ 2019-10-11 17:17 荧火虫 阅读(223) 评论(0) 推荐(0) 编辑