develop board

一般开发板有连个串口 UART0,UART1,均符合RS232标准

一般开发板上还会有一个JTAG调试接口

通过串口与宿主机之间进行文件传输速度是很慢的

RTC

Real-Time Clock: 实时时钟芯片

RTC经过8254电路生成一个频率较低的CPU时钟

CPU

所有的 CPU 通常都会从某个由 CPU 制造商预先设定的地址上取指令

bootloader, kernel, rootFS 空间布局

bootloader -> boot parameters ->  Kernel      ->   RootFs    ->   OtherFs
0x0(192K)                      0x30000(1856K)   0x200000(30M)  0x2000000(32M)

kernel

  • kernel 是资源中介,负责协调管理硬件资源;
  • kernel 在启动期间所做的最后一项工作是挂载根文件系统;
  • kernel 配置
    make menuconfig ,需要先安装下面的服务: sudo apt-get install libncurses5-dev
    内核文件在配置好之后都会产生.config文件
    make bzImage: 编译后生成压缩的内核二进制文件arch/arm/boot/
  • kernel src
    /arch(支持20多种体系结构处理器) /block /crypto(AES,SHA,CRC) /documentation /drivers /fs /include
    /init(内核初始化代码,包括main主函数) /kernel(进程调度等核心代码) /ipc /lib /mm /net
    /scripts(用于配置内核文件的脚本,内核文件有上千个配置) /security(SELinux模块) /sound /usr

UVC

Usb Video Class

通过USB线进行视频数据实时传送(UAC也类似)

给USB视频设备提供一个统一标准的数据交互规范,

有点类似于对专有驱动二次封装的DirectX

DVSDK: Digital Video SDK

VSSDK: Video Solution Software Developer’s Kit

EVB: Evaluation Board(评估板)

字符设备&块设备

字符设备块设备都要实现 read,write,open,close 系统调用

字符设备如:触摸屏,鼠标…; 块设备如:硬盘

字符设备数据的读取不经过系统的快速缓冲,块设备则相反

字符设备的数据只能顺序访问,而块设备可以按任意顺序访问

字符设备可以被当做普通文件来访问