0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

CPK-RA6M4评估板入门指南(三)

我快闭嘴 来源:瑞萨MCU小百科 作者:瑞萨MCU小百科 2022-09-16 12:54 次阅读

CPK-RA6M4评估板入门指南

开发环境

e2 studio:2021-04版

FSP:v3.1.0

目录

  1. 首次使用瑞萨CPK-RA6M4评估板

  2. 下载并测试示例

  3. Hello World! – Hi Blinky!

  4. 使用实时操作系统

  5. 使用“灵活配置软件包”通过USB端口发送数据

  6. 《CPK-RA6M4评估板入门》的文件列表

3. Hello World! – Hi Blinky!

本章内容基于《瑞萨RA MCU基础知识》中的章节8. Hello World! – Hi Blinky! 所作。

3.2 使用FSP配置器设置运行环境

FSP配置器启动后,将为您提供项目的只读摘要和所选软件组件的简短概述。此外,它还提供了快捷方式,可方便地访问视频网站上的瑞萨RA频道、瑞萨官网上的瑞萨设计与支持页面(可在其中访问文档、知识库和Renesas Rulz论坛)以及硬盘上的FSP用户手册。

612cc78c-3577-11ed-ba43-dac502259ad0.jpg

图3-8:e2 studio内部的“FSP Configuration”(FSP配置)透视图

在以下名为BSP的选项卡中,可以查看和编辑设置的多个方面,例如电路板和器件选择。在此选项卡的属性视图中,可以为板级支持包进行其他设置,例如,主堆栈的大小或MCU的某些安全功能。在之后的“Clocks”时钟)选项卡中,可以为您的项目分配初始时钟配置。任何潜在的问题都将以红色突出显示,将鼠标悬停在突出显示的位置上将出现有关冲突或设置不完整的说明。

第四个选项卡Pins”(引脚)涵盖了RA MCU的引脚分配。可以根据端口或外设列出引脚。如果设置不兼容或缺失,则配置器右侧的“Package View”(封装视图)会显示器件的封装,突出显示所配置的引脚并标记错误。“Problems”(问题)视图以及“Pin Conflicts”(引脚冲突)视图中也会显示这些内容。这样,便可将可能的错误减少到最低限度。

接下来是“Interrupts”(中断)选项卡。可以在此处指定用户定义的(即非FSP)驱动程序如何使用单片机的中断控制器单元(ICU),以及将哪个中断服务程序(ISR)与ICE事件(中断)相关联。此外,还可以在此处查看分配的所有ICU事件的完整列表,包括由在配置器的“Stacks”(栈)视图中创建的FSP模块实例生成的ICU事件。

“Event Links”(事件链接)选项卡具有类似作用。可以在此处指定驱动程序如何在RA项目中使用事件链接控制器(ELC),并且可以声明此类驱动程序可能通过一组外设功能产生一组ELC事件或使用一组ELC事件。

需要花费大部分时间的页面为“Stacks”(栈)页面,可以在其中创建RTOS线程和内核对象,以及FSP软件栈。可以添加不同的对象和模块,并且可以在“Properties”(属性)视图中修改其属性。所有这些对象和模块都将自动插入,直到降至需要用户干预的程度为止。在这种情况下,一旦鼠标悬停在模块上,便会将需要注意的模块标记为红色,同时给出必要设置或问题的说明。如果问题解决,模块将恢复为标准颜色。

“Stacks”(栈)视图本身以图形方式显示各种栈,可让您轻松跟踪不同的模块。在我们的示例中,仅显示了一个具有一个模块的线程:在r_ioport上使用g_ioport I/O端口驱动程序的HAL/通用线程。它是由项目配置器自动插入的,允许我们仅用几行代码便可编写让LED闪烁的程序。

最后一个选项卡的名称是“Components”(组件),其中显示了不同的FSP模块并可对模块进行选择。它还列出了可用的RA CMSIS软件组件。不过,最好通过“Stacks”(栈)页面在当前项目中添加或删除模块,因为还可以在其中进行配置。

对于我们的项目,无需在FSP配置器中进行任何更改,因为项目配置器已经为我们进行了所有必要的设置。最后,需要创建基于当前配置的附加源代码。单击FSP配置器右上角的“Generate Project Content”(生成项目内容)按钮。此操作将从FSP中提取所需文件,将其调整为在配置器中进行的设置,然后将其添加到项目中。

3.3 编写前几行代码

获取所有自动生成的文件之后,接下来查看创建的内容。IDE左侧的“Project Explorer”(项目资源管理器)列出了当前包含的所有内容。ra_gen文件夹保存通道号等配置集。src目录包含一个名为hal_entry.c的文件。这是稍后要编辑的文件。请注意,尽管在ra_gen文件夹中有一个名为main.c的文件,但用户代码必须转到hal_entry.c中。否则,如果您在FSP配置器中进行修改并重新创建项目内容,则更改会丢失,因为每次单击“Generate Project Content”(生成项目内容)时,都将覆盖该文件。

6154ccd2-3577-11ed-ba43-dac502259ad0.jpg

图3-9:FSP配置器创建所需文件后的项目树

该项目还包含几个名称中带有“ra”或“fsp”的目录,其中包含FSP的源文件、包含文件和配置文件。通常的规则是,不得修改这些文件夹(和子文件夹)的内容。其中包含由配置器生成的文件,在此所做的任何更改都将在下次生成或刷新项目内容时丢失。用户可编辑的源文件是直接位于src文件夹或您添加的任何其他文件夹的根目录中的文件。

接下来,为RA产品家族单片机编写第一个真实源代码。计划是在CPK-RA6M4评估板上的用户LED(红色)闪烁。因此您必须通过添加代码来点亮和熄灭LED以及实现延时循环。如何实现?

实际上有两种选择:一种是通过接口函数来使用API,另一种是使用BSP实现函数。

如果查看文件ra_gencommon_data.c中的代码,则会发现I/O端口驱动程序实例g_ioport具有以下定义:

61bd40be-3577-11ed-ba43-dac502259ad0.jpg

g_ioport_on_ioport是一个结构体,用于声明端口可能执行的操作,将分配给g_ioport实例的API指针。将鼠标悬停在该结构体上,可以轻松查看其中的内容,此结构体显示了其成员之一 (.pinWrite) 是指向引脚写入函数的指针。

因此,要点亮LED,可以写入:

62184e14-3577-11ed-ba43-dac502259ad0.jpg

但这意味着实际上需要知道用户LED连接到哪些I/O端口,以及有多少个用户LED可用。为此,我们可以阅读电路板的文档或仔细检查原理图以找到正确的端口。或者,也可以只依靠FSP。创建类型为bsp_leds_t的结构体(在board_leds.h中声明)并为其分配在board_leds.c中定义的全局BSP结构体g_bsp_leds即可解决问题。这两个文件均位于项目的raoard a6m4_cpk文件夹内。因此,以下两行代码足以获取有关评估板上LED的信息

624bdd92-3577-11ed-ba43-dac502259ad0.jpg

现在,可以使用LED结构体来访问电路板上的所有LED,并使用以下语句点亮红色LED(将端口设置为低电平将点亮LED,将端口设置为高电平则将熄灭LED):

6286e00e-3577-11ed-ba43-dac502259ad0.jpg

此语句后需要有第二条语句,用于将其引脚设置为高电平以熄灭用户LED。

最后,需要提供一段延时以使LED以用户友好的方式切换。为此,可以再次调用BSP API:

62d5b01c-3577-11ed-ba43-dac502259ad0.jpg

R_BSP_SoftwareDelay函数的第一个参数是要延迟的单位数,而第二个参数是指定的基本单位,在本例中为秒。其他选项包括毫秒和微秒。

最后,由于我们想无限期地运行程序,因此必须围绕代码创建一个while(1)循环。

目前,还需要执行的操作是将以下代码行直接输入到hal_entry.c文件中的函数签名之后,替换/* TODO: add your own code here */ 行。对于由项目配置器和FSP配置器插入的其他代码,请保持不变。单片机需要借助这些代码来正常运行。

6310e48e-3577-11ed-ba43-dac502259ad0.jpg

编写代码时,始终可以使用e2 studio的自动完成功能。只需按下-,便会出现一个窗口,显示结构体或函数可能的补全代码。如果单击一个条目,它会被自动插入代码中。

63471004-3577-11ed-ba43-dac502259ad0.jpg

图3-10:在变量或函数上按下-将激活e2 studio的代码补全功能

编写程序时,另一个有用的工具是“Developer Assistance”(开发人员帮助),可以从“Project Explorer”(项目资源管理器)中访问此工具。在使用FSP配置器配置了项目的软件堆栈之后,此工具将为您快速了解应用程序代码提供支持。要访问“Developer Assistance”(开发人员帮助),请先在“Project Explorer”(项目资源管理器)中展开项目,此工具随即显示。显示工具后,进一步展开树,直到看到堆栈模块及其API。选择要使用的API,然后将对该API的调用拖放到源文件中。

现在轮到您进行操作:请将上面的代码行输入到项目的hal_entry.c文件中。为此,展开项目的src文件夹,然后双击上述文件。此操作会在编辑器中将其打开。如果您不想自己输入所有内容,也可以识别下方二维码进入本手册的网站下载完整的项目。

3.4 编译第一个项目

输入所有内容后,便可随时编译程序。编译有两种不同的配置:调试和发布。调试配置将包含调试程序所需的所有信息,例如变量和函数名,并且还将关闭编译器的某些优化,例如循环展开。这会使调试更加容易,但会增大代码大小、减慢代码执行速度。发布配置将从输出文件中除去所有这些信息,并开启完全优化,从而减小代码大小、加快代码执行速度,但是,您再也无法执行查看变量等操作(除非您知道它们在存储器中的地址)。

对于第一个测试,可以采用调试配置(也是默认配置)。要编译项目,单击主菜单栏645dc0e6-3577-11ed-ba43-dac502259ad0.jpg上的“build”(编译)按钮,编译过程随即开始。如果一切正常,编译将以0个错误和0个警告结束。如果存在编译时错误,则需要返回代码,仔细检查是否正确输入了所有内容。如果未正确输入所有内容,请相应地更改代码。为了让您更轻松地定位错误,编译器的反馈将直接插入编辑器窗口(如果可能)。

程序编译成功后,会创建输出文件CPK_RA6M4_ExampleProject.elf,需要先将其下载到处理器,然后才能运行和调试该文件。

3.5 下载和调试第一个项目

下一步是在评估板(CPK)上实际运行程序。现在需要将评估板连接到Windows工作站:将电路板随附的USB线缆的micro-B端插入系统控制和生态系统访问区域右下角的USB调试端口J11,将另一端插入PC上的空闲端口。LED1应点亮,表示电路板已通电。如果该评估板支持开箱即用,则预编程的演示会运行,表明一切都按预期运行。Windows操作系统可能会显示一个对话框,指示正在安装J-Link板上调试器的驱动程序,此过程应自动完成。此外,还可能会出现一个窗口,询问是否更新J-Link调试器。强烈建议允许进行此更新。

下载

要下载程序,必须先创建一个调试配置。单击“Debug”(调试)符号64786252-3577-11ed-ba43-dac502259ad0.jpg旁边的小箭头,然后从下拉列表框中选择“Debug Configurations”(调试配置)。

在出现的窗口中,突出显示“Renesas GDB Hardware Debugging”(瑞萨GDB硬件调试)下的CPK_RA6M4_BlinkyProject Debug_Flat。由于项目配置器已经进行了所有必要的设置,因此无需在此对话框中进行任何更改。只需单击窗口右下角的“Debug”(调试)。此操作会启动调试器,将代码下载到CPK上的RA6M4 MCU,并询问您是否要切换到“Debug Perspective”(调试透视图)。请选择“Switch”(切换)。“Debug Perspective”(调试透视图)将打开,并且程序计数器将设置为程序的入口点,即复位处理程序。此调试配置仅需要创建一次。下次只需单击“Debug”(调试)符号6499f85e-3577-11ed-ba43-dac502259ad0.jpg便可启动调试器。

64c616aa-3577-11ed-ba43-dac502259ad0.jpg

图3-11:选择MyBlinkyProject Debug_flat后,无需在其他选项卡上进行任何更改

运行

单击“Resume”(恢复)按钮64e6c3fa-3577-11ed-ba43-dac502259ad0.jpg,下一个停止处将处于main()中调用hal_entry()的位置。再次单击该按钮,程序将继续执行,且用户LED(红色)将按预期的1秒时间间隔闪烁。

观察结果

如果一切正常,单击主菜单栏上的“Suspend”(暂停)按钮65043908-3577-11ed-ba43-dac502259ad0.jpg。这将停止执行程序但不会将其终止。在编辑器视图中,激活文件hal_entry.c的选项卡,然后右键单击包含对端口的写操作的其中一行;在出现的菜单中,选择“Run to line”(运行至指定行)。执行将恢复,程序将在单击的行处停止。现在来看一下右侧包含变量的视图。您将看到列出的Leds结构体。将其展开,浏览和分析不同的字段。调试较大的项目时,此视图会派上用场。

651e235e-3577-11ed-ba43-dac502259ad0.jpg

图3-12:变量及其值可以在“Variables”(变量)视图中进行检查

最后一步是单击“Terminate”(终止)按钮655c3acc-3577-11ed-ba43-dac502259ad0.jpg,结束调试会话,以停止程序的执行。

您已经掌握了RA产品家族单片机的第一个程序!

本章要点

  • 项目配置器将创建新项目所需的所有文件和设置。

  • FSP配置器允许编程人员基于图形用户界面轻松配置FSP和运行环境。

  • 调试配置是调试项目的必需步骤。它会自动创建,只需要激活即可。

  • 实现所需功能仅需要很少的代码行。

审核编辑:汤梓红


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • mcu
    mcu
    +关注

    关注

    146

    文章

    16013

    浏览量

    343574
  • 瑞萨
    +关注

    关注

    32

    文章

    22214

    浏览量

    84915
  • 评估板
    +关注

    关注

    1

    文章

    420

    浏览量

    29026
  • RA6M4
    +关注

    关注

    0

    文章

    51

    浏览量

    378

原文标题:CPK-RA6M4评估板入门指南-第3章(2)

文章出处:【微信号:瑞萨MCU小百科,微信公众号:瑞萨MCU小百科】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    如何在CPK-RA6M4 MCU评估上让RT-Thread运行起来

    1、CPK-RA6M4 开发特点基于瑞萨RA6M4 MCU开发的CPK-RA6M4 MCU评估
    发表于 07-13 11:28

    基于RT-Thread Studio的CPK-RA6M4开发环境搭建方案推荐

    1、基于RT-Thread Studio的CPK-RA6M4开发环境搭建CPK-RA6M4 开发特点基于瑞萨RA6M4 MCU开发的
    发表于 07-14 17:45

    Renesas CPK-RA6M4开发之SDIO模块评测

    群组设计的一款中国本地评估。如下图所示:图1 CPK-RA6M4开发板载资源相对来说也比较丰富了:板载MCU为:R7FA
    发表于 07-21 11:14

    CPK-RA6M4开发通过串口和ESP8266使用AT命令的联网测试

    串口也是比较常用的外设,应用也比较简单,具体的外设功能描述也不多讲什么了。下面只讲如何使用CPK-RA6M4开发通过串口连接esp8266(esp-01s)使用AT命令联网。评测步骤:1.打开
    发表于 07-21 16:29

    CPK-RA6M4开发的RTC和WatchDog模块评测

    本次评测的开发为Renesas的CPK-RA6M4开发,它是一款Renesas官方基于RA6M4 MCU群组设计的一款中国本地评估
    发表于 08-22 16:46

    基于 RT-Thread Studio的CPK-RA6M4 开发环境搭建

    1. CPK-RA6M4 开发特点基于瑞萨RA6M4 MCU开发的CPK-RA6M4 MCU评估
    发表于 01-10 14:41

    CPK-RA6M4评估入门指南(一)

    档是《瑞萨RA MCU基础知识》的配套文档,旨在将该指南中有关硬件操作的部分在CPK-RA6M4评估板上进行实现。
    的头像 发表于 09-16 12:48 1158次阅读

    CPK-RA6M4评估入门指南(二)

    大多数编程语言新手曾编写的第一个程序(现在仍是)就是将字符串“Hello World”输出到标准输出设备的程序。对我而言,就是在编辑器中键入“Writeln (‘Hello World’)”,如同我开始学习Pascal一样。从那时起,我用其他几种语言编写了类似的代码行,主要是为了对新开发环境的安装进行完整性检查。
    的头像 发表于 09-16 12:52 616次阅读

    CPK-RA6M4评估入门指南(四)

    档是《瑞萨RA MCU基础知识》的配套文档,旨在将该指南中有关硬件操作的部分在CPK-RA6M4评估板上进行实现。
    的头像 发表于 09-20 14:10 1051次阅读

    CPK-RA6M4评估入门指南(五)

    档是《瑞萨RA MCU基础知识》的配套文档,旨在将该指南中有关硬件操作的部分在CPK-RA6M4评估板上进行实现。
    的头像 发表于 09-20 14:13 2054次阅读

    CPK-RA6M4评估入门指南(六)

    档是《瑞萨RA MCU基础知识》的配套文档,旨在将该指南中有关硬件操作的部分在CPK-RA6M4评估板上进行实现。
    的头像 发表于 09-20 14:15 1959次阅读

    CPK-RA6M4 快速入门指南

    CPK-RA6M4 快速入门指南
    发表于 01-30 19:01 0次下载
    <b class='flag-5'>CPK-RA6M4</b> 快速<b class='flag-5'>入门</b><b class='flag-5'>指南</b>

    CPK-RA6M4 用户手册

    CPK-RA6M4 用户手册
    发表于 02-02 19:06 0次下载
    <b class='flag-5'>CPK-RA6M4</b> 用户手册

    CPK-RA6M4 快速入门指南

    CPK-RA6M4 快速入门指南
    发表于 07-03 20:39 0次下载
    <b class='flag-5'>CPK-RA6M4</b> 快速<b class='flag-5'>入门</b><b class='flag-5'>指南</b>

    CPK-RA6M4 用户手册

    CPK-RA6M4 用户手册
    发表于 07-04 18:52 0次下载
    <b class='flag-5'>CPK-RA6M4</b> 用户手册