韦东山D1S板子——利用xfel工具初始化内置64MB内存,并直接下载程序到内存运行

news2025/7/22 5:45:04

1、前言

(1)最近使用韦东山老师的D1S板子学习RISC-V架构知识,我是结合《RISC-V体系结构编程与实践》这本书的进行学习,其中韦东山老师对书中的代码做了部分移植,到MMU模块就没有在移植书中代码;
(2)前面章节移植的代码都是下载到D1S芯片内置的IRAM中运行,后续实验需要将代码搬运至内存中,IRAM大小已经不够了;
(3)最初我是想剥离出初始化DDR的代码并添加到工程里,后来发现数据手册里根本没有关于DDR部分的描述。初始化DDR的代码在xfel工具的源码和sdk中spl部分的源码里有,但是剥离出来工作量不小;好在发现了xfel工具已经支持初始化D1S芯片的ddr并下载程序,于是后续调试代码,我都是使用xfel工具来初始化ddr并下载代码;
补充:xfel工具源码:https://github.com/xboot/xfel;

2、利用xfel下载程序到内存的步骤

在这里插入图片描述

3、 在内存运行代码需要修改的地方

3.1、内存地址空间

在这里插入图片描述

虽然使用xfel工具可以实现初始化ddr并下载程序,但是在调试程序的时候,需要修改相应的链接地址,主要是修改涉及到的绝对地址部分。(M模式跳转到S模式使用的绝对地址,这里要修改)

3.2、笨叔代码适配D1S芯片需要修改的地方

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1157134.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

从小白到大牛:Linux嵌入式系统开发的完整指南

Linux嵌入式系统开发一直是一个激动人心的领域,吸引着越来越多的开发者。无论你是初学者还是已经有一些经验的开发者,本文将为你提供从小白到大牛的完整指南,帮助你掌握Linux嵌入式系统开发的关键概念和技能。我们将深入探讨Linux内核、设备驱…

从开发者的角度看K8S中的复合容器模式

就应用设计最佳实践和原则而言,构建复杂的基于容器的架构与编程没有太大区别。本文的目标是使用众所周知的编程原理从开发人员的角度展示三种流行的可扩展性架构模式。 让我们从单一职责原则开始。根据 R. Martin 的说法,“一个类应该只有一个改变的理由…

高性能渲染——详解Html Canvas的优势与性能

本文由葡萄城技术团队原创并首发。转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具、解决方案和服务,赋能开发者。 一、什么是Canvas 想必学习前端的同学们对Canvas 都不陌生,它是 HTML5 新增的“画布”元素&#x…

污水一体处理设备工艺有哪些

污水一体处理设备工艺主要包括以下几种: AO工艺:AO工艺是增加好氧池缺氧池形成硝化-反硝化系统,处理污水中氮含量效率提升。SBR工艺:SBR工艺是按间歇曝气方式运行的活性污泥处理技术,厌氧、好氧、缺氧处于交替状态&am…

选择适合制造业的企业邮箱平台

自2010年成立以来,J公司已从一家小型有限责任公司发展成为全球领先的工业内窥镜研发、生产和销售企业。公司的产品制造采用国际先进技术和一流生产工艺,专业为客户提供定制解决方案,产品已广泛应用于锅检特检、机械制造、发电、石油、燃气、化…

AWS认证考试的那些事

1 为啥会有这个认证 你既然点进来了这个也就不重要了,重要的是怎么拿到他,以SAA-C03为例,从开始到结束我们一起来进行准备 2 考试卷 目前AWS的考试是要交钱的,正常情况下拿到5折劵很容易,比如你之前考过AWS的认证会给…

蓝牙 - LE的Connection Parameters设定

BLE链接参数设定 两个BLE设备建立链接后,可以更改链接参数。Central和Peripheral设备均可发送更新链接参数请求。这个在很多时候是有必要的,因为广播扫描的建立链接过程,和链接保持的过程,对链接参数的要求是不同的。比如设置连接…

LInux之在同一Tomcat下使用不同的端口号访问不同的项目

🎉🎉欢迎来到我的CSDN主页!🎉🎉 🏅我是君易--鑨,一个在CSDN分享笔记的博主。📚📚 🌟推荐给大家我的博客专栏《LInux实战开发》。🎯🎯 …

深入探索 C++ 多态 ② - 继承关系

前言 上一章 简述了虚函数的调用链路,本章主要探索 C 各种继承关系的类对象的多态特性。 深入探索 C 多态 ① - 虚函数调用链路深入探索 C 多态 ② - 继承关系深入探索 C 多态 ③ - 虚析构 1. 概述 封装,继承,多态是 C 的三大特性&#xf…

群晖 Docker版qbittorrent 下载显示错误 解决方法

这些天在折腾AIO玩,PVE虚拟机底层,核显直通,群晖安装,免不了踩些坑。 今天写篇博客,讲述一下群晖 Docker版qbittorrent 下载显示错误的解决方法,顺便记录一下配置,以便日后折腾可以参考。 直接…

4.讲究先来后到的队列

概述 目标: 队列的存储结构及操作特点java中队列相关的api基于单链表的队列实现刷题(设计循环队列) 存储结构及特点 队列(queue) 和栈一样,代表具有一类操作特征的数据结构,拿日常生活中的一个场景举例说明,去车站的窗口买票&…

百度上传自己个人简介攻略,个人介绍百度百科怎么做?

个人介绍要展示在百度百科上该怎么操作,我们都清楚百度百科词条是需要申请才能拥有的,但是没有百度上传自己个人简介的攻略,很多人是不知从何下手的。下面洛希爱做百科网带着大家一起来了解。 一、了解百度百科词条的创建规则 1. 词条名称规…

python项目部署代码汇总:目标检测类、人体姿态类

一、AI健身计数 1、图片视频检测 (cpu运行): 注:左上角为fps,左下角为次数统计。 1.哑铃弯举:12,14,16 详细环境安装教程:pyqt5AI健身CPU实时检测mediapipe 可视化界面…

光学雨量计:更灵敏可靠、更智能的降雨监测工具

光学雨量计:更灵敏可靠、更智能的降雨监测工具 降雨量信息是评估大气环境和降水研究的关键指标,也是环境监测和农业安全监测的重要参数。目前,我们通常使用翻斗式或光学雨量计来监测降雨量,这些工具能够感知自然界的降雨量&#…

媒体宣传如何助力品牌发展

传媒如春雨,润物细无声,大家好,我是51媒体网胡老师。 媒体宣传可以在多方面助力品牌发展,下面是一些关键的方式: 1. 提高品牌知名度:媒体宣传可以将品牌曝光给更广泛的受众,使更多人了解您的品…

内涝积水监测仪怎么样?万宾科技城市内涝积水监测的作用

在城市建设发展过程中,道路基础设施的建设永远都占据着重要一席,因为人们出行一旦受阻便会影响城市进展,也会影响经济发展。在城市之中有隧道,下穿式立交桥等容易存积水的地方,一旦出现恶劣暴雨天气,这些地…

CHAT——新手必看的文章

今天小编用CHAT写一篇文章:Ipad新手注意事项,一定要看。 标题:iPad新手必读:一篇你绝对不能错过的关于iPad使用的注意事项 当你买了一台全新的iPad,无论是为了工作还是娱乐,这款强大而引人入胜的设备都提供…

Wonder3D:用单张图片生成纹理网格

Wonder3D 只需 2 ∼ 3 分钟即可从单视图图像重建高度详细的纹理网格。 Wonder3D首先通过跨域扩散模型生成一致的多视图法线图和相应的彩色图像,然后利用新颖的法线融合方法实现快速、高质量的重建。 推荐:用 NSDT编辑器 快速搭建可编程3D场景 1、推理准…

Linux ---------------------Shell 基本运算符

(一)摘要 Shell 和其他编程语言一样,支持多种运算符,包括: 算数运算符关系运算符布尔运算符字符串运算符文件测试运算符 原生bash不支持简单的数学运算,但是可以通过其他命令来实现,例如 awk …

界面控件DevExpress WinForms Gauge组件 - 实现更高级别数据可视化

DevExpress WinForms控件包含了超过150个随时可用的仪表盘预设,包括圆形,数字,线性和状态指示器等,来帮助用户实现更高级的数据可视化。 DevExpress WinForms有180组件和UI库,能为Windows Forms平台创建具有影响力的业…