《嵌入式Linux开发实用教程》——导读

简介:


screenshot

前 言

2012年11月,当我看到论坛中的同龄大学生在学习嵌入式Linux寸步难行,我就计划将我学习嵌入式Linux的点点滴滴记录下来,从一个学生的角度去写,或许更能让初学者接受。2013年1月,当写完初稿再重新审视的时候,总感觉不尽如意。2013年3月,我联系了我的师弟李强,两人打算以一个全新的思维重新完成这本书。

2013年6月,书稿终于定型。

本书一共有6章,从Linux指令基础到Linux常用软件;从U-Boot移植到Linux移植;从Linux驱动程序设计到Qt应用程序设计,全方位解析作为一个初学者该如何快速踏入嵌入式Linux学习的大门。

这本书大体结构如下:

第1章嵌入式Linux基础,为了让还没有接触过或者不太熟悉Linux的读者进一步认识Linux,介绍了两个在嵌入式Linux学习中使用频率很高的软件。有了这一章的知识作铺垫,后续的学习将更加顺畅。

第2章U-Boot-2013.04分析与移植,本章覆盖U-Boot启动分析、SD卡启动、NAND Flash启动移植、DM9000网卡移植等内容。笔者从SD卡启动到NAND Flash启动,解开众多厂家不愿公开的技术点。对于初学者来说,U-Boot的移植无疑是一座大山,笔者将一步步揭开U-Boot的神秘面纱。

第3章Linux-3.8.3内核移植,本书采用最新内核,涉及Linux内核分析、NAND Flash移植、DM9000网卡移植、LCD液晶屏移植、YAFFS2文件系统制作等知识。从OK6410的内核移植,让初学者对Linux有个较为深入的了解和认识。

第4章Linux设备驱动程序设计,笔者截取了较为经典的字符设备驱动和块设备驱动程序对这部分知识进行讲解,给初学者在往后学习Linux设备驱动知识和从事Linux设备驱动工程师奠定扎实的基础。

第5章Qt-4.8.4移植,Qt4.8.4在Qt的发展具有重要地位,本章将带领读者将Qt4.8.4版本移植到OK6410开发板以及学习Qt程序的编写方法。

第6章嵌入式Linux学习拓展,笔者将前5章知识进行进一步拓展,所谓温故而知新、举一反三。

本书根据6章的内容分别录制了视频,联合OK6410-A开发板进行实验,一步一步带领读者深入学习。书中每一节内容都已经标注相对应的视频位置,请读者自行观看。

通过本书的学习,作者不能保证每一位读者都能成为嵌入式高手;但是我相信,一定可以带初学者进入嵌入式的大门。

完成本书的学习其实很简单:将少买一件衣服的钱买一块开发板,将每天玩游戏的1小时用于跟随本书一步步进行学习,我相信,3个月之后,你一定可以成功跨入嵌入式的大门。

在此感谢江西理工大学王祖麟教授大学四年对我的言传身教,并为本书作序;感谢ARM公司中国区大学计划经理时昕博士为本书撰写推荐序;感谢我的父母22年来对我含辛茹苦的培养;感谢我女朋友对我一直以来的关心和照顾。参与本书创作的还有谢贤斌、温如春、吴银凤、刘晖、张子明(飞凌嵌入式工程师),为本书做出宣传的电子发烧友陈锋和钱珊珊,在此对他们一并表示感谢。

朱兆祺

2013年12月

目 录

[第1章  嵌入式Linux基础
1.1 Linux基本命令]
1.1.1 文件属性查询与修改
1.1.2 目录与路径处理命令
1.1.3 文件操作
1.1.4 打包与解包、压缩与解压缩
1.2 Makefile基本知识
1.2.1 Makefile规则
1.2.2 Makefile变量
1.2.3 Makfile常用关键字
1.2.4 Makefile常用函数
1.3 arm-linux交叉编译链
1.3.1 arm-linux交叉编译工具链的制作方法
1.3.2 交叉编译链在宿主机上的安装
1.4 映像文件的生成和运行
1.4.1 编译过程
1.4.2 代码搬运
1.4.3 混合编程
1.5 嵌入式Linux移植常用软件
1.5.1 SecureCRT
1.5.2 Source Insight
第2章 U-Boot-2013.04分析与移植
第3章 Linux-3.8.3内核移植
[第4章 Linux设备驱动程序设计
4.1 设备驱动概述]
4.2 字符设备驱动
4.2.1 LED驱动程序设计
4.2.2 ADC驱动程序设计
4.3 块设备驱动
4.3.1 块设备操作
4.3.2 块设备驱动程序
第5章 Qt-4.8.4移植
第6章 嵌入式Linux学习拓展

相关文章
|
7月前
|
Ubuntu 搜索推荐 Linux
详解Ubuntu的strings与grep命令:Linux开发的实用工具。
这就是Ubuntu中的strings和grep命令,透明且强大。我希望你喜欢这个神奇的世界,并能在你的Linux开发旅程上,通过它们找到你的方向。记住,你的电脑是你的舞台,在上面你可以做任何你想做的事,只要你敢于尝试。
404 32
|
9月前
|
JavaScript Linux 网络安全
Termux安卓终端美化与开发实战:从下载到插件优化,小白也能玩转Linux
Termux是一款安卓平台上的开源终端模拟器,支持apt包管理、SSH连接及Python/Node.js/C++开发环境搭建,被誉为“手机上的Linux系统”。其特点包括零ROOT权限、跨平台开发和强大扩展性。本文详细介绍其安装准备、基础与高级环境配置、必备插件推荐、常见问题解决方法以及延伸学习资源,帮助用户充分利用Termux进行开发与学习。适用于Android 7+设备,原创内容转载请注明来源。
2422 77
|
11月前
|
Ubuntu Linux 开发者
Ubuntu20.04搭建嵌入式linux网络加载内核、设备树和根文件系统
使用上述U-Boot命令配置并启动嵌入式设备。如果配置正确,设备将通过TFTP加载内核和设备树,并通过NFS挂载根文件系统。
621 15
|
存储 监控 Linux
嵌入式Linux系统编程 — 5.3 times、clock函数获取进程时间
在嵌入式Linux系统编程中,`times`和 `clock`函数是获取进程时间的两个重要工具。`times`函数提供了更详细的进程和子进程时间信息,而 `clock`函数则提供了更简单的处理器时间获取方法。根据具体需求选择合适的函数,可以更有效地进行性能分析和资源管理。通过本文的介绍,希望能帮助您更好地理解和使用这两个函数,提高嵌入式系统编程的效率和效果。
554 13
|
Linux API 开发工具
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
ijkplayer是由B站研发的移动端播放器,基于FFmpeg 3.4,支持Android和iOS。其源码托管于GitHub,截至2024年9月15日,获得了3.24万星标和0.81万分支,尽管已停止更新6年。本文档介绍了如何在Linux环境下编译ijkplayer的so库,以便在较新的开发环境中使用。首先需安装编译工具并调整/tmp分区大小,接着下载并安装Android SDK和NDK,最后下载ijkplayer源码并编译。详细步骤包括环境准备、工具安装及库编译等。更多FFmpeg开发知识可参考相关书籍。
495 0
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
|
Java Linux API
Linux设备驱动开发详解2
Linux设备驱动开发详解
252 6
|
消息中间件 算法 Unix
Linux设备驱动开发详解1
Linux设备驱动开发详解
283 5
|
存储 Linux 开发工具
如何进行Linux内核开发【ChatGPT】
如何进行Linux内核开发【ChatGPT】
|
NoSQL Linux C语言
嵌入式GDB调试Linux C程序或交叉编译(开发板)
【8月更文挑战第24天】本文档介绍了如何在嵌入式环境下使用GDB调试Linux C程序及进行交叉编译。调试步骤包括:编译程序时加入`-g`选项以生成调试信息;启动GDB并加载程序;设置断点;运行程序至断点;单步执行代码;查看变量值;继续执行或退出GDB。对于交叉编译,需安装对应架构的交叉编译工具链,配置编译环境,使用工具链编译程序,并将程序传输到开发板进行调试。过程中可能遇到工具链不匹配等问题,需针对性解决。
881 3
|
编解码 安全 Linux
基于arm64架构国产操作系统|Linux下的RTMP|RTSP低延时直播播放器开发探究
这段内容讲述了国产操作系统背景下,大牛直播SDK针对国产操作系统与Linux平台发布的RTMP/RTSP直播播放SDK。此SDK支持arm64架构,基于X协议输出视频,采用PulseAudio和Alsa Lib处理音频,具备实时静音、快照、缓冲时间设定等功能,并支持H.265编码格式。此外,提供了示例代码展示如何实现多实例播放器的创建与管理,包括窗口布局调整、事件监听、视频分辨率变化和实时快照回调等关键功能。这一技术实现有助于提高直播服务的稳定性和响应速度,适应国产操作系统在各行业中的应用需求。
439 3