// 再说明一下哈,你简历上写了你会驱动层,面试官才问,你不写,一般不会问。
// 临时就想到这些,有其他的再补充
目录
1、UBOOT的作用
可分为两个阶段:
①主要是在汇编文件start.S中进行的一些配置:cpu模式设置成svc模式、关看门狗、关闭mmu和cache、屏蔽中断、初始化内存、设置栈、设置时钟、代码重定位、清除bss段等。
②主要是读取和启动内核。
2、驱动包括哪几种,其区别是啥
①字符设备驱动:提供连续的数据流,数据是顺序读取,不能随机存取,比如鼠标键盘。(按字符或字节访问)
②块设备驱动:可以随机访问各个位置,例如FLASH。(按块的倍数读写)
③网络设备驱动:不存在于/dev下面,使用套接字进行网络通讯,例如网卡。
3、yaffs、jffs文件系统的不同
①YAFFS2主要用于NAND FLASH芯片。
②JFFS1、JFFS2主要用于NOR FLASH芯片。
// 对于小于64MB的NAND FLASH,可以选用JFFS2;如果超过64MB,用YAFFS2比较合适。
4、应用层与驱动层之间的通讯方式
①应用层的open()、read()、write()通过系统调用访问虚拟文件系统,再根据打开的文件进一步找相应驱动。(系统调用采用swi软件中断从用户模式(usr)陷入管理模式(svc))
②驱动层里的copy_