加入收藏 | 设为首页 | 会员中心 | 我要投稿 云计算网_泰州站长网 (http://www.0523zz.com/)- 视觉智能、AI应用、CDN、行业物联网、智能数字人!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

裸机驱动与Linux设备驱动的差异

发布时间:2021-12-13 12:07:02 所属栏目:PHP教程 来源:互联网
导读:裸机驱动一般针对没有操作系统支持的层面,不用考虑操作系统对它的调用。 Linux驱动是在裸机驱动基础上,按照一定的规范来实现, 虽然实现的都是同一个东西,不过你发现在 Linux驱动 搀杂 了许多维护信息。 总之,Linux设备驱动就是比裸机驱动多了一些框架。 裸

裸机驱动一般针对没有操作系统支持的层面,不用考虑操作系统对它的调用。
 
Linux驱动是在裸机驱动基础上,按照一定的规范来实现, 虽然实现的都是同一个东西,不过你发现在 Linux驱动 搀杂 了许多维护信息。
 
总之,Linux设备驱动就是比裸机驱动多了一些框架。
 
裸机底层驱动设计方法:
 
所谓裸机在这里主要是指系统软件平台没有用到操作系统。在基于ARM处理器平台的软件设计中,如果整个系统只需要完成一个相对简单而且独立的任务,那么可以不使用操作系统,只需要考虑在平台上如何正确地执行这个单任务程序。不过,在这种方式下同样需要一个Boot Loader,这个时候的Boot Loader一般是自己写的一个简单的启动代码加载程序。大家所熟悉的各种Boot Loader下的设备驱动,其实就是很好的裸机驱动程序。比如说U-Boot下的网卡驱动、串口驱动、LCD驱动等。
 
在裸机方式下,ARM的软件集成开发环境就显得极为重要,因为在这种方式下可以把所有代码都放在这个环境里面编写、编译和调试。在这种方式下测试驱动程序,首先要完成CPU的初始化,然后把需要测试的程序装载到系统的RAM区/或者SDRAM中。当然,如果需要处理一些复杂的中断处理的话,最好也把CPU的复位向量表放到RAM区中。把所有程序都调试好之后,再把最后的程序烧写到Flash里面去执行。
 
BOOTLOADER 对NANDFLASH的操作是为读取(装载)存储在NAND上的内核,当内核已由BOOTLOADER 读取到内存中去后,系统控制权交有内核控制,此时,一般是BOOTLOADER中的一些参数内核需要用到,其它基本上没有用了,原来用于存放BOOTLOADER的内存(有的开发板NANDFLASH中有前面的4K存储空间与内存地址重叠,小点的BOOTLOADER可一直接在这4K 的空间中执行)基本上可以由内核回收利用,所以内核不会用到BOOTLOADER上的NAND的驱动,也就就是内核需要自己的NANDFLASH驱动,不然文件系统无法加载。

(编辑:云计算网_泰州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读