摘要:

嵌入式操作系统是嵌入式系统的软件核心,它管理系统中所有的软件和硬件资源,并且满足嵌入式系统的专用性和可裁剪性.嵌入式Linux以其开源,可裁剪以及模块化设计等特点,吸引了国内外众多研发人员的青睐.研究Linux内核的裁剪和移植的方法,对实际应用中定制嵌入式Linux内核具有指导意义.本文从内核裁剪的角度出发,首先深入分析了Linux内核各功能模块的实现原理;接着对细粒度裁剪嵌入式Linux内核以及内核的移植做了深入的研究;最后通过具体的事例来分析内核的裁剪效果.本文主要包括的内容如下:1.提出了细粒度模块化的内核裁剪方法.本文通过分析"make menuconfig"配置裁剪方法,基于源代码的裁剪方法以及基于调用图的裁剪方法,提出了细粒度模块化的内核裁剪策略;并对内核中各模块进行细粒度地裁剪,在剔除系统多余进程,优化内存管理功能,裁剪文件系统以及定制TCP/IP网络协议栈等方面做了深入地研究.真正的实现了,能够根据具体的应用需求细粒度裁剪Linux系统内核.2.实现了ARM平台的嵌入式Linux内核的移植.本文首先详细分析了开源启动程序U-boot的执行流程,U-boot的移植以及调试过程,总结了U-boot的移植步骤及移植过程中需要修改的文件;接着详细分析了嵌入式Linux内核参数的传递方法及其实现以及嵌入式Linux内核的启动过程;最后实现了嵌入式Linux内核在基于ARM920T的S3C2410硬件平台上的移植,并总结了移植方法和流程.3.嵌入式移动POS机系统内核的实现.本文通过嵌入式移动POS机这一具体事例,实现了嵌入式Linux内核细粒度的裁剪以及移植;最后比较了普通裁剪方法和本文提出的裁剪方法.得到的结论是本文所提出的裁剪方法对Linux内核能实现"更小规模"的裁剪.

展开

linux裁剪内核和移植,嵌入式Linux内核裁剪及移植的研究与实现相关推荐

  1. 嵌入式Linux内核和文件系统,在IXP435上移植嵌入式Linux内核和根文件系统

    简要介绍如何在IXP435上移植嵌入式Linux内核和根文件系统 1.安装交叉编译工具 为什么要先安装交叉编译工具?由于我们的Linux操作系统是安装在嵌入式处理器平台上的,需要在主机上编译出开发板需 ...

  2. linux内核培训广州,嵌入式Linux驱动开发高级培训班-华清远见嵌入式培训中心

    课程目标 本课程以案例教学为主,系统地介绍Linux下有关FrameBuffer.MMC卡.USB设备的驱动程序开发.参加本课程学习的学员,因为具备了Linux设备驱动开发基础,所以本课程针对性较强, ...

  3. Linux车载导航程序,基于嵌入式LINUX的车载导航系统设计

    (2) Linux 在S3C2440 上的移植 嵌入式 Linux 管理整个导航系统的硬件设备并对所有程序进行调度,是软件系统的核心.由于Linux 是面向PC 机的操作系统,将其用于嵌入式领域,需要 ...

  4. 尚观linux视频配套教程,尚观最新嵌入式Linux基础视频教程 98集嵌入式Linux巨制视频教程 新手必备...

    尚观最新嵌入式Linux基础视频教程 98集嵌入式Linux巨制视频教程 新手必备 5.jpg (67.09 KB, 下载次数: 0) 2018-4-16 09:34 上传 1.jpg (44.17 ...

  5. Linux内核启动速度优化,嵌入式Linux启动时间优化的秘密之五-Bootloader

    描述 本文主要讲述嵌入式Linux启动时间优化的秘密,我们继续上篇没有讲完的嵌入式Linux启动时间优化方法,本文主要会讲Bootloader.想看上一篇的请查看本文结尾的链接. Bootloader ...

  6. 嵌入式linux内核启动过程,嵌入式Linux:ARM Linux启动流程

    ARM Linux启动流程大致为:bootloader---->kernel---->root filesystem.bootloader 是一上电就拿到cpu 的控制权的,而bootlo ...

  7. 嵌入式linux内核编译感想,嵌入式Linux内核的交叉编译编译-基于2.6.26

    测试环境:Fedora 9 Linux 2.6.26 / gcc 4.3.0 / arm-Linux-gcc 3.4.1 本 文主要介绍如何构建在x86平台上交叉编译各平台上的嵌入式Linux内核.要 ...

  8. linux内核按键驱动,嵌入式Linux按键驱动框架

    前言 本文将通过轮询.中断.poll机制.异步通知和同步互斥阻塞等方式编写按键驱动程序.本节的驱动框架是在<嵌入式Linux驱动框架的搭建>的基础上进行改进的,所以本文只讲解修改的部分. ...

  9. linux内核编译选项ccl,嵌入式Linux学习笔记(一)

    注:所有内容基于友善之臂Mini2440开发板 一.嵌入式Linux开发环境的构建 嵌入式开发一般分为三个步骤: 1.编译bootloader,烧到开发板 2.编译嵌入式Linux内核,烧到开发板 3 ...

最新文章

  1. idea在Mybatis的xml里面写sql时,表名、字段、报红问题的解决方法
  2. mysql主键自增长_全面的MySQL优化面试解析
  3. Javascript--节点类型
  4. ASP.NET Core MVC 源码学习:Routing 路由
  5. [js] js循环中调用异步的方法,如何确保执行结果的顺序是正确的?
  6. 注意:匿名函数调用直接加载函数名setInterval(move,30)
  7. Spring AOP是什么?
  8. ci mysql 缓存_CodeIgniter框架中启用和清除缓存的教程
  9. SpringMvc-MockMvc
  10. 故宫门票预订网站崩溃;岳云鹏信息打包卖 100 元;华为要做电视?| 极客头条...
  11. antd中form自定义rules
  12. Structure from Motion综述
  13. mysql 数据块_数据库中数据块是什么
  14. Python+Spark大数据音乐推荐系统
  15. 32*32 点阵字库 linux,点阵字库-linux_wuliqiang-ChinaUnix博客
  16. 移远EC20中SD卡无法开机后自动识别是否拔插
  17. PCL--学习笔记(持续更新——蜗速)
  18. RS485,uart串口加瑞芬68协议
  19. 美国将派大量自动昆虫机器人到火星执行任务
  20. Centos7更改网卡名为eth0

热门文章

  1. 《转》Unsafe与CAS
  2. log4j的8个日志级别(OFF、FATAL、ERROR、WARN、INFO、DEBUG、TRACE、 ALL)
  3. 【Java】图解 Spring 循环依赖,写得太好了
  4. 【MySQL】MySQL异常Lock wait timeout exceeded try restarting transaction
  5. Spring Boot 中使⽤ Cache 缓存的使⽤
  6. RocketMQ : UpdateTopicSubCommand command failed connect to xxx:10909 failed
  7. 12-Java读写CSV格式文件(opencsv)
  8. Android获取图片资源的4种方式
  9. 数字U家,即刻出发!2022联合利华黑客马拉松报名倒计时!
  10. python爬虫避免重复数据_No.2﹣Python﹣scan﹣anti-crawler(随机请求头和IP代理)取消链接和重复数据消除,NO2pythonscrapy,反,爬虫,去...