140 likes | 321 Views
实验一:构建基于 SoCLib 的单核 SoC. 王 洁、袁子超. 单核 SoC 硬件平台. 地址空间分配( Memory Table ). ADDRESS SPACE SEGMENTATION ( ./HW/ segmentation.h ):. 地址空间分配( Memory Table ). 代码定义( ./HW/top.cpp ):. Memory Table:. SoC 启动 过程 (有 bootloader ). 执行流程. 输入程序及数据存放. 放入了 MEMORY 中. 存放方法实现代码( ./HW/top.cpp ):. 运行结果.
E N D
实验一:构建基于SoCLib的单核SoC 王洁、袁子超
地址空间分配(Memory Table) ADDRESS SPACE SEGMENTATION(./HW/segmentation.h):
地址空间分配(Memory Table) 代码定义(./HW/top.cpp): Memory Table:
SoC启动过程(有bootloader) 执行流程
输入程序及数据存放 放入了MEMORY中 存放方法实现代码(./HW/top.cpp):
运行结果 存放在帧缓存(VCI_FRAMEBUFFER:0xC4000000)中 代码实现(./SW/mjpeg_seq/sources/dispatch.c):
性能评估:运行代码所用时间统计 调用: 代码实现(./SW/mjpeg_seq/sources/dispatch.c):
单核SoC实验步骤 • 实验平台搭建安装 • 修改示例源代码 • 分别编译HW和SW部分 • 运行示例获得结果
修改源代码 • 按照指导步骤依次修改一下文件: • HW • top.cpp • segmentation.h • platfor_desc • SW • fetch.h • dispath.c • mips
源代码问题 • 问题一: • 在添加Signals部分,对fd_access中操作: soclib::caba::VciSignals<vci_param>signal_vci_fd_access("signal_vci_fd_access"; 改为 soclib::caba::VciSignals<vci_param>signal_vci_fd_access("signal_vci_fd_access");
问题二解决办法: • 修改HW中的segmentation.h • 将#define DATA_BASE 0xE0000000 • 修改为#define DATA_BASE 0x20000000 • 修改 “/SW/mjpeg_seq/ldscripts/mips” • 将.sdata 0xE0000000 : { *(.sdata*) *(.scommon*) } > data :data • 修改为.sdata 0x20000000 : { *(.sdata*) *(.scommon*) } > data :data