近来看到很多网友在学习嵌入式的时候不知道ARM是怎么执行程序的。
1.实际上是ARM在上电的时候PC是从0开始的,不论什么CPU都是这样的。它会发出一个读信号(30bit),里面包含了指令和r0~r12的寄存器操作
2.通过AMBA总线的时候,会从总线上找到这个地址,如果你的地址是norflash控制器的地址范围,还是DDR控制器地址范围,controller地址译码器会自动片选CS置0。说到这个的时候,貌似有很多软件一直认为这个cs片选信号是软件控制的。其实是controller的地址译码后自动选择的。这个你只需设置好controller的register。然后这个32bit数据在译码器中被解释成指令和数据。