第六篇 legacy方式代码的上机实验
参考资料:
查看芯片手册,选择一个保留的、未使用的GIC SPI中断即可。
看芯片手册第3章:
看上图,选择122号中断,它是SPI里的122号中断,GIC里的编号是(32+122)=154。
看芯片手册第21.2节:
看上图,选择210号中断,它是SPI里的210号中断,GIC里的编号是(32+210)=242。
可以通过devmem命令直接写GIC的PENDING寄存区。
GICD_ISPENDRn有多个寄存器,每个寄存器中每一位对应一个GIC中断,写入1就可以触发该中断。
写哪一个GICD_ISPENDRn寄存器?写哪一位?使用下列公式来确定:
查看内核设备树文件imx6ull.dtsi、stm32mp151.dtsi,可以知道:
芯片 | SPI中断号 | GIC中断号 | n,bit | GICD_ISPENDRn地址 | 命令 |
---|---|---|---|---|---|
IMX6LLL | 122 | 154 | 4,26 | 0xa01210 | devmem 0xa01210 32 0x4000000 |
STM32MP157 | 210 | 242 | 7,18 | 0xa002121c | devmem 0xa002121c 32 0x40000 |
export ARCH=arm
export CROSS_COMPILE=arm-buildroot-linux-gnueabihf-
export PATH=$PATH:/home/book/100ask_stm32mp157_pro-sdk/ToolChain/arm-buildroot-linux-gnueabihf_sdk-buildroot/bin
export ARCH=arm
export CROSS_COMPILE=arm-linux-gnueabihf-
export PATH=$PATH:/home/book/100ask_imx6ull-sdk/ToolChain/gcc-linaro-6.2.1-2016.11-x86_64_arm-linux-gnueabihf/bin