0、嵌入式系统开发流程:
1、S5PV210内部结构图
2、S5PV210系统启动三阶段正解
根据S5PV210芯片手册第6章所述S5PV210 consists of 64KB ROM and 96KB SRAM as internal memory(意思210芯片有两块片上内存,ROM:64KB,SRAM:96KB),并且在系统启动的时候这两块片上内存各有所用。
启动分3个阶段,详情且看下图:
1、iROM code: 包含一些较小简单的代码
iROM code存放在210内部64kB的ROM中,用于初始化系统时钟,堆栈等
2、从外设(NAND/SD/MMC/oneNAND等)存储设备拷贝前96KB代码到SRAM。其中这96KB的代码分为两部分(First Bootloader and second Bootloader)
当这段代码成功执行完后会加载第二部分的启动代码,并且会根据启动方式键值检测启动方式。
First Bootloader: 较短的初始化代码,用于初始化系统硬件资源,如中断向量、看门狗、TLB、MMU以及内存等;程序存放在外部memory device上,由iROM把这部分代码从外部boot device上读取到内部96KB的SRAM中。First bootloader执行完后接着就加载Second bootloader。
Second bootloader: 较大的代码,初始化系统时钟,UART和DRAM控制器,
3、通过 Second bootloader代码段的初始化工作后把操作系统镜像从外设(NAND/SD/MMC/oneNAND等)存储设备拷贝到DRAM中,启动就此完成,接着 Second bootloader跳跳转运行操作系统。
3、嵌入式Linux文件I/O操作
底层文件操作函数包括:open、close、read、write、ioctl、lseek、fcntl、select、poll
标准I/O操作函数包括:fopen、fclose、fread、fwrite
4、嵌入式Linux多任务编程
1、任务、进程及线程的关系
2、进程控制——fork
3、进程间通信(3种管道、信号、信号量、共享内存、消息队列)
4、多线程——pthread
5、嵌入式Linux网络编程
1、TCP
2、UDP
3、套接字
6、嵌入式Linux驱动编程
1、设备分类:块设备、字符设备、网络设备
2、系统结构
7、嵌入式Linux应用编程
1、C语言程序开发
2、Qt界面开发
3、MiniGUI界面开发
4、X11多媒体程序开发
5、Android程序开发
6、网络通讯开发