热搜关键词: 信号与系统无刷电机ADSTCP/IP

pdf

SiFive经典RISC-V FE310微控制器原理与实践

  • 1星
  • 日期: 2022-03-19
  • 大小: 20.26MB
  • 所需积分:1分
  • 下载次数:2
  • favicon收藏
  • rep举报
  • free评论
标签: 嵌入式

嵌入式

riscv

嵌入式

本书以让读者快速掌握FE310嵌入式微控制器为目的,由浅入深地带领读者进入RISC-Ⅴ的世界。本书共分为7章,系统地介绍了SiFive  E系列32位RISC-Ⅴ微控制器的体系结构、SiFive  E31内核、片内存储系统、系统控制模块、外围设备接口的特点与性能;还介绍了SiFive  Freedom  Studio集成开发环境,Freedom  E-SDK驱动库开发及SiFive  Learn  Inventor开发系统,开发系统连接外部红外与超声波模块的拓展应用开发实例,有初步C语言基础的读者可轻松上手;还利用最后两章辅以大量的例程,讲解了FreeRTOS与RT-Thread等实时多任务操作系统的原理与应用。

第1章  RISC-Ⅴ的历史和机遇  001

1.1  RISC-Ⅴ发明团队与历史  001

1.1.1  商业公司的指令集架构  004

1.1.2  RISC-Ⅴ指令集架构与其他指令集架构的不同点  006

1.1.3  RISC-Ⅴ发展史及其标志性事件  007

1.2  RISC-Ⅴ基金会成长的历史  008

1.2.1  RISC-Ⅴ基金会的成员介绍  009

1.2.2  RISC-Ⅴ基金会推动20个重点领域的技术  011

1.2.3  RISC-Ⅴ基金会标准制定过程及工作群组机制  012

1.2.4  RISC-Ⅴ国际协会的诞生  013

1.3  RISC-Ⅴ的生态系统  013

1.3.1  RISC-Ⅴ的开发板和生态系统  014

1.3.2  部分RISC-Ⅴ社区生态的支持厂商  018

1.3.3  芯片设计界的RISC-Ⅴ产品进展  021

1.4  SiFive研发团队技术沿革  023

1.4.1  Rocket  Chip  SoC生成器  024

1.4.2  使用Chisel语言编写Rocket  Chip  SoC生成器  025

1.4.3  Rocket标量处理器  026

1.4.4  SiFive强力推动RISC-Ⅴ生态发展  028

第2章  RISC-Ⅴ指令集架构介绍  031

2.1  引言  031

2.2  RISC-Ⅴ指令集架构特性  031

2.2.1  简洁性  032

2.2.2  模块化  032

2.3  指令长度编码和指令格式  034

2.3.1  指令长度编码  034

2.3.2  指令格式  035

2.4  寄存器列表  036

2.4.1  通用寄存器  036

2.4.2  控制与状态寄存器  037

2.4.3  程序计数器  038

2.5  地址空间与寻址模式  038

2.5.1  地址空间  038

2.5.2  小端格式  039

2.5.3  寻址模式  039

2.6  内存模型  039

2.7  特权模式  040

2.8  中断和异常  041

2.8.1  中断和异常概述  041

2.8.2  RISC-Ⅴ机器模式下的中断架构  041

2.8.3  机器模式下中断和异常的处理过程  042

2.9  调试规范  043

2.10  RISC-Ⅴ未来的扩展子集  044

2.10.1  B标准扩展:位操作  044

2.10.2  H特权架构扩展:支持管理程序(Hypervisor)  044

2.10.3  J标准扩展:动态翻译语言  044

2.10.4  L标准扩展:十进制浮点  045

2.10.5  N标准扩展:用户态中断  045

2.10.6  P标准扩展:封装的单指令多数据(Packed-SIMD)指令  045

2.10.7  Q标准扩展:四精度浮点  045

2.10.8  V标准扩展:基本矢量扩展  045  [1] 

2.11  RISC-Ⅴ指令列表  045

2.11.1  I指令子集  046

2.11.2  M指令子集  051

2.11.3  A指令子集  052

2.11.4  F指令子集  054

2.11.5  D指令子集  055

2.11.6  C指令子集  056

第3章  SiFive  FE310-G003微控制器  059

3.1  FE310-G003微控制器概述  060

3.1.1  E31  RISC-Ⅴ内核  061

3.1.2  中断  061

3.1.3  片内存储系统  061

3.1.4  始终上电(AON)模块  062

3.1.5  通用输入与输出  062

3.1.6  通用异步接收器/发送器  062

3.1.7  硬件串行外设接口  062

3.1.8  脉冲宽度调制  062

3.1.9  I2C  062

3.1.10  调试支持  063

3.2  E31内核介绍  063

3.2.1  E31内核概述  063

3.2.2  中断架构  068

3.2.3  内核本地中断器(CLINT)  073

3.2.4  调试支持  074

3.3  E31  FE310-G003内存映射  079

3.4  启动程序  081

3.4.1  复位向量  081

3.4.2  BootLoader  082

3.5  时钟生成  083

3.5.1  时钟生成概述  083

3.5.2  PRCI地址空间的使用  084

3.5.3  可校准可编程72MHz振荡器(HFROSC)  085

3.5.4  外接16MHz晶体振荡器(HFXOSC)  086

3.5.5  内置高频PLL(HFPLL)  086

3.5.6  PLL输出分频器  088

3.5.7  内置可编程低频环形振荡器(LFROSC)  089

3.5.8  备用低频时钟(LFALTCLK)  089

3.5.9  时钟总结  090

3.6  电源模式  090

3.6.1  运行模式  090

3.6.2  等待模式  090

3.6.3  睡眠模式  091

3.7  平台级中断控制器(PLIC)  091

3.7.1  内存映射  091

3.7.2  中断源  092

3.7.3  中断优先级  093

3.7.4  中断未决位  093

3.7.5  中断使能  094

3.7.6  优先级阈值  095

3.7.7  中断声明流程  095

3.7.8  中断完成  096

3.8  一次性可编程存储器(OTP)外设  096

3.8.1  内存映射  096

3.8.2  可编程I/O锁定寄存器(otp_lock)  097

3.8.3  可编程I/O序列  097

3.8.4  读序列控制寄存器(otp_rsctrl)  097

3.8.5  OTP编程警告  098

3.8.6  OTP编程过程  098

3.9  始终上电(AON)电源域  099

3.9.1  AON电源  100

3.9.2  AON时钟  100

3.9.3  AON复位单元  100

3.9.4  上电复位电路  100

3.9.5  外部复位电路  100

3.9.6  复位原因  101

3.9.7  看门狗定时器(WDT)  101

3.9.8  实时时钟(RTC)  101

3.9.9  备份寄存器  101

3.9.10  电源管理单元(PMU)  101

3.9.11  AON内存映射  101

3.10  看门狗定时器(WDT)  103

3.10.1  看门狗计数器(wdogcount)  104

3.10.2  看门狗时钟选择  104

3.10.3  看门狗配置寄存器(wdogcfg)  104

3.10.4  看门狗比较器0(wdogcmp0)  105

3.10.5  看门狗键值寄存器(wdogkey)  105

3.10.6  喂狗寄存器(wdogfeed)  105

3.10.7  看门狗配置  106

3.10.8  看门狗复位  106

3.10.9  看门狗中断(wdogip0)  106

3.11  电源管理单元(PMU)  106

3.11.1  PMU概述  106

3.11.2  内存映射  107

3.11.3  PMU键值寄存器(pmukey)  108

3.11.4  PMU编程  108

3.11.5  初始化睡眠序列寄存器(pmusleep)  109

3.11.6  唤醒信号调理  109

3.11.7  PMU中断使能寄存器(pmuie)和唤醒原因寄存器(pmucause)  110

3.12  实时时钟(RTC)  111

3.12.1  RTC计数器(rtccounthi/rtccountlo)  111

3.12.2  RTC配置寄存器(rtccfg)  112

3.12.3  RTC比较器(rtccmp)  112  [1] 

3.13  通用输入输出控制器(GPIO)  112

3.13.1  FE310-G003微控制器中的GPIO实例  114

3.13.2  内存映射  114

3.13.3  输入/输出值  114

3.13.4  中断  115

3.13.5  内部上拉  115

3.13.6  驱动强度  115

3.13.7  输出反转  115

3.13.8  硬件I/O功能(IOF)  115

3.14  通用异步收发机(UART)  116

3.14.1  UART概述  117

3.14.2  FE310-G003微控制器中的UART实例  117

3.14.3  内存映射  117

3.14.4  发送数据寄存器(txdata)  118

3.14.5  接收数据寄存器(rxdata)  118

3.14.6  发送控制寄存器(txctrl)  118

3.14.7  接收控制寄存器(rxctrl)  119

3.14.8  中断寄存器(ip和ie)  120

3.14.9  波特率除数寄存器(div)  120

3.15  串行外围接口(SPI)  121

3.15.1  SPI概述  122

3.15.2  FE310-G003微控制器中的SPI实例  122

3.15.3  SPI内存映射  123

3.15.4  串行时钟除数寄存器(sckdiv)  124

3.15.5  串行时钟模式寄存器(sckmode)  124

3.15.6  芯片选择ID寄存器(csid)  125

3.15.7  芯片选择默认寄存器(csdef)  125

3.15.8  芯片选择模式寄存器(csmode)  125

3.15.9  延迟控制寄存器(delay0和delay1)  126

3.15.10  帧格式寄存器(fmt)  127

3.15.11  发送数据寄存器(txdata)  128

3.15.12  接收数据寄存器(rxdata)  128

3.15.13  发送水印寄存器(txmark)  129

3.15.14  接收水印寄存器(rxmark)  129

3.15.15  SPI中断寄存器(ie和ip)  129

3.15.16  SPI闪存接口控制寄存器(fctrl)  130

3.15.17  SPI闪存指令格式寄存器(ffmt)  131

3.16  脉宽调制器(PWM)  131

3.16.1  PWM概述  131

3.16.2  FE310-G003微控制器中的PWM实例  132

3.16.3  PWM内存映射  132

3.16.4  PWM计数器(pwmcount)  133

3.16.5  PWM配置寄存器(pwmcfg)  133

3.16.6  刻度化PWM计数器(pwms)  135

3.16.7  PWM比较器(pwmcmp0~pwmcmp3)  135

3.16.8  去毛刺和黏性电路  136

3.16.9  产生左向或右向的PWM波形  137

3.16.10  产生中心对齐(相位校正)PWM波形  137

3.16.11  使用组合生成任意的PWM波形  138

3.16.12  生成单次波形  138

3.16.13  PWM中断  139

3.17  集成电路(I2C)主设备接口  139

3.18  调试接口  139

3.18.1  JTAG  TAPC状态机  139

3.18.2  复位JTAG逻辑  139

3.18.3  JTAG计时器  140

3.18.4  JTAG标准说明  140

3.18.5  JTAG调试命令  140

第4章  使用Freedom  E-SDK进行软件开发  141

4.1  SiFive  Freedom  Studio集成开发环境安装与介绍  141

4.1.1  Freedom  Studio简介与安装  141

4.1.2  启动Freedom  Studio  144

4.1.3  创建sifive-welcome项目  145

4.1.4  配置sifive-welcome项目  146

4.1.5  编译sifive-welcome项目  148

4.1.6  运行sifive-welcome项目  149

4.1.7  调试程序  154

推荐帖子 最新更新时间:2022-05-21 17:20

TLP3547评估板评测报告——第一:开箱篇
TLP3547评估板评测报告――第一:开箱篇      前几天就收到了评估板,一直都忙于工作,今天终于抽空来测试一下了。先来个开箱篇吧。。     样品包装在一个塑料样品盒子中,正面是测试评估板的英文介绍,主要介绍了有些特性,再有就是附加了一份东芝光继电器评估板的纸质资料,包括芯片的尺寸,评估板的管脚定义,测试电压等参数 样品盒子的正面英文介绍特写。 打开样品盒子,测试评估板是被泡沫包
飞扬自我 东芝光电继电器TLP3547评测
成功邀请 5 名好友,即可获赠干货书籍
直播: TI 的故事――IC 创世纪主讲人:maychang 时间:10月25日 10:00-11:30 即日起-10月25日,成功邀请 5 名好友,即可获赠干货书籍《 MCU 工程师炼成记》一本,参与方式: 1、扫描 或 长按 下方二维码,关注“德州仪器TI校园计划”订阅号,回复“历史”,报名直播,跳转到报名成功页面; 2、转发报名成功页面,邀请好友参与 3、成功邀请 5  名
EEWORLD社区 TI技术论坛
DSP基础知识集锦之4 数字信号处理
数字信号处理(DSP)是一门涉及许多学科而又广泛应用于许多领域的新兴学科。在通常的实时信号处理中,它具有可程控、可预见性、精度高、稳定性好、可靠性和可重复性好、易于实现自适应算法、大规模集成等优点,这都是模拟系统所不及的。 DSP的发展大致分为三个阶段:       在数字信号处理技术发展的初期(二十世纪 50~60年代),人们只能在微处理器上完成数字信号的处理。直到70年代,有人才提出
Aguilera 微控制器 MCU
MSP430F5538A watchdog
1、watchdog timer(WDT_A) 看门狗定时器? 看门狗定时器32bit定时器,能被用作看门狗或者作为一个间隔定时器。 在看之前,给自己几个问题 a、看门狗依赖于时钟配置吗? b、多长时间喂狗,软件喂狗(定时器)?时间长短如何配置? c、看门狗重启和软件重启以及硬件重启的区别? 看门狗定时器模块的主要功能是在软件问题发生时执行系统重启;如果指定的时间到还不喂狗,就
fish001 微控制器 MCU
TMS320F28335时钟(3) -----总结
本章对整个TMS320F28335时钟系统做个简要的总结,是对前面凌乱讲解的补充和梳理,希望借此总结可以更全面更彻底的掌握TMS320F28335时钟系统。1.时钟源外部时钟信号或者外部晶振震荡信号,具体参见《TMS320F28335时钟1》。2.时钟产生过程外部时钟或者外部晶振给F28335提供时钟源OSCCLK,使能F28335片上PLL电路,PLL电路对时钟源信号进行倍频,产生时钟CLKIN
扶摇之上 微控制器 MCU
“芯”来乍到,双重好礼求赞求围观!&博客分享:高速转换器的创新从三个方面改变...
好活动好文章齐分享!快来参与! “芯”来乍到,双重好礼求赞、求围观! 从初春的微寒到火辣辣的夏天,2017上半年结束了,能证明ADI这半年“成绩”的东东很多,新品发布、合作伙伴的选择、从未停止过的收购……ADI带来的是一份2017 上半年ADI发布的“新品展示单”。作为ADI历史悠久的、庞大的、不断更新的产品体系中的成员,这些新产品绝对是“新来乍到”,它们将会对未来的各种设计、应用带来哪些影响
EEWORLD社区 ADI参考电路

评论

登录/注册

意见反馈

求资源

回顶部
查找数据手册?

EEWorld Datasheet 技术支持

热门活动

相关视频

可能感兴趣器件

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版 版权声明

北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2022 EEWORLD.com.cn, Inc. All rights reserved
×