e-tipsmemo

ごった煮

zybo 割り込み④ まとめ

e-tipsmemo.hatenablog.com
これらのまとめ
insmodの後に(デバイスが見つかったので)probeが呼ばれて幾つかのリソースの値を取得できている事がわかる。
もしprobeが呼ばれない場合は、compatibeが間違っていることやdevicetreeが間違っているなど。

zynq> insmod mysw.ko
probe
name:/amba_pl/mySw@43c10000
start:0x43c10000
size:0x00010000
irq_num:61
registered IRQ 61
zynq> interrupt occured 61
interrupt occured 61
zynq> cat /proc/interrupts
           CPU0       CPU1
 27:          0          0       GIC  27  gt
 29:       5389       5619       GIC  29  twd
 35:          0          0       GIC  35  f800c000.ocmc
 39:         43          0       GIC  39  f8007100.adc
 40:          0          0       GIC  40  f8007000.devcfg
 41:          0          0       GIC  41  f8005000.watchdog
 43:          0          0       GIC  43  ttc_clockevent
 45:          0          0       GIC  45  f8003000.dmac
 46:          0          0       GIC  46  f8003000.dmac
 47:          0          0       GIC  47  f8003000.dmac
 48:          0          0       GIC  48  f8003000.dmac
 49:          0          0       GIC  49  f8003000.dmac
 51:          0          0       GIC  51  e000d000.spi
 56:         79          0       GIC  56  mmc0
 57:          0          0       GIC  57  cdns-i2c
 61:          9          0       GIC  61  mySW_hoge
 72:          0          0       GIC  72  f8003000.dmac
 73:          0          0       GIC  73  f8003000.dmac

もっと実用的なデバイスドライバでは
仮想アドレスとのマッピングなど(?)を行うことなどが必要そうだ。
いろいろなサンプルや、やってみた記事がネットに溢れているがあまり一貫して最初から書いてあったものはなかったような気がしたので備忘録。