《RISC-V体系结构编程与实践》的benos_payload程序——mysbi跳转到benos分析

1、benos_payload.bin结构分析

韦东山老师提供的开发文档里已经对程序的结构做了分析,这里不再赘述,下面是讨论mysbi跳转到benos的问题;

2、mysbi跳转到benos的代码

3、跳转产生的疑问

我认为mysbi.bin最后跳转到0x22000地址处执行,此时benos.bin代码不在0x22000地址处,需要代码重定位,但是在mysbi.bin的源文件中并没有进行代码重定位;

4、实际的程序加载内存布局

(1)产生疑问的原因:错误的认为benos_payload.bin是紧凑排布的,实际上根据链接脚本,在生成bin文件时已经考虑了偏移量,中间部分被用0填充,可以使用二进制查看软件分析benos_payload.bin,能看到文件0x2000偏移处正好是benos.bin;

(2)结论:将benos_payload.bin加载在IRAM中后,0x22000地址处已经是benos.bin,所以不需要代码重定位;

相关推荐
ChipCamp2 天前
零门槛上手的RISC-V项目:nerv(附Verilog-vs-SysVerilog)
risc-v·systemverilog·interface·nerv·modport
ChipCamp2 天前
零门槛上手的RISC-V项目:蜂鸟e203(附RTL-Hierarchy欣赏小技巧)
risc-v·verilator·iverilog·蜂鸟e203·rtl-hierarchy
国科安芯4 天前
商业立方星平台中高集成度抗辐射MCU的功耗优化与批量化应用可行性探讨
单片机·嵌入式硬件·架构·risc-v·抗辐射·as32x601
RISCV_Explorer5 天前
RISC-V RVV向量性能调优实战——LMUL与SEW参数选型、访存瓶颈判断与微基准方法
risc-v
国科安芯8 天前
星载通信载荷信号处理中抗辐射微控制器的选型与适应性分析
人工智能·嵌入式硬件·mcu·信号处理·risc-v·抗辐射·空间信息
RISCV_Explorer9 天前
RISC-V RVV向量编程模型机制解析——vsetvl配置、掩码与尾元素策略及长度无关编程
后端·risc-v
RISCV_Explorer9 天前
RISC-V电源管理与低功耗实战——WFI指令、电源域划分与唤醒路径设计
单片机·嵌入式硬件·risc-v
ChipCamp9 天前
Spike-pk在RISC-V RTL开发验证中的应用:黄金参考基准
risc-v·spike·difftest·co-simulation·spike-pk·riscv-pk
Hi202402179 天前
Vortex CUDA 生态适配:让 CUDA C、CUTLASS 与 Triton 在 RISC-V GPGPU 上运行
人工智能·risc-v·gpgpu
国科安芯10 天前
用 AS32X601 做一块关节电机驱动板:三相桥、电流采样、封波保护、FOC 代码一次讲透
risc-v·foc·bldc·关节电机·机器人关节·as32x601·三相逆变桥