嵌入式Linux开发——(十七)Linux设备驱动开发

一、字符设备驱动程序

1)应用程序、库、内核、驱动程序的关系

2)Linux驱动程序的分类和开发步骤

    ①Linux的外设可分为3类:字符设备(character device)、块设备(block device)、网络接口(network interface)

        A、字符设备:能够像字节流一样被访问的设备,就是说对它的读写以字节为单位,比如串口

        B、块设备:数据以块的形式存放,比如NAND Flash

        C、网络接口:具有字符设备和块设备的部分特点

    ②Linux驱动程序开发步骤

        A、查看原理图、数据手册、了解设备的操作方法

        B、在内核中找到相近的驱动程序,以它为模板进行开发,有时需要从零开发

        C、实现驱动初始化:向内核注册这个驱动

        D、设置所要实现的操作

        E、实现中断服务

        F、编译该驱动到内核中

        G、测试驱动程序

    ③驱动程序的加载和卸载

        使用insmod命令加载,使用rmmod命令卸载,使用lsmod命令查看内核中加载了哪些模块

3)字符设备驱动程序开发

    ①大概流程:

        A、编写驱动程序初始化函数

        B、构造file_operations结构中要使用到的各个成员函数

二、Linux异常处理体系结构

1)异常处理体系结构概述

    ①异常,就是可以打断CPU正常进行流程的事件,比如外部中断、未定义的指令、试图修改只读的数据、执行swi指令等,当          这些事件发生时,CPU暂停当前的程序,先处理异常事件,再继续执行被中断程序

    ②常见异常

        A、未定义指令异常

        B、指令预取中止异常

        C、数据访问中止异常

        D、中断异常

        E、swi异常

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值