找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 16496|回复: 107

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

 火... [复制链接]

7

主题

445

回帖

2446

积分

高级会员

积分
2446
发表于 2018-9-26 21:29:59 | 显示全部楼层 |阅读模式
   

设计工程师通常使用C等编程语言来开发基于微处理器或微控制器架构的嵌入式系统。 C语言的普及催生了用于程序库、编译器和操作系统等工具的大型技术生态系统。现场可编程门阵列(FPGA)是嵌入式领域的新技术,采用硬件描述语言来创建可重配置数字逻辑。为了描述硬件和利用数字电路的高性能并行性,硬件描述语言提供的语法与软件工程师习惯使用的语法截然不同。通过提供包含软件工程师熟悉的编程构造的FPGA开发环境,在设计中使用FPGA嵌入式软件工程师就可以充分发挥FPGA的优势。
使用NI硬件的嵌入式系统设计工程师在构建其系统时可以选择一系列编程语言和工具。阅读本文档,了解如何编程NI嵌入式系统以及下载您需要的软件工具。
1. NI嵌入式系统架构介绍
NI可重配置I/O (RIO)平台包括两个可编程硬件:运行实时操作系统(RTOS)的微处理器和FPGA。这使您可以根据每个任务的重要性,在FPGA和RTOS之间为代码分区。


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


  图2. NI嵌入式系统软件架构
NI嵌入式软件架构
实时操作系统 - 您可以灵活地选择使用LabVIEW Real-Time、C / C+ +、文本数学或这些语言的组合来编程嵌入式处理器。您可以从多个软件架构中进行选择,使您既可以集成以往项目的现存源代码,同时还可利用LabVIEW的特性来节省开发时间。
FPGA - LabVIEW提供了一种全功能的编程语言,因此如果您熟悉基于文本的传统编程语言,如C,您就可以放心地使用环境,同时利用新硬件平台——FPGA的优势。
2. 选择NI嵌入式硬件平台
NI RIO硬件提供了最好的现成平台来帮助您完成任何的控制和监测任务。NI基于平台的方法使得小团队能够自信地构建创新型嵌入式系统,而且不需要浪费开发时间和成本在自定义设计上。


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中定时循环
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)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
工控课堂 www.gkket.com

11

主题

444

回帖

2505

积分

高级会员

积分
2505
发表于 2018-9-27 08:08:06 | 显示全部楼层
无私奉献,好工控人,32个赞送给你!!
工控课堂 www.gkket.com

0

主题

443

回帖

2487

积分

高级会员

积分
2487
发表于 2018-9-27 22:56:12 | 显示全部楼层
谢谢您的分享!
工控课堂 www.gkket.com

0

主题

467

回帖

2566

积分

高级会员

积分
2566
发表于 2018-9-28 05:42:13 | 显示全部楼层
楼主您的技术水准,我最服你,其他都是浮云
工控课堂 www.gkket.com

0

主题

443

回帖

2844

积分

高级会员

积分
2844
发表于 2018-9-29 21:28:14 | 显示全部楼层
看完楼主的帖子,我的心情竟是久久不能平息,受教了
工控课堂 www.gkket.com

0

主题

419

回帖

2117

积分

高级会员

积分
2117
发表于 2018-9-30 00:21:05 | 显示全部楼层
在遇到你之前我对人世间是否有技术大佬保有怀疑,现在我是彻底被你征服了
工控课堂 www.gkket.com

6

主题

462

回帖

2701

积分

高级会员

积分
2701
发表于 2018-9-30 11:39:48 | 显示全部楼层
加油,加油,不要沉下去,我是最热贴
工控课堂 www.gkket.com

0

主题

468

回帖

2880

积分

高级会员

积分
2880
发表于 2018-9-30 16:18:46 | 显示全部楼层
谢谢您的分享!
工控课堂 www.gkket.com

0

主题

357

回帖

2221

积分

高级会员

积分
2221
发表于 2018-10-1 07:38:01 | 显示全部楼层
看到这帖子真是高兴!
工控课堂 www.gkket.com

11

主题

444

回帖

2505

积分

高级会员

积分
2505
发表于 2018-10-1 12:24:40 | 显示全部楼层
太生气了,无法HOLD啦 >_<......
工控课堂 www.gkket.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|手机版|免责声明|本站介绍|工控课堂 ( 沪ICP备20008691号-1 )

GMT+8, 2025-12-22 16:55 , Processed in 0.149110 second(s), 30 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表