本站支持尊重有效期内的版权/著作权,所有的资源均来自于互联网网友分享或网盘资源,一旦发现资源涉及侵权,将立即删除。希望所有用户一同监督并反馈问题,如有侵权请联系站长或发送邮件到ebook666@outlook.com,本站将立马改正
商品基本信息,请以下列介绍为准 | |
商品名称: | SiFive 经典RISC-V FE310微控制器原理与实践 |
作者: | 编者_陈宏铭|责编_刘志红 |
定价: | 128.0 |
出版社: | 电子工业出版社 |
出版日期: | 2020-12-01 |
ISBN: | 9787121402036 |
印次: | 1 |
版次: | 01 |
装帧: | |
开本: | 16开 |
内容简介 | |
本书以让读者快速掌握FE310嵌入式微控制器为目的,由浅入深地带领读入RISC-Ⅴ的。本书共分为7章,系统地介绍了SiFive E系列32位RISC-Ⅴ微控制器的体系结构、SiFive E31内核、片内存储系统、系统控制模块、外围设备接口的特点与性能;还介绍了SiFive Freedom Studio集成开发环境,Freedom E-SDK驱动库开发及SiFive Learn Inventor开发系统,开发系统连接外部红外与超声波模块的拓展应用开发实例,有初步C语言基础的读者可轻松上手;还利用最后两章辅以大量的例程,讲解了FreeRTOS与RT-Thread等实时多任务作系统的原理与应用。本书以最常见的UART接口驱动结行分析、移植及代码解说,对于想要初步学OS系统原理的人来说是一个不错的选择。附录C给出了自制竞赛用智能车实例,达到软件开发结合硬件系统设计的效果。 本书内容丰富实用、层次清晰、叙述详尽,书中穿插的实例程序全部使用C语言编写,且在Freedom Studio集成开发环境上编译通过,方便读者教学与自学,适合RISC-Ⅴ嵌入式微控制器的初学者;还可以作为高等院校计算机科学与技术、电子信息工程、通信工程、自动控制、电气自动化、嵌入式、物联网等相关专业本科生或研究生行RISC-Ⅴ微控制器系统与RTOS教学的嵌入式相关课程辅助教材;本书着重培养学生实践应用能力,因此还可以作为全国大学生电子设计竞赛RISC-Ⅴ子赛题的培训教材,尤其适合参加智能车竞赛的同学参考;同时,还可以作为具有一定C语言知识和硬件基础的嵌入式系统开发工程师和研究人行RISC-Ⅴ微控制器系统开发与应用的参考书。 |
目录 | |
第1章 RISC-Ⅴ的历史和机遇 1.1 RISC-Ⅴ发明团队与历史 1.1.1 商业公司的指令集架构 1.1.2 RISC-Ⅴ指令集架构与其他指令集架构的不同点 1.1.3 RISC-Ⅴ发展史及其标志性事件 1.2 RISC-Ⅴ基金会成长的历史 1.2.1 RISC-Ⅴ基金会的成员介绍 1.2.2 RISC-Ⅴ基金会推动20个领域的技术 1.2.3 RISC-Ⅴ基金会标准制定过程及工作群组机制 1.2.4 RISC-Ⅴ国际协会的诞生 1.3 RISC-Ⅴ的生态系统 1.3.1 RISC-Ⅴ的开发板和生态系统 1.3.2 部分RISC-Ⅴ社区生态的支持厂商 1.3.3 芯片设计界的RISC-Ⅴ产展 1.4 SiFive研发团队技术沿革 1.4.1 Rocket Chip SoC生成器 1.4.2 使用Chisel语言编写Rocket Chip SoC生成器 1.4.3 Rocket标量处理器 1.4.4 SiFive推动RISC-Ⅴ展 第2章 RISC-Ⅴ指令集架构介绍 2.1 引言 2.2 RISC-Ⅴ指令集架构特性 2.2.1 简洁性 2.2.2 模块化 2.3 指令长度编码和指令格式 2.3.1 指令长度编码 2.3.2 指令格式 2.4 寄存器列表 2.4.1 通用寄存器 2.4.2 控制与状态寄存器 2.4.3 程序计数器 2.5 地址空间与寻址模式 2.5.1 地址空间 2.5.2 小端格式 2.5.3 寻址模式 2.6 内存模型 2.7 特权模式 2.8 中断和异常 2.8.1 中断和异常概述 2.8.2 RISC-Ⅴ机器模式下的中断架构 2.8.3 机器模式下中断和异常的处理过程 2.9 调试规范 2.10 RISC-Ⅴ未来的扩展子集 2.10.1 B标准扩展:位作 2.10.2 H特权架构扩展:支持管理程序(Hypervisor) 2.10.3 J标准扩展:动态翻译语言 2.10.4 L标准扩展:制浮点 2.10.5 N标准扩展:用户态中断 2.10.6 P标准扩展:封装的单指令多数据(Packed-SIMD)指令 2.10.7 Q标准扩展:四精度浮点 2.10.8 V标准扩展:基本矢量扩展 2.11 RISC-Ⅴ指令列表 2.11.1 I指令子集 2.11.2 M指令子集 2.11.3 A指令子集 2.11.4 F指令子集 2.11.5 D指令子集 2.11.6 C指令子集 第3章 SiFive FE310-G003微控制器 第4章 使用Freedom E-SD行软件开发 第5章 FreeRTOS实时多任务作系统原理与应用 第6章 RT-Thread实时作系统原理与应用 第7章 SiFive Learn Inventor开发系统应用开发实例 附录A Amazon FreeRTOS认证 附录B Amazon FreeRTOS移植 附录C 自制竞赛用智能车 附录D SiFive Learn Inventor开发系统常见问题解答 参考文献 |
前言 | |
本书的写作背景与意义 ARM公司发布了Cortex—M内核后,全球许多大型半导体厂商相继推出基于Cottex—M内核的微控制器。以sT公司为例,先后推出了STM32Fpan>、STM32F4、STM32F7和sTM32F{7,其性能已经超过了大多数早期带ARM9处理器的芯片。 ARM几乎长期垄断中国处理器IP市场,所以ARM对中国本土芯片公司的影响力巨大,任何一个本土芯片公司都难以承受ARM断供的冲击。有望给中国处理器带来自主可控的RISC—V开放指令集架构,获得了芯片设计业界更多的关注。RISC—v的发展势不可挡,有人担心碎片化和专利问题,siFive和赛昉科技的首席执行官认为这些不重要,重要的是人才。在RISC—V系统设计方面括处理器、作系统和编译软件等技术方面,确实呈现人才紧缺的情况,导致我国在各类芯片设计中所使用的核心器件、高端芯片、基础软件长期依口,受制于人,不利于实施“自主可控”国家信息化发展战略与国家,也阻碍了我国芯片设计领域的自主创新。为了改善这一问题,目前的电子信息教育需要对学行软硬件的系统能力培养。 目前,嵌入式系统正在成为高等院校计算机科学与技术、电子信息工程、通信工程、自动控制、电气自动化等专业的本科学生必修课程,而嵌入式系统与应用开发涉及软硬件及实时作系统等多方面的知识。因此,选择一个合适的RISC—v嵌入式微控制器,建立一个面向实际开发应用的实验体行教学,是一个重要的过程。为满足高等院校相关专行RISC—V嵌入式系统的需要,笔者针对嵌入式系统的特点,以SiFive E系列32位RISC—V FE31 O微控制器为核心编写了本书,让学生或系统设计爱好者能够自己动手“能齐备的微控制器,内置可支持实时作系统的RISC—V处理器”,有助于培养学生的系统能力,降低学生对从事嵌入式系统设计工作的陌生感与距离感。本书的教学目标是用较少的学时使学生掌握RISC—V嵌入式系统的基础知识,结合实验教入嵌入式系统领域,为学一步研究、开发和应用RISC—V嵌入式系统打下良好的基础。 笔者编写了基于。如何使用RISC—V处理器”的系列书籍。这套书籍分别专注于使用主流RISC—V处理器的FPGA设计与实时作系统的移植。以及使用RISC—v处理器内核结合总线和常见外设的微控制器。开发各种与微控制器或物联网相关的常见应用。让学生在一个完整的RISC—V微控制台上继续解决各种有挑战性的工程问题,培养基于RISC—V处理器的系统能力。本书以“第四届全国大学生集成电路创新创业大赛”的RISC—V挑战杯子赛题pan>的内容为基础,以培养学生系统能力为目标,基于SiFive公司所提供的SiFive Learn Inventor开发系统,配合Seeed公司BitCar小车套件或自制竞赛用智能车的方式,利用软硬件协同设计的方法,以培养工程师的教学方法解决智能车竞赛的问题。 本书的内容安排 本书以引导读者快速全面掌握SiFive E系列嵌入式处理器为目的,详细介绍了涉及编程的SiFive E系列嵌入式处理器的内部结构和外围接口的特点与性能。对基于RISC—V处理器的微控制器实践环节涉及的实验内行了优化,以更好地适应微控制器能力培养的需求。本书内容由浅入深,先硬件后软件,重在实践培养学。本书共分为7章,具体如下: 第pan>章RISC—V的历史和机遇。本章介绍RISC—V发明团队与历史,让读者了解发明团队的初心与将指令集开源的情怀。分析各种商业公司的指令集架构。如何才能经营一个好的生态,让指令集有更强的生命力,是发明团队在开发出全新的RISC—v指令集后最为关心的问题。这里也说明RISC—V与其他指令集的不同点或者优点在哪里。因为这些优点。RISC—V慢慢发展成一个体系,以及在时间轴上的标志性事件。为了让RISC—v茁壮成长,发明团队将RISC—V指令集捐赠给RISC—V基金会并由其维护。RISC—v基金会推动20个领域的技术,负责标准制定过程及工作群组的讨论机制,坚持开放自由、坚持为全服务的RISC—V国际协会期诞生了。RISC—V的生态系统关系到处理器架构的影响力,FE310是第一款开源的商用RISC—V SoCSiFive公司将FE310 RTL原始代码贡献给开源社区,大幅网氏了研发定制原型芯片的门槛。除SiFive公司外还有许多知名软硬件供应商加入,这让RISC—V生态更加丰富。在此基础上,业界的RISC—v芯片产品赶展迅速含通用微控制器、物联网芯片、家用电器控制器、网络通信芯片和高性能 服务器芯片等。谈RISC—V技术绕不开的是需要了解SlFIve研发团队及技术沿革。什么是Rocketsp;chlp SoC生成器?它能生成什么?为什么要用ChlseI语言编写SoC生成器呢?什么是Chlsel语言呢?这些问题都是RlSC—v爱好者关注的。SiFive研发团队所成立的SiFive公司推动RISC—V展,以此来开启RISC—V指令集架构的“芯”时代。 第2章RlSC—v指令集架构介绍。本章简要地介绍RlSC—V指令集架构,对RlSC—V架构特性、指令格式、寄存器列表、地址空间与寻址模式、中断和异常、调试规范、RlSC—v未来的扩展子集及RlSC—V指令列表等方面做了说明。 第3章 SiFive FE310一G003微控制器。本章介绍了SlFlve E系列32位RISC—V嵌入式微控制器的主要技术特性,SiFve E3pan>处理器内核的体系结构、、内核本地中断器(C_lNT)台级中断控制器(PLIC)、JTAG调试接口电路及BootLoader。FE310微控制含运行速度达320MHz以上的slFlye E3pan>内核、内置16 KB一级指令高速缓存和64 KB一级DTlM、外置SPI闪存。上电能的始终上电(AON)模块,在芯片其余部分处耗模式时仍保持工作状态。常用的外设接口电路如GPIO、看门狗、RTC、UART、l¨c、SPI。运动控制用的PWM在智能小车实例上会用得到。 第4章使用Freedom E—SDKslFive F reedom studi0的wir~dows集成开发调试环境,说明编译代码所需要的软件和工具链的组织结构。介绍编译器创建工程与工程设置的方法和SEGGER J—Link OB调试器的安装方法。对于Sifve Leam Ifwetltor开发系统,基于Freedom E—SDK的HeIIo World实例学的软件开发和调试,运行Dh rystoee与CoreMark基准程序以确认E3pan>处理器的性能指标。 第5章FreeRTOS实时多任务作系统原理与应用。提起作系统,大多数人的反应是Wiridows、And roid和lOS等常见的大型作系统,对于微控制器来讲,这些系统都用不了,它们有自己专用的实时作系统(RTOS)。本书选择F reeRTOS的主要原因在于它是免费的,而且全球用量很大,很多第三方厂商都选择FreeRTOS作为默认作系统,整合了许多WiFi和蓝牙的协议栈。笔者由浅入深让读者对F reeRTOS先有基本概念,再对F reeRTOSFreeRTOS的RISE:一VLIART驱动,保证移植过程合理。 第6章RT—Th read实时作系统原理与应用。本章先对RT—Th readRT—Th read Nano的内核实现、CPLJ架构移植与板级支持移植、应用内核中主要的组件FinsH控制台、串行通信接口LJART驱动移植,均有配套示例方便读者动手实践和参考。书中按照RT—Th read官方的移植标准和移植原理介绍,使其可以完整运行在siFiVe E3pan>内核上,配合Freedom StIJdio和Freedom ESDK开发RT—Th read应用。依照本章学一定会惊讶原来RTOS的学复杂,反而很有趣,自己写RTOS的成就感油然而生。 第7章SiFive Learn Inventor开发系统应用开发实例。初学者必然缺乏项目经验,本章整理一些SiFiye Learn Inventor开发系统的使用实例,以及分享智能车的项目经验,让初学者增加学技巧的机会。首先说明SIFive Learn Inventor开发系统组成,项目开发中最常用的是简单的GPlO控制。例如点亮RGB LED显示屏的编程步骤与RTC定时器的使用,以及GPIO按键输入控制LED灯,了解中断服务程序设计。接着以微控制器外围传感器模块为主,对传感器模块所涉及的理论知行讲解。本章引入两个智能小车的系统设计项目实例,红外循迹小车带有脉冲宽度调制能。由于惯性的影响,小车的速度不能太快,否则很容易跑飞,笔者也详细说明用于性能的比例一积分一微分(PID)"控制算法。项目实例基于寄存器开发,给出实施的具体步骤与实例程序,注重学生工程实践能力的培养。 附录A Afnazorl FreeRTOS认证。本章定义了使用Arrlazon FreeRTOS端口的开发者必须遵循的过程及端口必须通过的一组测试。指导读者设置Amazon FreeRTOS项目,使用Amazon FreerTOS QuaIificat~on测试端口,移植Amazon FreeRTOS附录B An3azon FreeRTOS移植。本章介绍移植Amazon FreeRTOS的系统要求。指导读者下载Anlazorl FreeRTOS,配置其中的文件和文件夹并移植Amazon FreeRTOS库。 附录c自制竞赛用智能车。本章分别从机械结构设计、电子电路设计与控制程序设计等三方面,来完成智能车所需要的完整系统硬件设计与软件开发方法。 附录D SlFlye LeBrn Inventor开发系统常见问题解答。本章说明了在Ubuntu上的例程,J—Link OB调试器未接入、恢复开发系统出厂设置、无法刻录程序、恢复开发系统出厂设置后仍无法刻录程序等问题在这里都能找到答案。 致谢 人生就是一个不断探索的过程,对学生和老师是一样的,对学校和企业也是一样的。笔者自诩有二十年半导体行业经验,参与大学竞赛的出题与评委还是头一回。201 9年9月初,北京智芯国信的王延鑫和陈黎来到上海赛防科技,双方对于全国大学生集成电路大赛学陈春晖、马晓宝、徐新权,西北工业大学仲宇超,合肥工业大学周攀,武汉大学电信院卓工班张诗化、万崇蕙、曹萱晴、贺杨鹏、郑北辰、陈薇、程云柯、冷浩东、张妍,以及上海赛昉科技高级现场应用经理等,是他们让书的内容更加丰富。 在本书撰写过程中,广泛参考了许多国内外相关经典教材与文献资料,在此对所参考资料的作者表示诚挚的感谢。本书在编写过程中还引用了互联网上资讯及报道,在此向原作者和刊发机构表示真挚的谢意,并对不能一~注明参考文献的作者深表歉意。对于收集到没有标明出处或找不到出处的共享资料,以及对有行加工、修改后纳入本书的资料,笔者在此郑重声明,本书内容仅用于教学,其著作权属于原作者,并向他们表示致敬和感谢。 在本书的编写过程中得到了家人的理解和支持,并且一直得到电子工业出版社刘志红老师的关心和大力支持,电子工业出版社的其他编辑也付出了辛勤的劳动。在此谨向支持和关心本书编写的家人、同人和朋友一并表示感谢。 结束语 我们都知道万事开头难,笔者先将能整理出来的实验介绍给读者,随着后续笔者担任其他大学竞赛的出题与评委工作,还会再补充新的RISC—v实验项目。让读者能从RISC—V技术里学到更多有用的知识,不仅学校里的实验课能用得到,在微控制器系统设计的职场上也能派上用场,共同为中国的集成电路产业做出贡献。 本书尽力在内容的组织与说明上做到准确无误,实验过程力求循序。由于嵌入式技术的发展日新月异,内容涉及的知识面广,存在很多只能靠自己实践才能获得的知识。由于个人和经验有限,书中难免存在疏漏和不足之处,敬请广大读者批评指教,并将宝贵意见反馈到笔者邮箱(305201 0036@qq.com) 陈宏铭 2020年5目 |
作者简介 | |
陈宏铭,教授,台湾清华大学电机工学学士与微电子专业工学硕士,北京大学微电子专业理学博士。他曾任杭州电子科技大学讲座教授、武汉大学教授、青岛大学教授、江南大学企业教师,教授本科生有关芯片设计、制造、封测与RISC-Ⅴ处理器相关的入门知识。 他拥有超过二十年的半导体相关行业经验,目前担任上海道生物联技术有限公司副总裁,专注于无耗广域物联网芯片与系统、RISC-Ⅴ处理器、超算与人工智能加速器等领域。在加入上海道生物联技术有限公司之前,他曾担任上海赛防科技资深总监、创意电子总监及智原科技总监,更早之前还担任过明导国际亚太区产品专家,铿腾电子科技应用工程师与联阳半导体数字设计工程师。 同时,他兼任“第四届全国大学生集成电路创新创业大赛”及“第十五届中国研究生电子设计竞赛上海赛区”的RISC-Ⅴ相关企业赛题命题人与评委。 |