7、嵌入式设备驱动开发全解析

嵌入式设备驱动开发全解析

1. 断言禁用与测试要点

在开发过程中,如果要在生产环境禁用断言,那么最终测试和验证工作必须在禁用断言的情况下进行。因为评估断言表达式会影响实时性能,即便只是几个时钟周期,测试后改变执行时间也可能带来意想不到的后果。

2. 设备驱动模型

为微控制器开发底层驱动有多种方式,常见的有阻塞式和非阻塞式驱动模型。
- 阻塞式驱动 :对CPU有独占访问权,直到驱动操作完成才会释放CPU。例如嵌入式系统中的 printf 函数,调用时先格式化字符串,将第一个字符放入UART发送缓冲区,程序会等待该字符完全发送后再放入下一个字符,重复此过程直到所有字符发送完毕, printf 才会返回并允许下一行代码执行。这种驱动可能会严重影响嵌入式系统的实时性能,因此需要了解其最小、最大和平均执行时间。
- 非阻塞式驱动 :以非标准实现的 printf 函数为例,它会准备好字符串并将第一个字符放入发送缓冲区,字符进入缓冲区后 printf 就会返回主应用程序,允许其继续执行,同时字符在后台发送。应用程序通过中断检测字符发送完成,以便将下一个字符放入缓冲区。

下面是两种驱动模型的对比表格:
| 驱动类型 | 对CPU的占用 | 实时性能影响 | 复杂度 |
| ---- | ---- | ---- | ---- |
| 阻塞式驱动 | 独占,操作完成才释放 | 可能严重影响 | 简单 |
| 非阻塞式驱动 |

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值