• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >嵌入式开发 > E203 SOC系统

E203 SOC系统

作者:人无再少年97 字体:[增加 减小] 来源:互联网 时间:2020-04-01

人无再少年97通过本文主要向大家介绍了E203处理器内核等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

蜂鸟SOC系统框图:
其中SOC包括E203处理器内核,系统存储总线,私有设备总线,私有外设接口IP,常开域IP(IP复用于SIFive 公司开源的Freedom 310 )以及系统内的存储器

在这里插入图片描述

(1)存储、外设资源及地址分配
E203的片上存储主要有ITCM和DTCM,以及挂载在系统存储总线上的ROM

ITCM:大小可配置,默认为64KB大小,起始地址为0x8000_0000,虽然主要用于存放指令,但是其地址区间也可以被处理器核的Load和Store指令访问,从而用来存放数据
DTCM:大小可配置,默认为64KB大小,起始地址为0x9000_0000,只能被数据存储器访问指令访问,只能存放数据
ROM:大小为4KB,默认仅存放一条跳转指令,直接跳转至ITCM的起始地址开始执行
E203的片外存储资源主要为Flash存储器:外部Flash可以利用Xip(Execution in Place)模式,通过QSPI0被映射为一片只读的地址区间

在这里插入图片描述

(2)SOC时钟域

c

1、常开域
使用always-on时钟,频率为32.768KHZ,时钟可以选择来自片上振荡器、外部晶振或者直接通过芯片引脚输入。在FPGA中,使用xilinx的分频ip,直接输出32.768KHZ的参考时钟
2、主域
由HCLKGEN模块控制生成主域的时钟(16MHZ),同样在FPGA中,使用xilinx的分频ip,直接输出16MHZ的参考时钟
3、调试域
为支持JTAG而添加的相关逻辑,由两个不同的时钟域组成,分别是JTAG时钟核RISC-V处理器核时钟(主域的时钟)

通过时钟的划分,SOC同样工作在三种模式下:
1、正常模式:常开域和MOFF域均处于正常供电状态
2、等待模式:RISC-V处理器执行一条WFI指令,处理器停止执行,时钟被关闭进入等待模式,直到被中断唤醒。
3、休眠模式:常开域正常供电,但是MOFF域的电源切断。

(3)全局复位
SOC的全局复位有三个来源:
1、来自POR(power-on-reset)
在芯片上电后,在电压达到稳定阈值之前一直输出复位信号,保证芯片自动上电复位
2、来自芯片引脚AON_ERST_N
AON_ERST_N引脚可以用于外部复位
3、来自WD产生的reset

复位信号首先通过”或“的形式产生aonrst信号,作为always-on的复位信号;之后由于PMU 复位继而唤醒整个SOC复位,PMU执行默认的唤醒指令生成hclkrst和corerst信号对MOFF域进行复位。

上电复位后,可以从两个不同的地址进行执行程序(通过SOC芯片引脚BOOTROM_N来控制):
1、从外部Flash开始执行,即RISC-V处理器核的PC复位值为0x2000_0000;用户可以通过调试器将开发的程序烧写在Flash中,直接在Flash中被执行
2、从内部的ROM开始执行,即PC复位值为0x0000_1000,在ROM中存放的代码是固定代码,执行完固定代码,直接跳转至ITCM中继续执行。

(4)中断与异常
处理器顶层接口中有4根中断输入信号:

软件中断(一根):CLINT(core local interrupts controller)处理器核局部中断控制器产生,内部实现一个32位的MSIP寄存器,该寄存器只有最低位为有效位,该寄存器有效位直接作为软件中断信号给处理器核。软件可以写1至MSIP寄存器触发软件中断;也可以写0至MSIP寄存器消除软件中断。
计时器中断(一根):CLINT产生一个64的MTIME寄存器,反应一个64位计数器的值。内部还实现了一个64位的MTIMECMP寄存器,存放计数器的比较值,当MTIME值大于等于MTIMECMP寄存器,就会产生计数器中断。
外部中断:外部中断源通过PLIC进行优先级仲裁和派发。PLIC理论上支持高达1024个外部中断源,E203的SOC系统连接了GPIO、URAT、PWM等多个外部中断源,PLIC将多个外部中断源仲裁成一个单比特的中断信号送入处理器的外部中断引脚。由于PLIC模块处于与处理器核相同的时钟域,所以大部分中断源的时钟域与PLIC相同,而RTC和WD中断来自于低速的电源常开时钟,需要对其进行同步处理,所以设计了irq_sync模块。
调试中断(一根):只在调试器介入调试时才会发生。

 

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

相关文章

  • 2017-06-05 动态库的函数,已经反汇编成汇编程序,请教函数VLSgetMachineID的输入参数和返回参数(高分相送)
  • 2017-06-05 wince60操作系统读写excel问题
  • 2017-06-05 会写磁盘驱动的进。-谁会写磁盘驱动,我需要极大帮助!先谢了
  • 2017-06-05 对PalmOS感兴趣的大侠们,不妨到"移动平台"下的"PalmOS"论坛去发发贴,提提意见!
  • 2017-06-05 高分求助:引导时挂死在startingat0x308000
  • 2017-06-05 lwip作为服务器同个Ip地址多次重复连接服务器
  • 2017-06-05 请问各位师兄有谁知道南望信息产业集团(杭州)吗?
  • 2017-06-05 求助连接问题!
  • 2017-06-05 VxWorksloadModule报UndefinedSymbol
  • 2017-06-05 求解都可能有哪些原因能让MCU自动复位或类似自动复位?

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • MDK有没有类似于VS的函数调用堆栈信息?
    • 求“网络连接没有有效IP地址”的解决办法
    • 虚拟存储器是否真实存在于硬盘中
    • 为什么液晶显示器1602必须建立2个工程才行?
    • 怎样用工具自动制作驱动程序安装包?已有inf、drv等文件。
    • TCP/IP:在广域网(外网)上传输数据时会用到ARP协议吗?
    • 双网双待双通ubuntuwindows双系统问题
    • 通用Hook函数方法检测进程的问题
    • 初学windows驱动程序设计,请推荐几本好书
    • 哪位前辈帮忙解说下用c如何去编写运动控制卡的程序

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有