![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux 内核移植
小米拍客光
喜欢IT,喜欢技术,嗨起来~~~~~~~~~~~~~~
展开
-
Exynos4412 内核移植(七)—— 内核相关知识补充
一、内核调试方法简单分析1、addr2line: 解决oops错误 a -- oops消息 oops(也称 panic),称程序运行崩溃,程序崩溃后会产生oops消息。应用程序或内核线程的崩溃都会产生oops消息,通常发生oops时,系统不会发生死机,而在终端或日志中打印oops信息。 当使用NULL指针或不正确的指针值时,通常会引发一个原创 2016-06-19 18:38:31 · 261 阅读 · 0 评论 -
Exynos4412 内核移植(六)—— 设备树解析
一、描述 ARM Device Tree起源于OpenFirmware (OF),在过去的Linux中,arch/arm/plat-xxx和arch/arm/mach-xxx中充斥着大量的垃圾代码,相当多数的代码只是在描述板级细节,而这些板级细节对于内核来讲,不过是垃圾,如板上的platform设备、resource、i2c_board_info、spi_board_info原创 2016-06-19 18:40:16 · 545 阅读 · 0 评论 -
Exynos4412 内核移植(五)—— 驱动的移植
以移植自己制作的驱动,学习内核移植中的驱动移植,及 驱动程序的动态编译和静态编译硬件环境:Linux 内核版本:Linux 3.14主机:Ubuntu 12.04发行版目标机:FS4412平台交叉编译工具:arm-none-linux-gnueabi-gcc一、静态编译1、添加驱动文件 将写好的实验原创 2016-06-19 18:41:40 · 769 阅读 · 0 评论 -
Exynos4412 内核移植(四)—— MMU 相关知识解析
一、MMU的产生 许多年以前,当人们还在使用DOS或是更古老的操作系统的时候,计算机的内存还非常小,一般都是以K为单位进行计算,相应的,当时的程序规模也不大,所以内存容量虽然小,但还是可以容纳当时的程序。但随着图形界面的兴起还用用户需求的不断增大,应用程序的规模也随之膨胀起来,终于一个难题出现在程序员的面前,那就是应用程序太大以至于内存容纳不下该程序,通常解决的办法是把程序分割成许多原创 2016-06-19 18:46:16 · 441 阅读 · 0 评论 -
Exynos4412 内核移植(二)—— 内核编译过程分析
内核的编译同样是从Makefile 来分析:一、内核源码结构Linux内核文件数目近2万,出去其他架构CPU的相关文件,他们分别位于顶层目录下的17个子目录,各个目录功能独立,下面是常用目录:arch:体系结构相关代码ipc:进程调度相关代码mm:内存管理Documentation:帮助文档net:网络协议lib:库scripts:编译相关脚本工具原创 2016-06-19 18:48:11 · 364 阅读 · 0 评论 -
Exynos4412 内核移植(三)—— 内核启动过程分析
内核启动所用函数如下: 与移植U-Boot 的过程相似,在移植Linux 之前,先了解它的启动过程。Linux 的过程可以分为两部分:架构/开发板相关的引导过程、后续的通用启动过程。对于uImage、zImage ,它们首先进行自解压得到vmlinux ,然后执行 vmlinux 开始“正常的”启动流程。 引导阶段通常使用汇编语原创 2016-06-19 18:49:19 · 367 阅读 · 0 评论