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

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

开发者学堂课程【平头哥剑池 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,按照的指引去配置即可,所以所有出现的错误模拟器系统都会给出错误的提示,并且定位到错误的位置。以上就是模拟器的配置方法。

相关文章
|
资源调度 API 开发者
Three入门 【基础知识,并搭建第一个场景】
Three入门 【基础知识,并搭建第一个场景】
100 0
|
2月前
|
存储 C++ UED
【实战指南】4步实现C++插件化编程,轻松实现功能定制与扩展
本文介绍了如何通过四步实现C++插件化编程,实现功能定制与扩展。主要内容包括引言、概述、需求分析、设计方案、详细设计、验证和总结。通过动态加载功能模块,实现软件的高度灵活性和可扩展性,支持快速定制和市场变化响应。具体步骤涉及配置文件构建、模块编译、动态库入口实现和主程序加载。验证部分展示了模块加载成功的日志和配置信息。总结中强调了插件化编程的优势及其在多个方面的应用。
395 66
|
7月前
|
运维 网络协议 安全
第一节-网络的基本概念
第一节-网络的基本概念
84 0
|
7月前
|
Unix 编译器 数据库
【进阶】C 语言表驱动法编程原理与实践
【进阶】C 语言表驱动法编程原理与实践
239 0
|
算法 Java 测试技术
我的算法基础实验代码-下篇
算法题目,Java语言版
80 0
|
存储 数据可视化 Ubuntu
bcftools学习笔记丨软件简介、安装方式、使用方法、核心功能、参数解释等一文速览
bcftools学习笔记丨软件简介、安装方式、使用方法、核心功能、参数解释等一文速览
|
安全 编译器 程序员
「1」程序的基本概念
🐰基本数据类型和内存映像 🏡前言 🌸基本数据类型 ✈️void类型 🤔提示 🐰类型转换 🏡前言 🌸隐式转换 ✈️定义 ✈️基本数据类型的兼容关系 🤔提示 🌸强制类型转换 ✈️引入 🤔提示
嵌入式开发学习之--通讯的基本概念
嵌入式开发学习之--通讯的基本概念
嵌入式开发学习之--通讯的基本概念
|
芯片 开发者 ice
3.2基础概念:硬件调试器概念及配置方法|学习笔记
快速学习3.2基础概念:硬件调试器概念及配置方法
3.2基础概念:硬件调试器概念及配置方法|学习笔记
|
开发者
3.5基础概念: Watches 窗口简介|学习笔记
快速学习3.5基础概念: Watches 窗口简介
3.5基础概念: Watches 窗口简介|学习笔记