文章目录
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 系统调用
字符设备如:触摸屏,鼠标…; 块设备如:硬盘
字符设备数据的读取不经过系统的快速缓冲,块设备则相反
字符设备的数据只能顺序访问,而块设备可以按任意顺序访问
字符设备可以被当做普通文件来访问