裸机驱动与Linux设备驱动的区别
来源:互联网 发布:php shorttime 编辑:程序博客网 时间:2024/05/30 05:16
裸机驱动一般针对没有操作系统支持的层面,不用考虑操作系统对它的调用.
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驱动,不然文件系统无法加载。
- 裸机驱动与Linux设备驱动的区别
- 裸机驱动与Linux设备驱动的区别
- 【面试】嵌入式软件与非嵌入式软件、设备驱动与裸机驱动开发区别
- 嵌入式软件与非嵌入式软件、设备驱动与裸机驱动开发区别
- Linux设备驱动,总线,设备,驱动区别
- 字符设备驱动与块设备驱动、网络设备驱动的区别
- linux platform 设备与驱动的匹配
- linux设备驱动的编译与下载
- linux 设备与驱动的绑定
- linux设备驱动的并发与竞争
- 基于mini6410的linux驱动学习总结(二 字符设备与块设备的区别)
- linux设备驱动与加载
- 关于设备模型、设备与驱动关联的过程分析 - linux设备/驱动
- Linux 总线、设备与设备驱动的关系
- linux 驱动-----字符设备驱动的组成
- 《Linux驱动》混杂设备与设备节点
- 《Linux总线、设备与驱动》USBHID设备驱动
- 《Linux总线、设备与驱动》USBHID设备驱动
- C# 文件分页读取
- 项目经理杂谈(上)
- 欧拉路/回路_并查集 NYOJ 42 一笔画问题
- [C#] DBNull、Null和String.Empty的区别
- 调度程序体系结构
- 裸机驱动与Linux设备驱动的区别
- Hibernate配置文件标签理解(更新ing)
- 项目经理杂谈(下)
- 孙鑫视频VC++深入详解学习笔记(全)
- SharePoint 2010 Ribbon with wrong style in Chrome and Safari
- poj 2406(kmp)
- apk和odex的合并,让软件成为完整的apk包以便反编译
- C++ primer 习题答案
- Stanford Algorithms: Design and Analysis, Part 1 [Final Exam]