- 博客(38)
- 收藏
- 关注
原创 嵌入式分享#31:比I2C快10倍!RK3576的I3C你用了吗?
I3C 全称为 Improved Inter-Integrated Circuit,即改进型的 I2C。它是由 MIPI(Mobile Industry Processor Interface)移动产业处理器接口联盟推出的,旨在改进传统 I2C 总线的局限性(将 I2C 和 SPI 的优势性能都整合到一起了),以满足现代物联网设备和嵌入式系统对更高性能、更灵活设备管理及更高效功耗管理的需求。
2025-10-09 21:38:59
1033
原创 嵌入式分享#37:RK3576 板子变砖?先搞懂 Maskrom 和 Loader 的区别!
正文RK3576 有两种模式烧写系统,能不能去掉其中一个?搞清楚下面两个问题,你自然会有答案。1 Maskrom 和 Loader 有什么区别?2 为什么需要两种模式?
2025-10-09 21:35:50
871
原创 嵌入式分享#41:RK3576改UART波特率【精简版】
正文RK3576 官方公版的调试串口默认波特率为 1500000,若实际使用时遇到串口工具不支持这一波特率,就需要对其进行调整。首先我们可通过系统启动首条日志判断当前所处阶段,以此为依据,就能明确波特率修改需要覆盖系统的哪些阶段。从上图的输出日志能清晰看到,系统启动后第一条打印信息就与 DDR 相关。熟悉 RK3576 启动流程的朋友应该知道,DDR 的初始化正是从 preloader 阶段正式开始的。
2025-10-09 21:34:20
579
原创 嵌入式分享#31:比I2C快10倍!RK3576的I3C你用了吗?
I3C 全称为 Improved Inter-Integrated Circuit,即改进型的 I2C。它是由 MIPI(Mobile Industry Processor Interface)移动产业处理器接口联盟推出的,旨在改进传统 I2C 总线的局限性(将 I2C 和 SPI 的优势性能都整合到一起了),以满足现代物联网设备和嵌入式系统对更高性能、更灵活设备管理及更高效功耗管理的需求。
2025-07-26 22:45:26
1242
原创 嵌入式分享#28:我在RK3576踩坑了,TF无法初始化
正文按照老司机的经验,SD卡这玩意儿基本不用调!信号直连SOC,驱动又是官方千锤百炼的成熟货,硬件不翻车,软件稳如狗。可这次偏偏就撞鬼了... 到底咋回事?听我细细道来!你我同行,结论先行:RK3576不能使用普通I/O口来做CD检测脚,必须使用SDMMC0_DETN ,否则SD卡无法完成初始化。
2025-07-26 22:41:41
1193
原创 嵌入式分享#27:原来GT911有两个I2C地址(全志T527)
在实际应用中,Linux内核提供的gt9xx.c触摸驱动默认时序设定的I2C地址为0x5d,调试中偶尔出现0x14地址,多数情况是由于dts的RTS或INT引脚配置不正确导致。在通信中GT911始终作为从设备,其I2C设备地址由7位设备地址加1位读写控制位组成,高7位为地址,bit0为读写控制位。最近在调试全志T527的触摸功能时,发现GT911触摸芯片的I2C地址有时是0x5d,有时又识别成0x14,不知道大家有没有遇到过类似这个情况。至于GT911为什么要有两个I2C地址,下回分解。
2025-07-26 22:35:15
574
原创 嵌入式分享#24:《嵌入式外设调试思路》--以太网调试篇
如果出现了 Link 问题,有个排除法,即将 MDC/MDIO 与主控断开,与电脑直连,查看电脑端是否有同样的问题,以此排除软件上的干扰,那么需要重点排查下硬件上的影响,先测试TXN/P 以及 RXN/P 是否有 Link 波形。驱动会通过 MDIO 先读取 PHY 的 ID,可以测量 MDC 和 MDIO 波形,波形是否正常,该总线类似于I2C,MDC 频率要求是小于 2.5M。MDIO是类似IIC的总线,MAC提供时钟MDC,数据线MDIO是双向的,既可以读PHY的寄存器,也可以写PHY的寄存器。
2025-06-29 22:51:11
1168
原创 保姆级教程:RK平台Ubuntu调GPU实战指南
但无语的是,官方压根没给Ubuntu适配好,反而给Debian配齐活了。搞过RK平台的朋友都知道,想在Ubuntu上用GPU?
2025-06-29 22:47:28
716
1
原创 RK3588/RK3576/RK3562、T113/T527 Audio调试思路
(1)硬件供电与软件配置的domian一致,否则可能会造成功能异常,甚至芯片损坏等。(2)使用示波器测量硬件信号:时钟和数据。测量时钟频率,幅度,占空比,jitter等是否符合协议规范(比如:当⼯作电压为3.3v,而实际时钟信号只有2v时,导致采集不到数据,原因可能是被外设拉低,或者对地短路,或者软件电压配置不正确等)。
2025-06-22 09:33:24
1063
原创 RK3588/RK3576/RK3562、T113/T527 MIPI CSI调试思路
请确认 I2C 通讯没有错,Sensor 的寄存器初始化列表有全部写到 Sensor 中,在 Sensor 驱动中,最后使能 MIPI 输出的是 s_stream() ,请确认在这个函数前,特别是s_power() ,不要让 MIPI 信号输出。根据TRM手册,查看dphy的stopstate 来判断是否有收到数,例如查看RK3588 CSI0:io -4 -l 0x100 0xfdd30000需要连续读取10次上述寄存器,正常有识别到 MIPI 信号的话,对应的stopstate会在0/1之间变化。
2025-06-22 09:28:48
2004
原创 RK&全志平台WiFi&BT调试思路
调试前WiFi常见的通信接口:PCIE、SDIO、USB。BT 常见的通信接口: UART、SDIO、USB。(1)固件(用来控制模组硬件行为);(2)模组驱动源码(SDK 一般会提供常用的 WiFi 模组驱动源码,没有的需要找模组厂商)。
2025-06-14 20:12:31
934
原创 RK&全志平台LCD设备调试思路
硬件确认没问题后,接上屏幕查看背光是否点亮。背光不亮,需要先解决背光问题。然后根据屏幕参数修改 dts 屏参、复位/使能脚以及时钟等,并确认使用的具体屏驱动以及其加载情况。(2)确认显示链路、图层是否正确,这个一般可以通过 log 查看。不同平台显示链路和图层会有所差异,具体排查手段参考原厂资料(全志平台要特别留意 uboot )。说明:全志平台的显示分为 uboot 和内核阶段,需要同时修改这两个阶段的 dts。(2)使用示波器,确认 PWM 背光脚是否有波形输出,并确认用户层是否存在并可控的背光节点;
2025-06-14 20:09:50
693
原创 嵌入式分享#18:一文搞懂Linux图形显示
在Linux系统下开发使用图形桌面时,往往会被一堆概念或术语(GDM3 LightDM XFCE4 X11 GNOME Xserver KDE Weston等等)弄得头晕目眩的。本文将带你捋清楚这些术语之间的关联性,了解它们的关系非常有利于工作中能够快速定位问题并解决问题。
2025-05-28 22:33:17
1020
原创 嵌入式分享#19:《嵌入式外设调试思路》--I2C设备篇
当我们调试i2c设备时,首先配置和确认好driver(驱动)与device(dts),连接好硬件启动系统,使用i2c-tools(比如)确认能否正确识别到设备。(1) 通过 i2cdetect 命令扫描设备识别情况,以及 I2C 地址是否正确(注:地址有 7bit 与 8bit 之分);(5)如读写操作返回错误(NACK/Timeout),可尝试降低clock-frequency(如设为100kHz)。(3)执行 i2cdetect -y 扫描的同时,使用示波器测量 i2c 总线波形,确认信号完整性。
2025-05-28 22:29:01
659
原创 嵌入式分享#13:如何使用apt安装与卸载?
如果想卸载 qtcreator 并彻底清理不再需要的依赖和缓存,可以执行 如 下命令:# 卸载但不删除配置文件# 卸载并删除配置文件# 删除不再需要的依赖包# 清理缓存中的下载包。
2025-02-25 23:35:01
721
原创 嵌入式分享#12:如何确认i2c总线通信问题
在嵌入式工作中,调试 i2c 设备通常比较简单,配置完 dts 引脚,硬件没有问题基本上就能使用。但是,有时候会遇到软件配置完 i2c 依然无法正常通信的情况。这时我们通常会先确认配置引脚和 i2c 设备地址等问题。确认软件配置没有问题后,才进一步确认排查硬件问题。如何确认 i2c 总线硬件问题,这正是本文将要讨论的问题。更多文章关注“嵌入式分享”。
2025-01-29 15:11:54
577
原创 嵌入式分享#11:printk()日志级别
更多文章欢迎您关注公众号“嵌入式分享”。我们在调试驱动或进行内核开发时,最常用的调试手段就是 printk()。该函数支持多个等级的日志级别,不同的内核配置会修改相应的日志级别,最终影响控制台(console)显示的日志信息。因此我们很有必要知道如何修改日志级别,以达到显示或屏蔽日志的目的,方便调试。
2025-01-16 20:50:30
866
原创 嵌入式分享#8:如何编写设备树dts
更多文章欢迎您关注公众号”封面图杭州钱江世纪城东部的一大片农田,号称“稻田 CBD”,最近迎来了丰收。该农地被政府保留,让城市与田园融合。
2025-01-11 23:35:33
382
原创 嵌入式分享#9:Qt 初探
之前是一直在做 Linux 驱动层或系统层的任务,所以几乎没怎么跟 Qt 打过交道。刚好最近在搭建 Qt 编译环境,终于有机会把Qt 源码、Qt creator、qmake 这个几个 Qt 相关的东西捋一捋了。我们通常所说的 Qt 涵盖了前面这些,但又不限于这些,只不过Qt 源码、Qt creator、qmake 接触比较多。首先,需要知道 Qt 是什么。One framework. One codebase. Any platform,这是Qt官网的一句话,很好的概括了什么是Qt。
2025-01-11 22:44:51
816
原创 全志 T527_Android13 编译 [ 避坑必看 ]
Swap 概念: Linux中Swap(即:交换分区),类似于Windows的虚拟内存,就是当内存不足的时候,把一部分硬盘空间虚拟成内存使用,从而解决内存容量不足的情况。它的功能就是在内存不够的情况下,操作系统先把内存中暂时不用的数据,存到硬盘的交换空间,腾出内存来让别的程序运行。当输入编译命令make -j16 的时候,会有如下提示,这是官方建议通过减少编译线程来解决编译时消耗内存过大的问题。Android 13 系统的编译流程,编译一共分为两部分:内核编译与 Android 编译。
2024-10-22 19:10:23
1892
1
原创 嵌入式分享#1:Vim 的高效秘籍
Vim(Vi IMproved)是一个高度可配置的文本编辑器,旨在让用户能够高效地创建和编辑文本。Vim 是基于早期的 Vi 编辑器开发而来的,它在功能上进行了扩展,增加了许多现代化的特性,适合程序员和普通用户使用。
2024-10-14 21:06:00
1010
原创 Linux系统如何挂载分区【精简版】
执行如下代码创建挂载目录/test/,并挂载分区/dev/sda1到 /test/目录。挂载成功后,即可进去该目录进行读写操作。:当使用插入TF卡或者U盘Linux系统没有自动挂载时,则需要手动挂载分区才能使用。下面演示挂载分区步骤。查看到该分区并没有别挂载。
2024-08-17 18:54:44
652
2
原创 一个12V INPUT电源电路的设计与分析【精简】
完整的12VINPUT电路如下图,该电路由电源输入电路反向电压保护电路过压保护电路开关电路快速掉电电路以及储能输出电路组成。提示:该电源电路有一个器件存在设计不合理的地方,是否可以看出来?答案在下面分析中说明。(1)C1电容在这里的作用是什么?(2)R13的100K电阻的作用是什么?
2024-01-30 20:35:10
7663
4
原创 Linux Input子系统知识框架【0基础扫盲】
先来了解什么是输入设备?常见的输入设备有键盘、鼠标、遥控杆、书写板、触摸屏等等,用户通过这些输入设备与Linux系统进行数据交付。什么是输入系统?输入设备种类繁多,能否统一它们的接口?既在驱动层面统一,也在应用程序层面统一?可以的。Linux系统为了统一管理这些输入设备,实现了一套能兼容所有输入设备的框架:输入系统。驱动开发人员基于这套框架开发出程序,应用开发人员就可以使用统一的API去使用设备。作为应用开发人员,可以只基于API使用输入子系统。
2024-01-25 11:53:49
1704
原创 Linux基于Ubuntu20.4文件系统自启动服务(shell脚本)
总结:写一个需要实现自启动的shell脚本,将其放到/etc/profile.d/目录下,系统启动后会自动执行该目录下的所有shell脚本。通过阅读本文,读者可以获取如何在Ubuntu20.4文件系统中添加程序脚本自启动服务的方法。本文使用嵌入式板卡以实际操作进行演示。
2024-01-11 21:13:04
606
1
原创 一文读懂LCD工作原理以及时序分析(精简)
概述:本文以TFT-RGB接口的LCD为例,主要阐述LCD硬件工作原理以及LCD时序参数分析。通过阅读本文可以帮助你快速了解LCD的工作原理与应用,有助于在实际工作中,使用LCD屏幕开发时能够快速上手开发。
2024-01-05 14:35:11
14054
4
原创 半导体存储器分类(笔记)
而eMMC可以理解为是NAND FLASH的封装与标准的形式,正是因为它把NAND FLASH的接口标准了,因此解决了NAND FLASH存在的一个很大的问题——不同厂家和容量的存储芯片之间的替换问题。从上图的分类可以知道,eMMC和NAND都属于ROM(掉电数据不丢失,系统的一些引导程序放在此类存储器),DDR为RAM(掉电数据丢失,相当于计算机的运行内存)。本文仅对半导体存储器做简单介绍,为了使读者在面对嵌入式领域中五花八门的存储器有较为清晰的认识和分类。
2024-01-01 21:59:09
883
原创 使用I2C-Tools直接访问I2C设备(i2cdetect、i2cdump、i2cget、i2cset)[精简版]
概述:本文是以实际访问i2c设备为例,简单介绍i2c-tools常用命令的用法。其中,使用的i2c设备硬件为DS1307 RTC时钟芯片(芯片手册可在博主资源中获取),设备地址为0x68。事实上,日常调试中只需记住常用的几个i2c-tools命令即可,能达到同样目的使用工具越少越好(太多反而记不住)。Linux知识犹如浩瀚大海,要学会做减法,择其有用者而从之,其无用者而弃之。
2023-12-29 16:18:50
15511
1
通用精美简历模板(共12份).rar
2024-01-07
IT互联网简历模板(共15份).rar
2024-01-07
WindowsTFTP文件传输工具.rar
2024-01-03
WindowsSource Insight代码阅读工具.rar
2024-01-03
WindowsMobaXterm(串口工具 ssh工具合集).rar
2024-01-03
WindowsJVAV环境安装包.rar
2024-01-03
WindowsGit工具.rar
2024-01-03
WindowsFilezilla ubuntu与windows文件传输工具.rar
2024-01-03
free-hex-editor-neo文件查看分析工具
2024-01-03
WindowsUbuntuVSCode开发工具.rar
2024-01-03
Linux调试技巧(共8份)
2023-12-29
TMS320F2837xD 双核微处理器用户开发中文手册
2023-12-27
C6748系列用户开发中文手册-共6份(全)
2023-12-27
TI C66x系列开发中文手册-共8份(全)
2023-12-27
TMS320DM814x DaVinci 数字媒体处理器技术参考中文手册
2023-12-27
AM572x Sitara处理器技术参考中文手册
2023-12-27
TMS320DM814x系列开发手册(英文版)
2023-12-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅