网管qqcc 嵌入式Linux系统开发技术详解--基于ARM(完整清晰版).pdf 第1章 概述 1 1.1 嵌入式系统 1 1.2 嵌入式操作系统 2 1.3 嵌入式Linux历史 4 1.4 嵌入式Linux开发环境 5 1.5 嵌入式Linux系统开发要点 7 第2章 ARM处理器 8 2.1 ARM处理器简介 8 2.1.1 ARM公司简介 9 2.1.2 ARM处理器体系结构 10 2.1.3 Linux与ARM处理器 12 2.2 ARM指令集 13 2.2.1 ARM微处理器的指令集概述 13 2.2.2 ARM指令寻址方式 15 2.2.3 Thumb指令概述 17 2.3 典型ARM处理器简介 17 2.3.1 Atmel AT91RM9200 17 2.3.2 Samsung S3C2410 18 2.3.3 TI OMAP1510/1610系列 19 2.3.4 Freescale i.Max21 22 2.3.5 Intel Xscale PXA系列 23 2.4 三星S3C2410开发板 24 2.4.1 三星S3C2410开发板介绍 24 2.4.2 众多的开发板供应商 26 第3章 Linux编程环境 28 3.1 Linux常用工具 28 3.1.1 Shell简介 28 3.1.2 常用Shell命令 30 3.1.3 编写Shell脚本 38 3.1.4 正则表达式 42 3.1.5 程序编辑器 44 3.2 Makefile 48 3.2.1 GNU make 48 3.2.2 Makefile规则语法 49 3.2.3 Makefile文件中变量的使用 51 3.3 二进制代码工具的使用 52 3.3.1 GNU Binutils工具介绍 52 3.3.2 Binutils工具软件使用 54 3.4 编译器GCC的使用 54 3.4.1 GCC编译器介绍 54 3.4.2 GCC编译选项解析 56 3.5 调试器GDB的使用技巧 60 3.5.1 GDB调试器介绍 60 3.5.2 GDB调试命令 61 3.6 Linux编程库 66 3.6.1 Linux编程库介绍 66 3.6.2 Linux系统调用 67 3.6.3 Linux线程库 70 第4章 交叉开发环境 73 4.1 交叉开发环境介绍 73 4.1.1 交叉开发概念模型 73 4.1.2 目标板与主机之间的连接 75 4.1.3 文件传输 76 4.1.4 网络文件系统 77 4.2 安装交叉编译工具 78 4.2.1 获取交叉开发工具链 78 4.2.2 主机安装工具链 79 4.3 主机开发环境配置 80 4.3.1 主机环境配置 80 4.3.2 串口控制台工具 81 4.3.3 DHCP服务 84 4.3.4 TFTP服务 85 4.3.5 NFS服务 86 4.4 启动目标板 88 4.4.1 系统引导过程 88 4.4.2 内核解压启动 89 4.4.3 挂接根文件系统 90 4.5 应用程序的远程交叉调试 91 4.5.1 交叉调试的模型 91 4.5.2 交叉调试程序实例 92 第5章 交叉开发工具链 94 5.1 工具链软件 94 5.1.1 相关软件工程 94 5.1.2 软件版本的匹配 95 5.1.3 工具链制作流程 97 5.2 制作交叉编译器 98 5.2.1 准备编译环境 98 5.2.2 编译binutils 99 5.2.3 编译GCC的辅助编译器 100 5.2.4 编译生成glibc库 101 5.2.5 编译生成完整的GCC编译器 105 5.3 制作交叉调试器 106 5.3.1 编译交叉调试器 106 5.3.2 编译gdbserver 106 第6章 Bootloader 108 6.1 Bootloader 108 6.1.1 Bootloader介绍 108 6.1.2 Bootloader的启动 109 6.1.3 Bootloader的种类 111 6.2 U-Boot编程 113 6.2.1 U-Boot工程简介 113 6.2.2 U-Boot源码结构 113 6.2.3 U-Boot的编译 114 6.2.4 U-Boot的移植 117 6.2.5 添加U-Boot命令 118 6.3 U-Boot的调试 121 6.3.1 硬件调试器 121 6.3.2 软件跟踪 121 6.3.3 U-Boot启动过程 123 6.3.4 U-Boot与内核的关系 128 6.4 使用U-Boot 133 6.4.1 烧写U-Boot到Flash 134 6.4.2 U-Boot的常用命令 134 6.4.3 U-Boot的环境变量 141 第7章 配置编译内核 143
2021-07-31 09:56:57 9.82MB 嵌入式 Linux 系统开发 ARM
1
1、Linux 基本命令操作 (1) 在 root 目录下建立以你自己学号为名字的目录。 (2) 在学号目录下,建立 st1 和 st2 两个目录。 (3) 在学号目录下,用 vi 或 cat 命令创建一个文件 hello.txt,文件内容: hello world 本人学号!(例如:hello world 153401010533!)。 (4) 查看 hello.txt 内容(cat)。 (5) 查看文件 hello.txt 权限属性(ls),修改文件权限属性(chmod)。例如:a. 给 同组用户(group)和其它用户(other)增加写权限;b.给同组用户(group) 和其它用户(other)去除读权限; c.将文件权限改为:rw_rw_rw_。 (6) 然后将 hello.txt 复制到 st1 文件夹下 。 (7) 将 st1 目录中的 hello.txt 改名为 helloworld 。 (8) 将 helloworld 移动到 st2 文件夹下。 (9) 删除 hello.txt 。 (10)删除 st2 目录。 (11)完成老师其它 linux 命令要求 。 2、vi 编辑器和 gcc 编译器的使用 11 编写代码用循环语句打印字母 a 填充的三角形 a aa aaa aaaa aaaaa aaaaaaa 要求: (1)在自己学号目录下,使用 Vi 编辑器创建和编辑 C 程序,文件名格式: 学生姓名首字母.c。(例如:黄兴 hx.c)。 (2)使用 gcc 编译程序。 (3)执行程序,显示运行结果。 (4)完成老师提出其它修改程序任务。
2021-07-30 20:22:04 247KB 实验报告 操作系统
1
详细记录了linux系统环境下,mysql数据库的安装和卸载步骤
2021-07-29 08:55:48 752KB linux mysql数据库
1
LINUX系统及编程基础.pdf---是你学习linux的非常全面的书籍,大学就是学的这本书,跟着这个学习非常好。
2021-07-29 08:14:54 94.07MB linux pdf
1
此demon是C++代码实现Linux系统PING包功能,源码在压缩文件src文件夹下,示例为./aout 192.168.1.1 (或加次数)
2021-07-28 17:18:37 222KB ICMP C++ LINUX
1
基于linux系统,通过一个gpio中断,计算上下沿的时间,来解析NEC红外遥控器的驱动,然后通过input子系统上报按键值。
2021-07-27 13:27:09 10KB linux NEC ir
1
Robert Love很早就成为一位Linux用户和黑客。他一直并且充满激情地活跃在Linux内核与GNOME桌面社区之中。他近来为Linux内核作出的贡献包括内核事件层方面的工作以及inotify,GNOME相关的贡献包括Beagle、GNOME:卷管理器、网络管理器以及Project Utopia等。目前,Robert供职于Google开源软件办公室。 书 名: Linux系统编程 作 者:(美)洛夫  出版社: 东南大学出版社 出版时间: 2009-7-1 ISBN: 9787564116347 开本: 16开 定价: 56.00元
2021-07-27 09:48:43 56.21MB Linux
1
linux系统 arm版本查询执行文件运行时依赖哪些库文件及其路径,在运行执行文件出错和移植第三方库的时候比较有用
2021-07-26 11:00:48 6KB linux
1
Linux系统下改进的软件加壳保护技术.pdf。
2021-07-25 23:51:05 272KB 软件保护 加壳
1
linux系统下完成类似windows读写ini文件的功能,封装了类似WritePrivateProfileString、GetPrivateProfileString、SetPrivateProfileInt、GetPrivateProfileInt等功能接口。
2021-07-25 10:49:23 7KB 读写ini文件类
1