喜欢0次
蜂鸟e203实现的是物理地址,硬件端与软件端的地址分配相同,从而确定软件开发过程中能操作底层寄存器。
硬件端:在总线分发模块sirv_icb1to16_bus定义好各个端口寄存器的地址区间,
软件端:在程序设计的驱动文件platform.h内也有对应地址区间的宏定义
例如:GPIO_REG(GPIO_OUTPUT_VAL) |= (0x1 << RED_LED_OFFSET);
GPIO_REG为基地址,GPIO_OUTPUT_VAL为偏移量,从而确定了要操作的寄存器的绝对地址。
同样地,在做上电复位时,可以配置pc_rtvec使得程序从不同的内存空间启动。