关于EMC(电磁兼容性)测试

EMC测试的基本概念和重要性

EMC(电磁兼容性)测试是通过评估产品在电磁方面的干扰大小和抗干扰能力,确保产品在使用过程中不会对其他设备产生干扰,同时也能抵抗外界的电磁干扰。EMC测试是产品安全认证的重要指标之一,广泛应用于各种电子设备中‌ 。

基于OpenWRT+QEMU进行源码开发

Openwrt编译

下载Openwrt源码

1
2
3
4
5
6

git clone https://github.com/openwrt/openwrt.git

或者

git clone https://git.openwrt.org/openwrt/openwrt.git/

下载安装拓展包

1
2
3
cd openwrt
./scripts/feeds update -a
./scripts/feeds install -a

./scripts/feeds update -a // 更新最新的包 ./scripts/feeds install -a // 下载所有安装所有包 目录 package/feeds/

使用feeds.conf.default 默认配置进行软件包的更新与安装

配置环境

Ubuntu环境安装依赖

通过QEMU运行OpenWRT

准备工作

快速下载固件与软件

下载地址:

UEFI固件ovmf.fd下载

https://github.com/clearlinux/common/blob/master/OVMF.fd

OpenWRT固件下载

https://downloads.openwrt.org/releases/24.10.0/targets/x86/generic/openwrt-24.10.0-x86-generic-generic-ext4-combined-efi.img.gz

QEMU 64 安装程序下载

https://qemu.weilnetz.de/w64/qemu-w64-setup-20250210.exe

下载不到的话,看下面详细介绍找到下载网页去下载。

详细介绍

https://openwrt.org/docs/guide-user/virtualization/qemu

QEMU 下载与安装

QEMU(Quick EMUlator)是一个开源的虚拟化软件,它可以模拟多个硬件平台,并在其上运行各种操作系统。

基于OpenWrt和MiniDLNA实现音视频投屏

需求

最近很多做HiFi路由器/音响路由器的朋友在问,HiFi路由器的系统该用什么来实现是比较合适的,路由器要能修改的,只能找开源的OpenWRT之类的系统,而要实现音视频投屏,则只能找DLNA相关的插件(要不就是自己写,估计没多少人会这么干)

MISRA C 具体内容

MISRA C 是由 MISRA (Motor Industry Software Reliability Association) 提出的 C 语言编程标准,专门针对嵌入式系统和汽车领域的软件开发,以提高代码的安全性、可靠性和可维护性。MISRA C 规范广泛应用于对安全性、可靠性和代码质量要求极高的嵌入式系统中,例如汽车、航空航天、工业控制等。

AUTOSAR(Automotive Open System Architecture)是一种标准化的汽车电子软件架构

AUTOSAR(Automotive Open System Architecture)是一种标准化的汽车电子软件架构,旨在解决现代汽车中复杂的电子和软件系统的设计、开发和集成问题。它提供了一个开放的、模块化的软件架构,使得不同厂商和供应商之间的电子控制单元(ECU)能够更容易地进行互操作、集成和升级。

用AI开发NUC970DK61Y芯片的单片机程序

用AI开发单片机的一天,需求就是程序,看看我针对AI的需求描述 :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
我希望开发一款在裸机和Linux环境下都能运行的多线程程序,使用NUC970DK61Y单片机。

该程序需要支持多种外设接口和通讯方式,并且能够适应不同的平台,确保代码的可移植性。

具体需求如下:

UART通讯:通过UART0输出日志,UART6用于数据通讯,其中RX用于显示外部发来的信息,TX的功能待定。
USB Host方式驱动HID:实现USB Host模式,支持HID设备的驱动。
I2C通讯:支持I2C协议进行数据传输。
SPI通讯:用于驱动屏幕,采用SPI协议。
LCM驱动RGB屏幕通讯:支持使用LCM驱动RGB方式的屏幕通讯。
UI与底层分离:将应用层与底层硬件抽象层(HAL)分离,确保代码的跨平台性。
多任务支持:支持多线程或多任务的处理,适应不同的运行环境(裸机与Linux)。
协议解析框架:实现用于HID和UART协议的解析框架。
C++编程:程序采用C++语言开发,使用namespace进行模块隔离,确保结构清晰。
按键与编码器输入:能够识别按键和编码器的输入,并触发相应事件。
你帮我设计程序的整个框架,我希望我的程序在健壮性,鲁棒性,安全性都符合以下标准:

ISO 26262:专注于汽车领域的安全性,提供安全完整性级别(ASIL)定义,并确保系统的功能安全。
MISRA C:为嵌入式开发提供一套C语言编程规范,强调代码的安全性和可靠性。
Yoda 写法:一种防止误用赋值操作符的编程风格,将常量放在条件语句的左侧。
DO-178C:针对航空电子软件开发的标准,确保软件的安全性和可靠性,尤其是在飞行器上的应用。