注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络操作系统Linux初入职场之嵌入式Linux开发快速上手

初入职场之嵌入式Linux开发快速上手

初入职场之嵌入式Linux开发快速上手

定 价:¥35.00

作 者: 祁德春 编著
出版社: 电子工业出版社
丛编项:
标 签: LINUX

购买这本书可以去


ISBN: 9787121120794 出版时间: 2010-11-01 包装: 平装
开本: 16开 页数: 241 字数:  

内容简介

  《初入职场之嵌入式Linux开发快速上手》介绍了作者初入职场从事嵌入式Linux开发,从不知所措到独立承担项目的过程中所遇到的种种问题,在简要说明原理的同时,还配有完整的实例代码,并对问题进行了详细的分析和解答。书中第一部分简要介绍嵌入式Linux开发基础,重点是第二部分,剖析了常见shell编程、socket编程、多线程编程及同步、多线程通信中的问题,以及常见死机问题等。《初入职场之嵌入式Linux开发快速上手》立足于实际研发,适合于初入职场的软件开发人员,准备从事嵌入式Linux开发的人员,以及计算机、电子相关专业的学生阅读。

作者简介

暂缺《初入职场之嵌入式Linux开发快速上手》作者简介

图书目录

第1章 嵌入式Linux基础
1.1 什么是嵌入式Linux
1.2 嵌入式Linux的特点
1.3 嵌入式Linux的应用范围
1.4 嵌入式Linux的开发模式
1.5 嵌入式Linux发展面临的挑战
1.6 嵌入式Linux的发展前景
1.7 嵌入式Linux应用程序开发必备技能
第2章 搭建Linux开发服务器
2.1 Fedora概述
2.2 VMware workstation概述
2.3 Fedora5的安装
2.4 配置linux服务器
2.4.1 怎样开通常用网络服务
2.4.2 ping不通Linux主机怎么办
2.4.3 由telnet连不上Linux主机怎么办
2.4.4 怎样让root用户telnet到主机
2.4.5 怎样配置Samba服务器——创建登录用户
2.4.6 怎样配置Samba服务器
2.4.7 登录主机提示找不到网络路径怎么办
2.4.8 登录主机提示指定的网络名不再可用怎么办
2.4.9 tftp下载主机文件超时怎么办
2.4.10 NFS配置——开启服务并添加共享文件夹
2.4.11 NFS配置——共享目录不能被挂载怎么办
2.4.12 怎样修改File Browser风格——显示地址栏
2.4.13 怎样修改Linux主机的屏幕分辨率
2.4.14 怎样修改Linux主机的网络接入方式
2.4.15 Fedora 5安装完毕以后不能添加/删除软件怎么办
2.4.16 Fedora 5不能在SCSI虚拟硬盘上安装怎么办
第3章 常用Linux命令介绍
3.1 常用命令介绍
3.1.1 文件管理命令
3.1.2 备份压缩
3.1.3 磁盘管理和维护
3.1.4 系统管理和维护
3.1.5 文档搜索和查找
3.1.6 网络相关
3.2 常见问题探讨
3.2.1 cp和scp拷贝丢失符号链接怎么办
3.2.2 fgrep搜索时感觉很慢怎么办
3.2.3 烧写NAND Flash后文件系统校验出错怎么办
3.2.4 怎样在开发板上查看内核版本和硬件平台
3.2.5 怎样查看/设置/删除默认网关
3.2.6 设置默认网关显示网络不可达怎么办
3.2.7 怎样通过命令设置DNS地址
3.2.8 busybox命令date设置时间出错怎么办
3.2.9 busybox命令udhcpc不能设置IP地址怎么办
3.2.10 busybox命令telnetd让其他主机连接失败怎么办
3.2.11 怎样在开发板上格式化U盘并创建文件系统
3.2.12 怎样在开发板上挂载U盘
第4章 搭建嵌入式Linux开发环境
4.1 搭建嵌入式开发环境
4.1.1 搭建交叉编译环境
4.1.2 编译内核
4.1.3 编译标准函数库
4.1.4 编译bootloader
4.1.5 开发编译应用程序
4.1.6 在Linux上开启tftp、nfs、ssh、telnet等服务
4.1.7 使用超级终端远程登录
4.1.8 构建嵌入式Linux根文件系统
4.1.9 制作根文件系统镜像
4.2 常见问题探讨
4.2.1 了解Windows编程
4.2.2 不会写驱动和u-boot怎么办
4.2.3 不会写makefile怎么办
4.2.4 SecureCRT特别配置
4.2.5 Linux内核配置时M不能修改怎么办
4.2.6 开发板上/proc中没有scsi文件夹怎么办
4.2.7 开发板上/proc/bus/usb中没有设备信息怎么办
4.2.8 开发板上/sys为空怎么办
4.2.9 开发板启动时找不到init进程的原因
4.2.10 怎样进行只读文件系统调试
4.2.11 采用NFS调试时出现RPC错误的原因
4.2.12 烧写jffs2镜像之后重启很慢的原因
4.2.13 无法找到\libstdc++.so.6\怎么办
4.2.14 不能执行二进制文件怎么办
4.2.15 errno是否线程安全
4.2.16 注意bootloader传给内核的启动参数
4.2.17 怎样在内核drivers目录下添加模块
4.2.18 怎样实时监测USB等hotplug设备
第5章 如何移植开源代码
5.1 交叉编译开源代码
5.1.1 下载开源代码
5.1.2 在host上运行程序
5.1.3 交叉编译
5.2 在开发板上运行
5.3 开源代码向工程中移植
5.4 常见问题探讨
5.4.1 版本的选择
5.4.2 执行configure脚本失败时怎么办
5.4.3 链接以两个下划线开头的函数显示未定义怎么办
5.4.4 某些源文件不能编译时的解决办法
5.4.5 交叉编译的文件在开发板上的放置位置
5.4.6 在程序中调用交叉编译的程序
5.4.7 移植的程序运行时写文件失败的原因
5.4.8 源码移植时的注意事项
第6章 简单shell编程
6.1 什么是shell
6.2 &命令
6.3 shell输入与输出——echo和管道(|)
6.3.1 echo
6.3.2 管道(|)
6.4 正则表达式
6.5 shell变量——本地变量、环境变量、位置变量参数
6.5.1 本地变量
6.5.2 环境变量
6.5.3 位置变量参数
6.6 引号的使用——双引号、单引号、 反引号、反斜线
6.6.1 双引号
6.6.2 单引号
6.6.3 反引号
6.6.4 反斜线
6.7 条件测试
6.7.1 文件状态测试
6.7.2 逻辑操作符
6.7.3 字符串测试
6.7.4 数值测试
6.8 shell的流控制结构——流控制和循环
6.8.1 流控制
6.8.2 循环
6.9 使用shell函数
6.10 shell编程实践
6.11 常见问题
第7章 socket编程
7.1 常用函数介绍
7.2 编程实例
7.2.1 使用select实现超时连接
7.2.2 非阻塞数据收发操作
7.2.3 简单服务器
7.2.4 加入组播
7.2.5 组播服务器
7.3 常见问题探讨
7.3.1 怎样实现内核级PPP拨号程序
7.3.2 PPPOE拨号一直不成功怎么办
7.3.3 PPPOE拨号成功获取IP地址但不能上网怎么办
7.3.4 给ppp0设置了默认网关仍不能上网怎么办
7.3.5 通过system函数启动PPPOE拨号死机怎么办
7.3.6 非法关机导致pppoe下次连接失败怎么办
7.3.7 PPPOE拨号上网是否要加包过滤
7.3.8 IP地址设置成功后仍ping不通同网段内其他主机怎么办
7.3.9 错误SIOCADDRT: Network is unreachable的原因分析
7.3.10 修改socket接收缓冲区大小的方法
7.3.11 修改内核中IGMP支持版本的方法
7.3.12 错误Too many open files in system的原因分析
7.3.13 接收HTTP或RTSP应答数据时的注意事项
7.3.14 注意select设置超时的方式
7.3.15 域名解析花费时间长的解决办法
7.3.16 非阻塞socket无限等待的解决办法
7.3.17 用setsockopt+SO_SNDTIMEO实现连接超时
7.3.18 调用setsockopt时出现错误No such device的解决办法
7.3.19 断电重启以后连接服务器失败的解决办法
第8章 多线程编程
8.1 线程管理函数
8.2 线程属性操作函数
8.3 实例讲解
8.3.1 创建线程并查看其属性
8.3.2 pthread_exit的错误用法
8.3.3 自封装函数create_thread
8.4 多线程同步
8.4.1 互斥锁(mutex)常用函数介绍
8.4.2互斥锁的两种初始化方式及应用
8.4.3 信号量(semaphore)常用函数介绍
8.4.4 二值信号量应用——互斥锁
8.4.5 多值信号量应用——停车场问题
8.5 多线程通信
8.5.1 通过全局变量通信
8.5.2 系统V消息队列
8.5.3 POSIX消息队列
8.5.4 自封装消息队列
8.6 常见问题探讨
8.6.1 使用多线程的好处
8.6.2 程序运行到pthread相关函数时阻塞怎么办
8.6.3 线程被取消后用ps还能看到其PID怎么办
8.6.4 在嵌入式Linux上是否使用实时优先级
8.6.5 嵌入式Linux线程分离属性的设置
8.6.6 用kill系统调用终止线程的隐患
8.6.7 用pthread_kill终止线程
第9章 常见死机问题探讨
9.1 常见死机及原因分析
9.1.1 打印函数输出格式或者参数顺序不对
9.1.2 除数为0
9.1.3 应用程序链接不匹配的库文件或驱动
9.1.4 操作未初始化的指针
9.1.5 操作空指针
9.1.6 系统内存耗尽
9.1.7 重复释放同一块内存
9.1.8 free释放栈内存
9.1.9 malloc/new返回的地址被修改
9.1.10 内存越界
9.1.11 分配过大的栈内存
9.1.12 分配过大的静态内存
9.1.13 递归调用导致栈内存不够
9.1.14 操作“野指针”
9.1.15 未调用模块的初始化函数
9.1.16 混用名称和功能相近的函数
9.1.17 平台问题
9.1.18 平台编译规则引起的死机
9.1.19 程序编译不完全
9.2 死机调试
9.2.1 gdb远程调试
9.2.2 抓取死机core文件
9.3 死循环
9.3.1 无符号数和0比较作为循环条件
9.3.2 循环退出条件不当
9.3.3 链表操作不当
9.4 关键任务死锁或阻塞
9.4.1 关键任务调用阻塞函数
9.4.2 嵌套调用mutex或semaphore
9.4.3 操作消息队列时无限等待
附录
后记

本目录推荐