基础概念:模拟器概念及其配置方法|学习笔记

简介: 快速学习基础概念:模拟器概念及其配置方法

开发者学堂课程【平头哥剑池 CDK 功能及开发实战基础概念:模拟器概念及其配置方法】学习笔记与课程紧密联系,让用户快速学习知识

课程地址https://developer.aliyun.com/learning/course/61/detail/1120


基础概念:模拟器概念及其配置方法

 

本节课介绍模拟器在CDK中的提成以及模拟器的配置方法。

image.png

在之前的课程中提到在使用CDK进行玄铁CPU的SDK开发的过程中,如果没有CPU的硬件也要做开发的话,其实CDK也是支持的,因为CDK内置了一个能够模拟虚拟芯片平台的模块,这部分就叫做模拟器,可以模拟出一个虚拟的芯片平台,从而在调试中将的程序运行在虚拟的芯片平台中,CDK提供到模拟器,不仅会内置一些现有的虚拟芯片平台,也会提供给开发者一些可以配置的界面,能够让开发者配置出基于选点CPU自定义的一些虚拟平台

整个先进平台包含三个部分的配置,第一部分是CPU的配置,可以用来选择具体使用到的选点CPU。第二部分是存储空间的配置,可以自定义出芯片所需的FLASH,ROM的存储空间。第三部分是外围设备的配置,对于一些有外设需求的程序来说,可以提供了一些丰富的外设库,能够导入到虚拟芯片平台中,定义出一个具有一定外设功能的模虚拟芯片平台来。这种虚拟平台一旦定义出来以后,在调试中可以配置的程序运行在自定义的虚拟平台中。

演示在CDK中虚拟平台的配置。打开CDK在tools菜单有simulator management,整个虚拟平台的配置都是在窗口中进行。可以看到窗口分为两个节点,第一部分是模拟器提供的所有的心理平台的集合,第二部分是用户可配置的部分。第一部分会把玄铁处理器分为之前的cskyv1 cskyv2的自主支持架构,也有支持的业内主流的riscv32和riscv64架构的CPU可以看到任何一个虚拟平台,它都包含CPU、memory、device、description,其中CPU、memory、device是分别对应到之前刚刚提到过的 CPU的配置和存储空间以及外设的配置,description是根据前面的配置关系自动生成的一些信息,在system下面已经内置的一些平台是不允许修改的

image.png

用户需要配置新增平台的话是在User Configs,在User Configs下,需要加一些虚拟平台的话,首先需要加厂商名,然后可以在厂商名下添加自己的信息平台,可以新增一个新的信息平台,也可以从现有的平台中copy一份加到自己的厂商名下

image.png

厂商名下就有了一个平台,在 copy的过程中,可以将自己名下的平台去自定义它的CPU型号以及CPU的一些特性,包括memory存储的空间,可以减掉没有必要的同时可以增加一些需要的存储空间

image.png

外围设备可以将没有必要的外设去掉,增加一些有必要的。所有配置完成以后点击APPLY按钮,如果整个配置有错误,模拟题配置会自动排除错误页,直接定位到错误的位置。

image.png

如下图配置的这一块存储区域空间0是不合理的

image.png

而且需要length必须对齐,是一个问题。两块地址是有重叠,也是不被允许的,这样可以把它设置到一个这个合理的地址。

image.png

需要配置中断控制器才能控制的csky_clic,按照的指引去配置即可,所以所有出现的错误模拟器系统都会给出错误的提示,并且定位到错误的位置。以上就是模拟器的配置方法。

相关文章
|
数据可视化 编译器 开发工具
RISC-V MCU开发 (一):MounRiver Studio集成开发环境
近年来,RISC-V生态获得了空前的繁荣发展,国内外众多科技公司纷纷下场布局、行业应用层出不穷,搭载RISC-V内核的MCU也逐渐走入了工程师的日常开发工作中。 工欲善其事必先利其器,要想实现基于RISC-V MCU的项目开发,与之配套的集成开发环境必不可少。目前市场上可供选择的RISC-V MCU开发工具已初具规模,由MounRiver团队打造的MounRiver® Studio(MRS)便是其中一种。
RISC-V MCU开发 (一):MounRiver Studio集成开发环境
|
JavaScript
Vue在Element UI下使用富文本框插件quill-editor(我个人不推荐用这个复杂的富文本插件)
Vue在Element UI下使用富文本框插件quill-editor(我个人不推荐用这个复杂的富文本插件)
|
设计模式 Java 机器人
SpringBoot3自动配置流程 SPI机制 核心注解 自定义starter
SpringBoot3自动配置流程 SPI机制 核心注解 自定义starter
|
7月前
|
缓存 NoSQL Java
Redis+Caffeine构建高性能二级缓存
大家好,我是摘星。今天为大家带来的是Redis+Caffeine构建高性能二级缓存,废话不多说直接开始~
1029 0
|
8月前
|
搜索推荐 数据挖掘 API
深入研究:京东图片搜索商品API详解
京东图片搜索商品API简介:在电商快速发展的背景下,用户需求日益多样化。为提升购物体验,京东推出图片搜索商品API,通过上传商品图片(如实物图或宣传图),利用图像识别技术匹配京东商品库,返回相似商品的信息(如名称、价格、销量等)。该API采用HTTP POST请求方式,支持JPEG、PNG等常见图片格式,并可设置分类范围和结果数量限制等可选参数,助力开发者实现更精准的商品搜索,优化用户体验,同时为数据分析与个性化推荐提供支持。本文详细介绍了其功能、使用方法及Python请求示例。
|
Web App开发 Kubernetes 数据可视化
Kubernetes Dashboard 可视化插件部署 博主亲自实践可用
Kubernetes Dashboard 可视化插件部署 博主亲自实践可用
269 0
|
KVM 虚拟化
KVM虚拟机的冷迁移
这篇文章详细描述了KVM虚拟机的冷迁移过程,包括无依赖环境迁移、有链接克隆虚拟机迁移、多块磁盘迁移的案例,以及可能遇到的错误和解决方案。
541 3
|
监控 NoSQL 算法
深入剖析Redis哨兵模式的原理和应用
Redis的哨兵模式是实现高可用性和自动故障转移的机制,当主服务器故障时,哨兵能自动检测并进行故障转移,确保服务连续和稳定性。哨兵模式通过监控主从服务器状态、自动故障转移、防止数据不一致,提高容错能力和负载均衡,降低运维成本,实现高可用性。哨兵通过检测主观下线和客观下线状态,以及选举Leader Sentinel来协调故障转移。Raft算法在其中用于领导者选举和状态一致性。哨兵模式通过综合考虑多种因素选举新主服务器并执行故障转移,保障集群稳定运行。
1525 0
深入剖析Redis哨兵模式的原理和应用
|
存储 监控 安全
安全防御之恶意代码与防护技术
恶意代码是指没有作用却会带来危险的代码。通常把未经授权便干扰或破坏计算机系统、网络功能的程序或代码(一组指令)称之为恶意程序。恶意程序包括计算机病毒、木马、蠕虫等。恶意代码的防范,不是单靠一种或几种技术就能解决的,而要靠技术、管理以及用户安全意识的共同防范,只有三者相结合才能最大程度地防止恶意代码对系统和用户信息的破坏。
644 0
|
机器学习/深度学习
马修斯相关系数MCC简介
在评估机器学习模型的性能时,F1score都被首选指标。在本文中,我们将介绍一个值得更多关注和认可的替代度量:马修斯相关系数(MCC)。
1311 0