
自主研发的一款高性能人机界面(HMI)显控一体机。产品搭载 Rockchip RK3506处理器,采用 三核 Cortex-A7 + 单核 Cortex-M0 的多核异构架构,主频高达 1.5GHz,在提供强劲业务处理性能的同时,兼具实时控制能力。
板载音频模块,可用于语音提示与多媒体交互。产品提供丰富的工业通信与扩展接口,包括 1 路百兆以太网、1 路 USB、1 路 Wi-Fi & Bluetooth 二合一模块、2 路 RS-485、2 路 RS-232、1 路 CAN 总线以及 1 路 TF 卡槽。支持现场固件升级、参数导入导出、数据存储等功能,可灵活适配工业、商业及 IoT 智能控制应用。
作为一款高集成度的显控一体机,HMI 适配嵌入式 Linux 系统,具备 UI 展示、数据处理、边缘计算、通信管理等能力,可广泛应用于智能屏、工业网关、物联终端等场景。产品还可用于电力监控、储能触控屏、光伏逆变器 HMI 等多协议实时控制应用场景,也适用于 PLC 控制面板、工业仪表、设备状态监控与产线可视化。此外,还可用于自助售卖机、智能门禁、停车终端、广告屏等人机交互设备,以及智能照明、暖通、新风设备的集中控制,支持多协议通信。
二、Linux 课程亮点




课程学习有问题,还可以语音交流,答疑:

学员评价:

三、Linux系统调试方法汇总

- 内容概述:介绍 Linux 系统的性能调优和调试技术,包括性能监控、瓶颈分析、调试工具使用等。
- 学习目标:掌握系统调优和调试的技术,提高 Linux 系统的稳定性和性能。
Linux 内核的打印

dynamic debug动态打印

perf进行性能优化

strace跟踪器的原理及使用

网卡队列均衡负载

跟踪系统事件

四、Linux驱动各个子系统

- 内容概述:介绍一些常用的硬件设备及其在 Linux 系统中的应用,如继电器、AP3216 传感器、OLED 显示屏等。
- 学习目标:了解这些外设的基本原理和使用方法,能够在 Linux 系统中驱动和控制这些设备。

继电器:

AP3216

Oled

- 内容概述:介绍 Linux 内核中的中断处理机制和异常处理机制,包括中断向量、处理流程、异常类型及其处理方法。
- 学习目标:掌握中断和异常处理的原理和方法,能够编写和调试中断服务程序。
中断注册:

中断下半部 tasklet 原理:

实验:

- 内容概述:讲解 Linux 内核中的各种互斥机制,包括自旋锁、互斥锁、读写锁、信号量等。
- 学习目标:理解并能够应用这些互斥机制,确保多线程和多进程环境下的安全性和同步性。
互斥锁:

自旋锁的实现原理

互斥锁的原理:

信号量



必要性:.dts语法、设备树编译、内核解析机制。
原因:现代嵌入式开发已全面替代硬编码,必须掌握。
学习方法:
① 反编译对比:修改.dts后编译成.dtb,再用fdtdump工具反编译,观察语法对应关系。 ② 动态修改:通过/proc/device-tree实时查看内核解析后的设备树节点。


必要性:platform_driver、platform_device分离设计。
原因:Linux驱动框架的核心设计思想,高频面试题。
学习方法:
① 分离设计实践:将字符设备驱动改造成platform_driver和platform_device分离结构(设备树描述硬件资源)。 ② 匹配机制实验:故意修改of_match_table中的兼容字符串,观察驱动加载失败现象。


必要性:gpiod_get、方向设置、中断绑定。
原因:所有引脚控制的基础(如LED、继电器)。
学习方法:
① LED闪烁实战:通过gpiod_direction_output()控制LED引脚电平,结合定时器实现呼吸灯效果。 ② 中断按键:用gpiod_to_irq()将按键GPIO映射为中断号,测试防抖处理。

必要性:引脚复用配置(如UART和GPIO冲突时)。
原因:解决复杂SoC引脚功能冲突问题。
学习方法:
① 引脚复用冲突:在设备树中配置同一引脚既作UART又作GPIO,观察内核启动时的报错信息。 ② 示波器验证:修改pinctrl配置后,用示波器测量引脚实际电平变化。


必要性:led_classdev、触发器(trigger)。
原因:标准化LED控制,快速开发无需重复造轮子。
学习方法:
① 触发器应用:利用内置的heartbeat触发器实现LED随系统心跳闪烁,无需编写驱动。

必要性:I2C用于连接低速外设(如传感器、EEPROM、触摸屏等)
学习方法:
① 用户态模拟:先用i2c-tools(如i2cset/i2cget)手动操作传感器,再对比内核驱动实现。 ② 协议分析:用逻辑分析仪抓取I2C波形,对照时序图分析START/STOP/ACK信号。


① 全双工测试:实现SPI环回测试(MOSI接MISO),验证数据收发一致性。 ② 性能优化:对比spi_sync()和spi_async()的吞吐量差异(如传输1MB数据耗时)。


① 回环测试:短接开发板TX/RX引脚,通过echo命令发送数据并接收验证。 ② 自定义协议:基于tty_struct实现一个简单的串口协议(如帧头+数据+CRC校验)


五、Linux驱动复杂子系统
包含如下内容:

必要性:SD卡、Wi-Fi模块等高速外设的通信接口。
原因:嵌入式设备中常用SDIO接口连接Wi-Fi芯片(如RTL8723DS)、SD存储卡等,需掌握SDIO协议、块设备读写、中断处理及电源管理。

必要性:有线网络通信的基础,支持TCP/IP协议栈与PHY芯片驱动。
原因:工业设备(如PLC)、网络网关开发必备,需熟悉PHY寄存器配置、net_device结构体、DMA传输优化及网络协议栈集成。

必要性:高清视频与音频传输的标准接口。
原因:多媒体设备、显示终端需实现高清视频输出,涉及TMDS信号协议、EDID读取、分辨率切换及音频嵌入等技术。

必要性:音频采集与播放的硬件接口。
原因:语音设备、多媒体系统需处理音频流,包括I2S/PCM协议、编解码器驱动、ALSA框架集成及音频功耗管理。

必要性:高速外设扩展接口(如GPU、NVMe SSD)。
原因:高性能计算、存储设备依赖PCIE进行高速数据传输,需掌握枚举、配置空间、DMA及链路电源管理。

必要性:移动设备中摄像头、显示屏的串行接口。
原因:智能手机、嵌入式视觉系统常用MIPI CSI(摄像头)和DSI(显示),需理解通道同步、时序配置及低功耗模式。

必要性:通用外设连接与数据传输接口。
原因:从HID设备到高速存储均依赖USB,需掌握主机/设备模式、端点配置、USB协议栈及Type-C多角色支持。


扫码,备注“嵌入式大杂烩”