|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
题一: . k4 o( I9 N1 v' N7 t
linux中断的响应执行流程?
3 n; E( [ r6 Q& I9 v) \思考过后,再到下方寻找答案
+ p! S& w9 _# k+ r) R/ t- V' F0 a" \$ e+ J2 d2 Y$ e
题二:
# m5 t7 O' ~9 Q! Q2 R4 h自旋锁和信号量在互斥使用时需要注意哪些?在中断服务程序里面的互斥是使用自旋锁还是信号量?
6 v9 C% Z1 F% P思考过后,再到下方寻找答案) s( G1 O4 l; f$ x
2 U+ |7 W! n% c: B, Z1 ?+ b
题三:
% x& E; v7 P! U9 L设备驱动模型三个重要成员是?platfoem总线的匹配规则是?
7 Q& `8 Y. h2 W8 h* l 思考过后,再到下方寻找答案 3 R; h' ~+ d( E$ P6 {
——————————————————————————————————————" T! n5 s& J- H6 V: C7 a9 S# v& z
题一答案:: ^; d5 P, O/ T( B$ J7 T" h6 S; C
处理器收到来自中断控制器的中断处理请求,保存中断上下文,跳转到中断对应的处理处,(快速完成中断中断上半部,中断上半部返回后执行中断下半部。如果做了上下半部处理的话),中断处理函数返回时恢复现场。
/ j' s# c3 Z- t& ?' S
/ \# A) Z$ r7 r0 t$ g7 E% w: ]* [题二答案:
! L9 Y2 I4 C3 w: X 使用自旋锁的进程不能睡眠,使用信号量的进程可以睡眠。中断服务例程中的互斥使用的是自旋锁,原因是在中断处理例程中,硬中断是关闭的,这样会丢失可能到来的中断。" ^3 ^& h* |; [, f; t5 l0 F0 H
" O/ {0 T% X& t d# T0 w, ~& _5 O
题三答案:
+ e$ M( U- e! b% n$ B9 [ C- `, w/ G. _! r) x! K3 g8 G+ w
总线,设备,驱动。匹配规则就是当有一个新的设备挂起时,总线被唤醒,match函数被调用,用device名字去跟本总线下的所有驱动名字去比较。相反就是用驱动的名字去device链表中和所有device的名字比较。如果匹配上,才会调用驱动中的probe函数,否则不调用.& @, z# t7 \' B2 X9 G. d
, p: k% p+ I' ]7 O L+ l |
|