使用 Renesas RA 产品系列的开源软件入门
投稿人:DigiKey 北美编辑
2020-09-10
开发团队正面临着一些挑战,例如开发成本、不断增加的系统复杂性、更短的开发周期,甚至是软件锁定。这种“少花钱多做事”的做法正在成为嵌入式行业的共同主题:已经没有时间再从头开始设计了。虽然开源软件可以提供极大的帮助,但从集成、Bug 和项目时间轴的角度来看,也存在风险,不过这种情况正在改变。
开发团队可以利用一个独特的解决方案来解决这些挑战,那就是使用新兴的开源软件平台。这些平台通常经过集成和测试以消除风险,并设计与所基于的微控制器系列一起使用。
本文将介绍开源软件的概念,并说明这些平台是如何降低风险。然后文中将展示如何在 RA 系列微控制器上使用 Renesas 灵活配置软件包 (FSP) 开始开源平台使用。
开源软件的优缺点
开源软件是指任何人都可以在软件许可模式的限制范围内检查、修改和增强其源代码1的软件。开源软件已成为开发团队的重要资产,因为它鼓励重复使用并提供对既有软件模块的访问,而几乎没有成本或很少成本。例如,从头开始编写一个 RTOS 需要花费大量的时间和预算,而且还要投入更多的时间和资源进行多年维护。作为替代,开发人员可以利用几个开源 RTOS。这让他们可以更专注于应用程序代码的差异化,而不是花时间去维护底层操作系统。
在时间表和预算不断被压缩的开发周期中,开源软件提供了一种机制,使开发团队能够利用现有的资源并专注于他们的应用程序代码。除了节省时间和金钱之外,开源软件还有多种优势。这些优势包括与编译的二进制代码相比的代码透明性,以及通常可以访问由志同道合的开发人员组成的全球社区。
尽管如此,开源软件也存在一定的风险,因此开发人员在决定是否使用开源软件时,需要考虑几个重要因素。
首先,并不是所有开源软件都提供全球支持。有很多软件是有些人为了好玩而在地下室或车库里开发的。他们可能会在短时间内支持代码,然后转向其他更感兴趣的项目,让用户自生自灭。
其次,开源软件可能提供几种不同的许可模式之一。有些许可允许软件用于商业或任何目的。有些许可则希望任何相关的代码或更改都能与社区公开共享。虽然这看上去相当公平,但也是一种潜在的责任风险,可能要求公司发布源代码。
最后,就开源软件而言,质量可能就会比较随意。开发人员往往对要构建的内容有特定的想法,而且往往会构建一些功能性的东西。功能性并不意味着健全、没有 Bug,或者容易集成到其他软件包或代码库中。使用开源软件时,质量可能是主要的障碍,因此用户需要小心。
利用 Renesas 的 FSP 消除开源风险
为了最大限度地降低开源的风险,同时尽量发挥最大优势,开发人员可以利用已由知名提供商集成、测试并提供支持的软件。这就是 Renesas RA 系列 FSP 的目的。
Renesas RA 系列之所以值得关注,是因为除了硬件之外,该平台还以 FSP 的形式提供开源软件(图 1)。该 FSP 提供微控制器启动和运行所需的所有软件,包括板级支持包 (BSP)、硬件抽象层 (HAL) 和若干中间件堆栈。此外,FSP 还包括 FreeRTOS,这是一款在开发人员中很流行的开源 RTOS。该软件还经过了集成和测试,因此开发人员可以立即开始编写应用程序代码,最大限度地减少为底层硬件担心的时间。
图 1:FSP 提供了集成软件堆栈,可以开箱即用并且易于配置。(图片来源:Renesas)
该 FSP 仅可与 Renesas RA 系列微控制器一起使用。该平台很容易入门,但需要开发人员首先选择开发板。
选择 Renesas RA 系列开发板
Renesas RA 系列分为四大处理器系列,包括 RA2、RA4、RA6 和 RA8 系列。每个处理器系列都针对略有不同的性能组进行了定制,并提供 Arm® Cortex®-M23、Cortex-M33 或 Cortex-M4 处理器(图 2)。从 RA2 到 RA8 系列,提供的闪存和功能逐级递增,功耗也相应增多。
图 2:Renesas RA 系列微控制器分为四个通用系列,通过几种不同的 Arm Cortex-M 处理器内核提供不同的性能范围。(图片来源:Renesas)
在决定使用哪种开发板时,首先确定终端应用程序可能会有所帮助。例如,对于医疗保健、办公或测量设备中的低功耗控制或接口应用,RTK7EKA2A1S00001BU (EK-RA2A1) 将是不错的选择(图 3)。这款开发板采用低功耗 RA2A1 48 MHz Arm Cortex-M23 处理器,并辅以 256 KB 闪存和 32 KB RAM。除几个扩展连接器外,开发板同样几乎是裸露的,非常适合连接外部传感器或执行器。该板包括片上调试器、按钮、电位计和电容式触摸按钮。
图 3:EK-RA2A1 包含多种扩展连接器,非常适合连接控制应用和外部传感器。(图片来源:Renesas)
对于物联网、工业、家用电器或仪表产品等更高级的应用,开发人员可能会更喜欢 EK-RA4M1 (RTK7EKA4M1S00001BU) 开发板。EK-RA4M1 采用 RA4M1 Arm Cortex-M4 处理器,运行频率也是 48 MHz,并同样配备 256 KB 闪存和 32 KB RAM。此外,这款开发板也是专为低功耗应用设计。
对于需要更高性能、LCD、Internet 连接、高级安全性和其他高端功能的应用,开发人员可能要考虑 RTK7EKA6M2S00001BU (EK-A6M2) 或 RTK7EKA6M3S00001BU (EK-A6M3) 开发板。EK-A6M2 基于 RA6M2,这是一款 Arm Cortex-M4 处理器,运行频率为 120 MHz,并配备最高 1024 KB 的闪存和 384 KB 的 RAM。
EK-A6M2 开发板同样只提供基本功能,如排针、电位计和按钮。这是一款出色的低成本开发板,让开发人员可以开始使用开发环境、软件并了解硬件。
EK-A6M3 开发板则更加有趣(图 4)。该开发板基于 RA6M3 Arm Cortex-M4 处理器,运行频率同样是 120 MHz,但配备高达 2048 KB 的闪存和 640 KB 的 RAM。
图 4:RA6M3 处理器适用的 EK-A6M3 开发板具有 32 MB 外部 QSPI 闪存,可供存储图形应用数据,因此支持图形扩展板使用图形加速器和触控功能。(图片来源:Renesas)
EK-A6M3 附带一个图形扩展板,允许开发人员使用图形加速器和触控功能。该开发板配有以太网接口、PMOD 扩展和微型总线连接器。此外,开发板还附带 32 MB 外部 QSPI 闪存,可供存储图形应用数据。开发人员会发现,他们还可以利用一个 4.3 英寸 TFT 彩色液晶显示器,该显示器分辨率为 480 x 272,带有电容式触控覆盖面板。
使用 FSP 编写第一个应用程序
要开始编写第一个 FSP 应用程序,开发人员需要遵循几个步骤。
- 从上一部分中选择一款最适合应用需求的开发板。
- 下载并安装 e2 Studio IDE。使用 e2 Studio,开发人员可以创建项目、管理软件组件及编写应用程序代码。此外,开发人员还可以运行调试会话并与他们的开发板交互。
- 下载并安装 FSP。
完成这些步骤后,开发人员就可以打开 e2 Studio 并使用以下步骤创建新项目:
- File(文件)-> New(新建)-> RA C/C++ Project(RA C/C++ 项目)。
- 选择 Renesas RA C Executable Project(Renesas RA C 可执行项目),然后选择 Next(下一步)(图 5)。
图 5:FSP 项目通过利用 Renesas RA C Executable Project 模板进行创建。(图片来源:Beningo Embedded Group)
- 然后,开发人员提供他们的项目名称并选择重要的项目参数,示例如下(图 6):
- 要使用的 FSP 版本
- 开发板型号
- 微控制器器件
- 要使用的 RTOS(如果确实要使用)
图 6:开发人员在创建项目时会选择重要的器件和软件参数。(图片来源:Beningo Embedded Group)
创建项目后,开发人员就可以使用 IDE 开发其应用程序代码,并使用 e2 Studio 堆栈配置工具在他们的项目中配置集成的驱动程序、框架和开源软件。
使用开源软件的技巧与诀窍
利用开源软件已成为开发团队加快开发速度和控制成本的关键。为了成功地利用开源软件,开发团队应该牢记几个“技巧与诀窍”,例如:
- 选择具有活跃社区的软件,而不是来自 GitHub 或类似服务的一次性示例。
- 对开源软件代码库进行软件审计和质量分析。
- 请律师对软件许可进行审查,以确保正确理解许可内容。
- 使用抽象层来消除依赖关系。这样就可以在以后需要时轻松删除该软件包。
- 尽可能利用集成软件来最大限度地减少问题。
开发人员遵循这些“技巧与诀窍”后,便会发现他们可以在保护物联网设备安全的过程中节省不少时间并省去很多麻烦。
总结
随着嵌入式系统复杂性的增加,开源软件可帮助开发团队更好地管理时间轴和预算。但是,开发团队需要仔细选择所使用的开源软件。网络上有许多不受支持的开源软件,会造成无休止的集成和维护问题。
如本文所述,像 Renesas RA 系列微控制器这样的平台已经摆脱了繁琐的工作,并为团队提供了坚实的基础,让他们可以开始开发自己的应用程序,同时保持进度和预算。
参考资料
免责声明:各个作者和/或论坛参与者在本网站发表的观点、看法和意见不代表 DigiKey 的观点、看法和意见,也不代表 DigiKey 官方政策。