RISC-V技术论坛
直播中

李鸿洋

11年用户 998经验值
擅长:可编程逻辑
私信 关注
[问答]

请问e203定义的地址空间是虚拟地址还是物理地址?

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

同样地,在做上电复位时,可以配置pc_rtvec使得程序从不同的内存空间启动。

                                                                                

更多回帖

发帖
×
20
完善资料,
赚取积分