实验目标
通过GPIO使能Pi上ACT/OK灯,从而了解GPIO口。
代码分析
ldr r0,=0x20200000 |

通过上表我们可以知道GPIO口是以0x20200000作为开始的,那么此时r0寄存器中保存的就是基址。
mov r1,#1 |

根据以上两张图我们可以知道将地址0x20200000的第18位置1,相当于将GPIO16设置为output,此处GPIO16就是我们要点亮的ACT灯的输出位置。
在正式点亮ACT灯之前,树莓派还要求将GPIO16口进行清除操作
mov r1,#1 |
根据图标显示我们有了以上代码,将物理地址0x20200028里的第16位设置成1,代表着清除GPIO16。
可以将以上代码理解成初始化步骤,接下里就让Pi在一个无限循环的loop里工作。
loop$: |
此时使用make指令,将生成的kernel.img文件进行更换,可以观察到Pi的ACT灯亮起,实验结束。