嵌入式linux系统与应用
Emebedded System and Application(Linux)
Goal
--
掌握嵌入式系统开发的流程,系统移植的方法,编写Bootloader
(Be familiar with the process of ES Developing
, System Migration
amd Bootloader Programming
)
Requriement
--
C、C++、Data Structure、Operating System、Linux、Electronic circuit
Content
--
1
Linux 快速入门
Linux 概述; Linux发行版;
Linux开发环境搭建-vmware虚拟机;Linux系统安装
Linux的基础知识; Linux文件系统和文件; Shell的使用;
常用的shell命令;Linux的软件安装;
Linux 下的C语言编程基础;Linux下VIM的使用;
编译器GCC的使用;调试器gdb的使用;
Linux下多文件编译与项目管理工具make的使用;
2
C语言基础强化
C语言语法
C语言的内存布局与常见库函数
3
数据结构基础强化
链表、队列、栈、树、哈希表
数据搜索、遍历、排序与常见算法
4
C++语言基础强化
面向对象的编程方法 类及对象的封装 类的继承与派生
虚函数与多态性 构造函数与虚构函数 模板 异常处理
5
ARM硬件接口
嵌入式微处理器 ARM寄存器 ARM工作模式
ARM异常中断 ARM汇编指令分类 ARM汇编指令寻址方式
ARM汇编程序设计 C及汇编语言混合编程
实验:
基本ARM汇编指令编程;数据访问练习;
ARM汇编和C混合编程;ARM指令和THUMB指令混合编程
MDK开发环境使用 U-Linuk仿真器使用
ARM开发调试环境建立 ARM GPIO应用
ARM存储器控制器 ARM中断控制器(IRQ和FIQ)
实验:
ARM汇编语言与C语言实现跑马灯;
IRQ与FIQ中断流程分析
ARM时钟及定时器;TFT LCD驱动程序设计
实验:
看门狗定时器应用;LCD显示曲线及图片;
LCD汉字显示实验;
ADC控制器应用;触摸屏应用及校准
实验:
ADC应用实验;触摸屏实现实验
PWM时钟应用;实时时钟及闹钟应用
实验:
蜂鸣器控制;实时时钟及闹钟应用;
ARM工作模式转换;ARM启动代码设计
NOR Flash应用设计;NAND Flash应用设计
IIC总线控制器
实验:
NOR Flash编程;NAND Flash编程;
6
交叉开发环境搭建
嵌入式系统定义;Linux交叉开发环境介绍;
GNU交叉工具链的使用;宿主机与PC机间的通信;
串口通信;交叉调试;
实验:
Minicom配置使用,Windows超级终端配置实验;
NFS共享设置实验
7
Linux下C语言开发
文件I/O操作编程;
相关文档:
一:前言
最近在研究android的sensor driver,主要是E-compass,其中用到了Linux input子系统.在网上也看了很多这方面的资料,感觉还是这篇分析的比较细致透彻,因此转载一下以便自己学习,同时和大家分享!
(这篇博客主要是以键盘驱动为例的,不过讲解的是Linux Input Subsystem,可以仔细的研究一下!)
键盘驱动将检 ......
五、 ipt_do_table()函数,数据包的过滤
5.1 ipt_entry 相关结构 ip_tables.h
ipt_entry结构前面有过了,再看一遍
struct ipt_entry
{
struct ipt_ip ip;
/* 所要匹配的报文的IP头信息 */
unsigned int nfcache;
/* 位向量,标示本规则关心 ......
Linux环境进程间通信(五):
共享内存(上)
文档选项
<tr
valign="top"><td width="8"><img alt="" height="1" width="8"
src="//www.ibm.com/i/c.gif"/></td><td width="16"><img alt="" wid ......
1、class的定义一定要在后面加“;”
2、用cout时要在main函数前加 using namespace std;
3、出现 undefined reference to `std::ios_base::Init::Init() 提示的话,问题是gcc编译器出现的,解决的办法是:在linux下编译c++ 程序要使用g++ 编译器,如果你要是使用gcc编译器就会有上面的报错信息,只要在在gcc后加 ......
Linux 编译安装 MYSQL 5.1 与 Innodb
编译mysql5
代码:
./configure \
--prefix=/usr/local/mysql \
--localstatedir=/usr/local/mysql/data \
--with-unix-socket-path=/usr/local/mysql/tmp/mysql.sock \
--with-extra-charsets=all \
--with-charset=utf8 \
- ......