|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
题一:
2 w4 p1 n9 U8 U& Q7 N8 Alinux中断的响应执行流程?( w; C. |# g& \5 K6 k; K. I6 `' D, i
思考过后,再到下方寻找答案' X; N, X) p$ W' w6 [! C5 c n/ k7 R
" a" f' c' j }$ j, g
题二: 4 ?& a, B5 j8 W; q1 d/ P
自旋锁和信号量在互斥使用时需要注意哪些?在中断服务程序里面的互斥是使用自旋锁还是信号量?& w6 U. J+ h I q" ^2 P
思考过后,再到下方寻找答案
/ @1 y3 W# Z- B* n9 @
2 p- K- F9 j0 ^5 S% k9 `; _题三:
, q; `6 t9 q5 I6 I设备驱动模型三个重要成员是?platfoem总线的匹配规则是?
' M5 O- F$ O0 z) e- q U( I2 y 思考过后,再到下方寻找答案
3 t, N$ P6 Y! @" o$ J! T% s——————————————————————————————————————. U6 d7 X, I% Y% [! u( Y
题一答案:
0 h) Z% K, J3 R) p' E7 T8 h3 `处理器收到来自中断控制器的中断处理请求,保存中断上下文,跳转到中断对应的处理处,(快速完成中断中断上半部,中断上半部返回后执行中断下半部。如果做了上下半部处理的话),中断处理函数返回时恢复现场。
; Y: F4 q" `9 I; ~- T2 D1 z3 ~+ A
题二答案: 7 `* ^1 {4 x9 z0 }$ H
使用自旋锁的进程不能睡眠,使用信号量的进程可以睡眠。中断服务例程中的互斥使用的是自旋锁,原因是在中断处理例程中,硬中断是关闭的,这样会丢失可能到来的中断。& }3 x: C8 M- A% N! a1 ? n" M+ E
% H( s- r( D; s; K- W# m4 D9 n; C题三答案:
- }3 M- }6 A! W7 X* ?5 w: ~- k( x' A0 D+ m; s# R1 m/ Z) a
总线,设备,驱动。匹配规则就是当有一个新的设备挂起时,总线被唤醒,match函数被调用,用device名字去跟本总线下的所有驱动名字去比较。相反就是用驱动的名字去device链表中和所有device的名字比较。如果匹配上,才会调用驱动中的probe函数,否则不调用.7 M- G+ I0 a/ E9 K
( @4 k+ @7 V S1 V! {+ p6 m* t! _ |
|