关于航天器嵌入式软件CAN总线测试方法的研究
2024-01-16引言 随着航天电子技术的发展,航天电子设备综合化程度越来越高,总线技术已经开始在航天电子领域得到越来越广泛的运用。航天器工作环境恶劣,空间辐射、电磁干扰等都可能通过硬件影响软件的正常工作,为实现“一重故障保业务连续,二重故障保航天器安全”的目标,保证软件的在轨重构功能,总线可靠性和安全性成为在轨航天器的必要保障。CAN总线作为一种串行数据通信协议,因具有高位速率、高抗电磁干扰能力以及错位可查处等可靠性、实时性特点而被广泛应用于航天电子的地面、星、箭载子系统的通信功能[1-6]。 航天器嵌入式软
基于ZYNQ FPGA构建嵌入式的模拟计算板卡
2024-01-15一、板卡概述 板卡基于高速400M 采样AD 和ZYNQ FPGA构建嵌入式的模拟计算板卡, 可用于工业雷达,行业雷达的场合。板卡使用工业级芯片。 二、主要技术指标 使用 Zynq-7000 SoC XC7Z035对嵌入式应用进行快速原型设计以实现优化 支持包含 Dual ARM Cortex-A9 核处理器的嵌入式处理 PS 端32bit 1GB 容量 DDR3 存储, PS端RS232接口1路用于调试, PS端8路IO, PS端1路 10-100-1000 Mbps Ethernet (S
ElfBoard,为嵌入式学习爱好者创造更具价值的学习体验
2024-01-09ElfBoard是飞凌嵌入式面向学习者推出的全新子品牌,旨在为嵌入式学习爱好者创造更具价值的学习体验。 ELF是“Embedded Learning Fans"嵌入式学习爱好者的首字母缩写,同时ELF也是“精灵”的意思,ElfBoard以灵动的精灵形象作为品牌Logo,代表着自由、智慧和科技,也寓意学习者能够像精灵一样自由地掌控技术,发挥无限创造力。 ElfBoard依托飞凌嵌入式十几年来的企业级板卡开发服务经验,深挖用户的需求和痛点,从而针对性地设计和开发产品,打造出了一款真正适合嵌入式技术
QT在Linux嵌入式设备上的系统配置
2024-01-09QT是目前主流的UI界面设计软件之一,Linux系统也支持QT应用,并且提供了很多方便的接口。所以有必要记录一下基于QT,在LCD屏幕上实现UI界面功能的各种细节。 1. 系统配置 出于方便,我采用的是正点原子提供的出厂系统,里面已经安装并配置好了QT,可以直接烧写QT程序进行功能实现。 里面已经写入了正点原子的出厂UI界面,所以接下来需要对其进行修改。 2. 配置Qt Creator 交叉编译工作的安装参考正点原子的相关文档,这里不再赘述。 启动 启动的时候需要加载交叉编译器,所以需要在qt
嵌入式开发中的C语言编译器设置
2024-01-09如果你和一个优秀的程序员共事,你会发现他对他使用的工具非常熟悉,就像一个画家了解他的画具一样。----比尔.盖茨 1 不能简单的认为是个工具 嵌入式程序开发跟硬件密切相关,需要使用C语言来读写底层寄存器、存取数据、控制硬件等,C语言和硬件之间由编译器来联系,一些C标准不支持的硬件特性操作,由编译器提供。 汇编可以很轻易的读写指定RAM地址、可以将代码段放入指定的Flash地址、可以精确的设置变量在RAM中分布等等,所有这些操作,在深入了解编译器后,也可以使用C语言实现。 C语言标准并非完美,有
飞凌嵌入式受邀参加「NXP创新技术论坛」
2024-01-092023年10月10日,「NXP创新技术论坛」在深圳湾万丽酒店举行,飞凌嵌入式作为NXP金牌合作伙伴受邀参加此次论坛,与众多智能工业行业的伙伴深入交流市场趋势与行业洞察,共同促进未来市场的发展。 本次论坛,飞凌嵌入式展示了采用OKMX8MP-C开发板设计的支持4K HDMI显示的工业相机方案,该方案视觉部分集成双ISP,支持高动态范围(HDR)并能适应恶劣的工业环境;配合使用4K@30fps摄像头,在视频采集上拥有超强的处理能力;可广泛应用于智能工业、人工智能、AGV、机器视觉、HMI等领域。
嵌入式C++内存管理的应用程序
2024-01-09引言 说到 C++ 的内存管理,我们可能会想到栈空间的本地变量、堆上通过 new 动态分配的变量以及全局命名空间的变量等,这些变量的分配位置都是由系统来控制管理的,而调用者只需要考虑变量的生命周期相关内容即可,而无需关心变量的具体布局。这对于普通软件的开发已经足够,但对于引擎开发而言,我们必须对内存有着更为精细的管理。 基础概念 在文章的开篇,先对一些基础概念进行简单的介绍,以便能够更好地理解后续的内容。 内存布局 如图,描述了C++程序的内存分布。 Code Segment(代码区) 也称T
嵌入式系统动态内存的使用技巧
2024-01-09一. 常见错误与预防 1. 分配后忘记释放内存 void func(void){ p = malloc(len); do_something(p); return; /*错误!退出程序时没有释放内存*/} 预防: 编写代码时malloc()和free()保证成对出现,避免忘记资源回收。 int func(void){ p = malloc(len); if (condition) return -1; /*错误!退出程序时没有释放内存*/
Linux系统的嵌入式开发是什么
2024-01-09嵌入式开发听起来很高大上,但其实它就在我们身边。 嵌入式开发是指将操作系统、应用程序或数据存储在嵌入式设备中,如手机、平板电脑、智能家居等。 随着物联网时代的到来,嵌入式开发越来越成为一种重要的技术手段。 在嵌入式开发中,开发者需要针对特定的硬件平台和操作系统进行编程,以实现设备的智能化和自动化。由于嵌入式设备通常具有有限的处理能力和存储容量,因此开发者需要优化代码,以便在有限的资源中实现最佳的性能。随着物联网时代的到来,嵌入式开发越来越成为一种重要的技术手段。嵌入式设备广泛应用于工业自动化、
嵌入式C语言经典的代码实例
2024-01-09#error的作用是什么? #error 指令让预处理器发出一条错误信息,并且会中断编译过程。下面我们从Linux代码中抽取出来一小段代码并做修改得到示例代码: 这段示例代码很简单,当RX_BUF_IDX宏的值不为0~3时,在预处理阶段就会通过 #error 指令输出一条错误提示信息: "Invalid configuration for 8139_RXBUF_IDX" 下面编译看一看结果: 位操作的基本使用 给一个32bit数据的位置1,怎么用宏来实现? #define SET_BIT(