嵌入式常见面试题总结(10)_can常用面试题

本文总结了嵌入式领域的常见面试问题,涉及DMA传输的四个步骤、中断的上半段和下半段概念、运算符优先级以及CAN总线的工作原理和特点。理解这些内容对于掌握嵌入式系统和设备驱动至关重要。
摘要由CSDN通过智能技术生成

3,只有在调用ioperm或者iopl后才可以访问I/O端口。然而并不是所有平台都支持两个系统调用,并且访问/dev/port可能非常慢,因而并非十分有效。同样只有特权用户才能引用这些系统调用和访问设备文件;

相应时间很慢。这是因为在客户端和硬件之间传递数据和动作需要上下文切换;

5,更严重的是,如果驱动程序被换到磁盘,相应时间将令人难以忍受。使用mlock系统调用或许可以缓解这一问题,但由于用户空间程序一般需要链接多个库,因此通常需要占用多个内存页。同样,mlock也只有特权用户才能使用;

6,用户空间中不能处理一些非常重要的设备,包括(但不限于)网络接口和块设备等。

92**,DMA原理?**

**答:**一个完整的DMA传输过程必须经过下面的4个步骤。

(1)DMA请求:CPU对DMA控制器初始化,并向I/O接口发出操作命令,I/O接口提出DMA请求。

(2)DMA响应:DMA控制器对DMA请求判别优先级及屏蔽,向总线裁决逻辑提出总线请求。当CPU执行完当前总线周期即可释放总线控制权。此时,总线裁决逻辑输出总线应答,表示DMA已经响应,通过DMA控制器通知I/O接口开始DMA传输。

(3)DMA传输:DMA控制器获得总线控制权后,CPU即刻挂起或只执行内部操作,由DMA控制器输出读写命令,直接控制RAM与I/O接口进行DMA传输。

(4)DMA结束:当完成规定的成批数据传送后,DMA控制器即释放总线控制权,并向I/O接口发出结束信号。当I/O接口收到结束信号后,一方面停 止I/O设备的工作,另一方面向CPU提出中断请求,使CPU从不介入的状态解脱,并执行一段检查本次DMA传输操作正确性的代码。最后,带着本次操作结果及状态继续执行原来的程序。

由此可见,DMA传输方式无需CPU直接控制传输,也没有中断处理方式那样保留现场和恢复现场的过程,通过硬件为RAM与I/O设备开辟一条直接传送数据的通路,使CPU的效率大为提高。

参考:https://blog.csdn.net/dddd0216/article/details/50906504

93**,中断的上半段和下半段指?**

**答:**中断是一个很霸道的东西,处理器一旦接收到中断

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值