您现在的位置: 主页 > 嵌入式软件 > C/C++ > C/C++嵌入式系统设计的软件选项
本文所属标签:
为本文创立个标签吧:

C/C++嵌入式系统设计的软件选项

来源:网络整理 网络用户发布,如有版权联系网管删除 2018-09-04 

 C/C++嵌入式系统设计的软件选项

设计工程师通常使用C等编程语言来开发基于微处理器或微控制器架构的嵌入式系统。 C语言的普及催生了用于程序库、编译器和操作系统等工具的大型技术生态系统。现场可编程门阵列(FPGA)是嵌入式领域的新技术,采用硬件描述语言来创建可重配置数字逻辑。为了描述硬件和利用数字电路的高性能并行性,硬件描述语言提供的语法与软件工程师习惯使用的语法截然不同。通过提供包含软件工程师熟悉的编程构造的FPGA开发环境,在设计中使用FPGA嵌入式软件工程师就可以充分发挥FPGA的优势。

使用NI硬件的嵌入式系统设计工程师在构建其系统时可以选择一系列编程语言和工具。阅读本文档,了解如何编程NI嵌入式系统以及下载您需要的软件工具。

1. NI嵌入式系统架构介绍
NI可重配置I/O (RIO)平台包括两个可编程硬件:运行实时操作系统(RTOS)的微处理器和FPGA。这使您可以根据每个任务的重要性,在FPGA和RTOS之间为代码分区。

图1. NI嵌入式硬件架构

图1. NI嵌入式硬件架构

NI可重配置硬件

在嵌入式系统设计中引入FPGA,使得无需自定义ASIC设计就可以创建高性能数字逻辑。FPGA的开发通常是采用基于文本的硬件描述语言来实现,如VHDL或Verilog,这些是由数字设计工程师编写。但是由于这些硬件描述语言的语法过于复杂,要利用FPGA设计的全部功能非常困难。这一点充分体现在嵌入式行业亟需寻找更高层次抽象的FPGA设计,如C-to-gates工具或LabVIEW FPGA的G语言等图形化编程语言。

图2. NI嵌入式系统软件架构

图2. NI嵌入式系统软件架构

NI嵌入式软件架构

实时操作系统 - 您可以灵活地选择使用LabVIEW Real-Time、C / C+ +、文本数学或这些语言的组合来编程嵌入式处理器。您可以从多个软件架构中进行选择,使您既可以集成以往项目的现存源代码,同时还可利用LabVIEW的特性来节省开发时间。

FPGA - LabVIEW提供了一种全功能的编程语言,因此如果您熟悉基于文本的传统编程语言,如C,您就可以放心地使用环境,同时利用新硬件平台FPGA的优势。

2. 选择NI嵌入式硬件平台
NI RIO硬件提供了最好的现成平台来帮助您完成任何的控制和监测任务。NI基于平台的方法使得小团队能够自信地构建创新型嵌入式系统,而且不需要浪费开发时间和成本在自定义设计上。

 C/C++嵌入式系统设计的软件选项

3. NI LabVIEW for FPGA Development

LabVIEW编程环境显然非常适用于FPGA编程,因为它可清晰地显示并行机制和数据流。使用LabVIEW FPGA Module,擅长C语言的工程师和科学家也可以在他们的设计中利用FPGA,而无需学习硬件设计。此外,FPGA接口C API提供了FPGA和实时应用程序之间的通信层,用于实现I/O控制和数据流。有了这个API,您可以使用LabVIEW图形化工具对FPGA进行编程,并选择LabVIEW或C / C+ +工具来对系统内的处理器进行编程。

LabVIEW FPGA可帮助您创建自定义测量和控制硬件而无需底层硬件描述语言或板卡级设计。您可以使用此自定义硬件来实现独特的定时和触发程序、超高速控制、数字协议连接、数字信号处理(DS),P以及许多其他需要高速硬件可靠性和严格确定性的应用。

LabVIEW FPGA资源

教程:FPGA技术介绍:五大优势
教程:LabVIEW FPGA入门
下载:评估LabVIEW FPGA模块

图3. LabVIEW FPGA中定时循环

图3. LabVIEW FPGA中定时循环

4. C/C++实时应用程序开发
程序员有几种不同的软件架构可供选择,但是他们必须首先将项目需求与最佳的软件设计进行匹配。他们必须考虑软件性能预期等技术需求以及项目截止期限、现有代码重用和团队成员的编程语言技能等业务需求。

例如,系统设计人员必须决定如何最好地利用LabVIEW的生产效率优势来进行实时编程,同时集成之前项目的C / C+ +代码。一种解决方案是从LabVIEW应用程序中调用C或C+ +共享库,C或C+ +共享库使用的是LabVIEW固有的并行线程调度。设计人员还可以使用内置的LabVIEW信号处理函数或结合LabVIEW MathScript RT模块使用.m算法,进一步节省开发精力。另外,程序员可以使用Eclipse或任何其他的集成开发环境(IDE)来开发、调试和部署完全使用C或C+ +编写的应用程序,同时利用LabVIEW的优势来编程FPGA。


you might also like

  • Vivado使用误区与进阶用Tcl定制Vivado设计实现流程
  • 使用分布式I/O构建实时系统
  • 手把手课堂:用Vivado IPI和Xilinx IP实现更快速的设计输入
  • 手把手课堂:FPGA设计规划框架
  • 基于动态重构技术的FPGA电路容错性能评估系统
  • 仪器的未来软件设计的仪器正在掀起RF仪器、测试和设计的革命
  • 搭配模型基础设计工具 FPGA SoC加速马达开发
  • JESD204B子类(第二部分):子类 1与子类2系统考虑因素
  • 使用Candance FPGA System Planner和Alitum Designer Scripting加速原理图设计
  • 成功手游必不可少的要素页面设计

  • (责任编辑:ioter)


                  查看评论 回复



    嵌入式交流网主页 > 嵌入式软件 > C/C++ > C/C++嵌入式系统设计的软件选项
     嵌入式 硬件 设计

    网站地图

    围观()