如何制作网站的步骤,手机网站开发流程图,广州网站商城建设,潍坊做网站哪家好本教程基于韦东山百问网出的 DShanMCU-RA6M5开发板 进行编写#xff0c;需要的同学可以在这里获取#xff1a; https://item.taobao.com/item.htm?id728461040949
配套资料获取#xff1a;https://renesas-docs.100ask.net
瑞萨MCU零基础入门系列教程汇总#xff1a; ht…本教程基于韦东山百问网出的 DShanMCU-RA6M5开发板 进行编写需要的同学可以在这里获取 https://item.taobao.com/item.htm?id728461040949
配套资料获取https://renesas-docs.100ask.net
瑞萨MCU零基础入门系列教程汇总 https://blog.csdn.net/qq_35181236/article/details/132779862 第3章 开发环境搭建与体验
本章目标
搭建 Renesas 的开发环境使用 e2 studio 创建工程和编写代码使用 RA Smart Configurator 创建 MDK 工程
3.1 认识瑞萨处理器的开发环境
瑞萨处理器的软件开发支持多种集成开发环境比如瑞萨官方的 e2 studio还有使用非常广泛的 Keil MDK。
本节对这些开发软件进行简单介绍比较 e2 studio 和 MDK 这两个 IDE提供选择建议。
3.1.1 瑞萨的开发软件
灵活配置软件包FSP
灵活配置软件包FSP)是一款综合性软件旨在以较低的内存占用量提供快速高效的驱动程序和协议栈专门针对 RA 产品家族 MCU 的架构进行优化RA 产品家族 MCU 的开发也充分兼顾该软件的特性。在开发 FSP 的过程中首要目标是为工程师提供简单高效的功能和驱动程序以简化嵌入式系统中常见用例如通信和安全的实现。它们构成了一个开放的软件生态系统可以灵活使用旧代码并与第三方工具结合使用。
FSP 集成了中间件协议栈、独立于 RTOS 的硬件抽象层(HAL)驱动程序适用于生产以及作为所有这些组件基础工具的板级支持包(BSP)还有广泛使用的来自 Amazon Web Services 的 FreeRTOSM 实时操作系统(RTOS)。以此为嵌入式系统设计提供了一个经过优化且易于使用的高质量软件包该软件包可扩展并且可以通过操作简单而功能强大的应用程序编程接口APl调用来访问所有功能从而轻松实现互换性可满足嵌入式系统软件开发阶段的大多数需求。
FSP 的层次划分和功能如下图所示 它包括以下部分
板级支持包(BSP)针对每个硬件评估板和RA产品家族的微控制器进行定制。它为所有支持的模块提供起始代码并作为这些模块的基础以确保 FSP 模块顺利运行。使用自定义硬件的开发人员也可以充分利用BSP因为开发人员可以借助e²studio中内置的User Pack Creator 针对其最终产品和电路板来定制 BSP。独立于 RTOS 的硬件抽象层(HAL驱动程序以较少的内存占用量为所有片上外设和系统服务提供高效的驱动程序。它们可以从您的硬件中提取位设置和寄存器地址因此无需对微控制器中底层硬件的文档进行大量的深入研究。中间件栈和协议可以独立使用或与RTOS结合使用使用 Arm°提供的统一APl。它们简化了连接功能的实现如 WiFi、Bluetooth低功耗或到云服务的 MQTT 连接。还包括其他协议栈例如支持USB传输、图形处理或电容式触摸的协议栈。FreeRTOST 实时操作系统提供可进行多任务处理的实时内核采用抢占式调度形式面向对象的灵活RAM分配以及用于任务通知、队列、信号量和缓冲区的不同实现方法。FreeRTOSFAT 和 FreeRTOSTCP库为需要网络连接的应用提供额外的功能。用户可自行选择是否使用 FreeRTOSFSP也可以与裸机系统或任何其他RTOS一起使用。FSP 中还包含其他第三方软件解决方案。例如ArmCortex微控制器软件接口标准CMSIS硬件抽象层、Arm MbedTM Crypto 和TLS 加密库、Arm Littlefs故障安全文件系统、emWin 嵌入式图形库和 Segger的J-Link调试器软件以及 TES DIAVE 2D 图形渲染库。
在FSP开发过程中要实现的一个目标是创建简单易用的软件以及条理清晰、整齐划一的API并进行规范的文档记录。工程师针对每个模块都编制了详细的用户文档包括示例代码位于GitHub资源库中或通过e² studio的智能手册功能可在需要的位置即开发环境内部显示信息。FSP使用Doxygen作为默认的文档工具因此各模块源代码的Doxygen 注释中也提供了其他详细信息。
集成开发环境e2 studio
e2 studio 由瑞萨开发和维护其依托于 Eclipse。Eclipse是一种时下流行且用途广泛的开源集成开发环境可用于不同的编程语言和目标平台。Eclipse可以轻松进行定制和扩展因此成为全球成千上万开发人员的首选IDE并且成为了一个事实上的标准。
e2 studio充分利用Eclipse的所有优点并加入了额外的视图和配置器透视图以支持 RA 产品家族的所有功能。它包含创建、编译和调试任意大小和复杂程度的项目所需的所有工具并指导开发人员完成软件设计的三个阶段准备、构建和调试。而且它会定期更新从而能够使用最新的Eclipse SDK和CDT工具。 e2 studio包含为 RA产品家族单片机创建、编译和调试项目所需的所有必要工具。它基于时下流行的Eclipse IDE但瑞萨在其中加入了一些面向解决方案的组件和插件使其功能更加强大。配置器尤为如此它提供了生成新项目的简单方法并能以图形访问方式轻松访问不同的硬件和软件功能如引脚配置或添加软件堆无需深入研究用户手册。这些配置器将自动创建所有必要的设置和初始化代码其中还加入了错误检查功能在设计时就能检测出有问题的组合从而节省大量可能会浪费在编写和/或调试对应用程序并无意义的代码上的时间。
RA Smart Configurator
RA Smart Configurator简称RASC是瑞萨官方推出的一款配置瑞萨RA系列处理器的桌面应用工具。它集成了FSP可以配置处理器的时钟、引脚、事件与中断和外设参数并且将这些配置生成为代码同时适配Keil MDK和IAR两种应用广泛的集成开发环境。
当开发者的硬件板卡设计在e2 studio中无法满足调试下载时就可以选择使用RASC配合Keil MDK或者IAR进行调试下载。 3.1.2 e2 studio和Keil MDK的区别和选择
e2 studio是瑞萨电子的一款包含代码开发、构建和调试的开发工具是基于开源Eclipse IDE和与之相关的C/C开发工具。e2 studio 托管了瑞萨的FSP灵活配置软件包这是一个用于支持瑞萨MCU开发的固件库。通过使用FSP库我们可以轻松配置和管理瑞萨MCU从而轻松实现复杂的应用程序。
Keil 也称为 KEIL MDK-ARM、KEIL MDK、Keil uVision5 等是ARM官方的一款专为微控制器应用而设计的集成开发工具。Keil软件为基于Cortex-M、Cortex-R4、ARM7、ARM9 处理器设备提供了一个完整的开发环境功能强大能够满足大多数的嵌入式应用。我们在使用Keil软件开发瑞萨RA MCU时为了方便配置芯片和生成FSP库代码需要配合RA Smart Configurator(RASC)软件一起使用。 本书使用的e2 studio版本是V2023-01已经默认支持除瑞萨自身的调试器和J-Link。本书使用的开发板集成了DAP调试器要在e2 studio上使用DAP需要按照后续章节进行配置。相比如Keil MDKe2 studio提供了开发者助手它会列出模块的所有函数可以、拖拽这些函数就可以生成代码它也更耗系统资源。
而Keil MDK已经支持DAP调试器。
请根据个人爱好进行选择。
3.2 e2 studio的安装
本节的主要内容就是讲解e2 studio的安装及其工程的创建。
3.2.1 获取e2 studio安装软件
打开https://github.com/renesas/fsp/releases往下拉找到“Assets”点击下载文件“setup_fsp_v4_3_0_e2s_v2023-01.exe” 3.2.2 e2 studio安装步骤
双击运行setup_fsp_v4_3_0_e2s_v2023-01.exe首先会弹出一个软件内容读取进度条随后会要求用户选择安装权限一般选择“All Users”如下图所示 在随后出现的界面里选择“Quick Install” 随后安装软件会扫描当前电脑的环境是否支持安装支持的话会全部显示绿色✓然后点击“Next”开始下一步安装如下图所示 在随后出现的界面勾选“I accept the terms of the Software Agreements”然后一路使用默认选择即可开始安装。
安装完成后可以得到如下界面 3.3 e2 studio使用指南
3.3.1 创建e2 studio工程
如果是首次打开e2 studio会要求选择工作空间本书使用e:\e2_projects和指定工具链使用默认值如图所示 接着就会显示一个欢迎界面可以在此界面选择点击“Create a new C/C project”创建一个工程 然后在弹出的界面的左侧选择“Renesas RA”,然后在右侧选择“Renesas RA C/C Project”后点击“下一步”开始创建工程如图所示 在以后的使用中建议从菜单栏的“文件”处创建工程后续操作是一样的如下图所示 接下来开始创建工程。
设置工程名称
首先弹出的是设置工程名称的界面 开发者可以在这里设置工程的名称以及该工程保存的位置注意不要有中文。默认情况下保存在缺省位置处。
当设置好工程名称和工程保存位置后点击“下一步”开始设置工程的细节。
选择芯片及工具
在此页面可以指定FSP版本、指定芯片型号本书使用R7FA6M5BF2CBG其他都使用默认值即可如下图所示
和系统初始化会调用的一个函数R_BSP_WarmStart();Debug此文件夹下包含的是内存寄存器地址链接文件不可更改如图所示 ra_cfg此文件夹下包含的是fsp配置后的头文件其中是对fsp配置参数的宏定义或声明script此文件夹下是整个工程编译所需要的链接文件configuration.xmlFSP配置页面的xml文件如果开发过程中将FSP配置页面关闭了可以双击此文件重新打开xxx Debug_Flat.lunch工程调试运行信息Developer Assistance开发者助手此处会将在FSP的Stacks中配置的外设所支持的所有HAL库函数显示出来并且可以让开发者将库函数直接拖拽到代码文件中进行编辑如下图所示 将“Call_R_IOPORT_Open”往hal_entry()的代码编辑处拖拽过去后其调用方式直接就生成到了代码中开发者只需要重新编辑该函数的参数和返回值即可非常的方便快捷。
3.3.5 e2 studio开发者助手
在上一小节已经简单演示了开发者助手在开发过程中的妙用它不仅能让开发者快速的了解某个外设所支持的库函数有哪些还能直接拖拽到函数中进行使用极大的方便了开发。
要在开发者助手中了解某个外设的库函数和拖拽使用必须要先在FSP的配置界面中的Stacks中添加该外设才行默认情况下只有IOPORT本书以SCI中的UART为例来简单讲解下Stacks和开发者助手的配合使用。
Stacks中添加外设
去FSP的Stacks中点击“New Stack”然后选择其中的“Connectivity”再选择其中的“UART”如图所示 选择之后在Stacks页面的“HAL/Common Stacks”中将会新增一个UART的堆栈配置 选中新增的UART的堆栈配置在“属性”页可以配置这个UART的具体参数如下图所示 如果e2 studio的整个页面没有“属性”页可以在e2 studio的菜单栏点开“窗口”选择其中的“显示视图”然后点击其中的“属性”即可打开属性页如下图所示 开发者助手中使用外设库函数
在Stacks中配置好外设的参数后点击“Generate Project Content”,随后在展开工程中的开发者助手“Developer Assistance”继续展开其中的“HAL/Common”就能看到其中增加了配置的那个外设的库函数如图所示 开发者只需要将库函数拖拽到代码中再重新编辑参数和返回值即可完成库函数的调用。
3.3.6 e2 studio中配置DAP调试
e2 studiostudio本身尚未支持DAP调试工具需要开发者自行安装。本节介绍如何安装Pyocd软件以支持板载的DAP调试器。
在Windows安装python
Pyocd的运行需要python环境。如果读者的Windows不支持python即使用Windows的CMD执行python后没有显示版本和python运行符的话需要先去安装最新版本的python请自行安装。 在Windows安装pyocd
Pyocd的官网网址https://pyocd.io。 读者可以在官网中获取pyocd的安装方法和支持的指令如下图所示 在支持python3.7版本以上的Windows中按下WinR输入CMD打开命令行 然后输入指令python3 -m pip install -U pyocd等待安装完成即可有些环境下可能python3无法生效则换成python -m pip install -U pyocd执行即可如下图所示 安装完成之后在命令行执行pyocd -V查看版本来验证pyocd是否安装成功如下图所示 在后续e2 studio中配置pyocd环境的时候还需要知道pyocd-gdbserver所在路径同样的可以在命令行执行where.exe pyocd-gdbserver获取路径如下图所示 图中划线部分就是后续需要的路径。
使用Pyocd查看处理器型号
先查看pyocd的target命令用法特别是其中的子命令“pack”的用法
 寄存器区当前内核寄存器值 b) 汇编区显示当前MDK指针所在位置和代码的汇编内容 c) 代码区此窗口左侧深灰色表示可以在该处打断点右侧只是实际代码
MDK支持的调试手段如下图所示 Reset复位让程序重新运行Run全速运行如果有断点则运行到断点处才停止Stop停止运行程序停止后可以观察寄存器、内存等信息Step单步运行此单步是以一句指令为最小单位遇到函数调用会跳转进入函数内Step Over单步跳过运行此单步遇到函数调用不会进入被函数内而是全速执行完函数后停止如果函数内有断点运行到断点时会停止Step Out单步跳出运行会将当前函数剩下的指令全速执行完跳出函数后停止Run to Cursor Line直行到指定行先用鼠标点击源码某行再点击此按钮就会运行到这行。 本章完