标签分类
当前位置:首页 > 操作系统电子书 > Linux电子书网盘下载
嵌入式Linux系统开发教程 嵌入式Linux系统开发教程
yychuyu

yychuyu 提供上传

资源
36
粉丝
39
喜欢
7
评论
1

    嵌入式Linux系统开发教程 PDF 影印第2版

    Linux电子书
    • 发布时间:

    给大家带来的一篇关于Linux相关的电子书资源,介绍了关于嵌入式Linux、系统开发方面的内容,本书是由清华大学出版社出版,格式为PDF,资源大小84.7 MB,贺丹丹编写,目前豆瓣、亚马逊、当当、京东等电子书综合评分为:7.9,更多相关的学习资源可以参阅 操作系统电子书、等栏目。

  • 嵌入式Linux系统开发教程 PDF 下载
  • 下载地址:https://pan.baidu.com/s/1GQjhKtvGdvNNs-dvOOzn5A
  • 分享码:cxq3
  • 嵌入式Linux系统开发教程

    嵌入式Linux系统开发教程

    内容总结

    1、linux系统组成
    linux启动过程,上电后执行的第一部分代码(ARM为bootrom,X86为BIOS),针对多核CPU启动过程如下图:
    执行init进程,其pid=1,通过pstree查看系统进程树。
    Init->p1->p2->p3,p2为p1子进程,如果p2死,则p1知道,如果p1死,则init知道。可以在父进程中重启子进程。

    2、linux层次结构
    用户空间(非GPL),C库(LGPL),linux内核(GPL),通过ltrace查看用户空间代码调用的库函数,通过strace查看用户空间代码调用的系统调用。
    Strace –T ./a.out显示调用时间

    3、LD_PRELOAD
    动态链接使用,将相同的符号名函数进行覆盖
    LD_PRELOAD=./wrapper.so ./proc
    如在代码中有malloc,本来是调用library中的malloc,此时用户wrapper.so中含有malloc,动态链接时调用的为wrapper.so中的malloc。
    备注:动态链接中可以声明构造函数,该函数在main函数执行前执行,声明方式为
    void helperinit(void) __attribute__((constructor));
    编译动态链接库命令为 gcc -shared -fPIC pthread-helper.c -o pthread-helper.so -lpthread –ldl
    编译多线程 gcc –pthread

    4、文件系统
    文件系统中三个文件夹很重要,它们均为基于内存的文件系统,硬盘中找不到。
    /proc内部存放内核的状态,属性等,
    /sys查看所有的设备信息
    /dev设备文件节点
    可以在/proc中实现cpu热插拔,echo 0 > /sys/devices/system/cpu/cpu1/online  关闭CPU1

    内容介绍

    本书系统论述了在Linux 环境下开发嵌入式系统的设计思想、设计方法及开发流程,通过实例与设计项目,帮助读者尽快掌握嵌入式系统的基本概念,提高嵌入式设计技能。本书共12 章,内容包括嵌入式基础知识、Linux 概述、ARM 体系架构、嵌入式编程、交叉工具链、Bootloader、定制内核、文件系统、驱动程序开发基础、嵌入式图形设计等。本书的最后给出了一个综合实例,帮助读者理解嵌入式Linux 的开发方法和技巧。

    目录

    • 第1章 嵌入式系统基础
    • 第2章 Linux基础
    • 第3章 ARM体系架构
    • 第4章 嵌入式编程
    • 第5章 软硬件开发环境
    • 第6章 交叉编译工具
    • 第7章 Bootloader详解及移植
    • 第8章 定制内核移植
    • 第9章 嵌入式Linux文件系统
    • 第10章 嵌入式Linux驱动程序开发基础
    • 第11章 嵌入式Linux图形设计
    • 第12章 嵌入式视频监视系统开发实例

    上一篇:深入浅出Webpack  下一篇:前端工程化:体系设计与实践

    展开 +

    收起 -

    Linux相关电子书
    学习笔记
    网友NO.25496
    网友NO.25496

    1. 环境搭建
    作为Linux工程师,毋庸置疑一定需要Linux环境。对于Linux环境的获取,我们通常有两种方式:
    将电脑整体安装为Linux系统;
    在电脑里安装一个虚拟机,跑Linux电脑;
    Window+Linux双系统。
    得到Linux环境后还不够,还要知道如何配置、如何远程连接Linux电脑、如何与Linux电脑互传文件、如何在主机上阅读Linux电脑中的代码,等等。
    2. 基本操作
    众所周知,Linux很少或几乎没有界面,所有的操作几乎都可以通过命令行来完成。对于运维人员来说,需要掌握相当大量的Linux命令。而对于应用、驱动方向的人员来说,只需掌握一些基本的常用的命令即可。对于这部分很多人建议看 「鸟哥的私房菜」 ,但我觉得这个更适合运维人员,我们无需掌握那么多命令。
    3. 系统编程
    在学系统编程之前,一定要先学习Makefile,这会为后续的学习提高很大效率。之后的系统编程,主要有几大块:IO编程、进程、线程、进程间通讯(包括管道、信号、信号量、共享内存等)。这几部分学完了,基本也就差不多了。
    4. 网络编程
    网络编程主要就是socket,poll,epoll,以及对TCP/IP的理解,同时要学会高并发式服务器的编写。
    5. 数据库编程
    数据库的内容其实并不属于Linux,但在项目中经常要用到。这部分主要要学会数据库的基本操作,以及如何写一套接口去操作数据库。
    6. Shell编程
    Shell是Linux下的脚本语言,功能虽然不如高级语言强大,但它可能做很多事,在某些场合甚至比高级语言要方便得多。当然除了Shell脚本,还有Python脚本。

    Copyright 2018-2019 xz577.com 码农之家

    版权责任说明