自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(200)
  • 收藏
  • 关注

原创 高通的编译流程(TODO)

10个实用的开源计算机视觉案例(含源码)

2024-09-30 18:22:33 72

原创 USB UVC5--使用树莓派搭建UVC摄像头(TODO)

https://www.raspberrypi.com/tutorials/plug-and-play-raspberry-pi-usb-webcam/

2024-09-30 01:55:22 184

原创 树莓派外挂Camera(基操)

手上有OV5647,OV2640,看这次能不能驱动吧。。。今天忙活一阵,终于把OV5647跑起来了。图像质量很一般,10块多点的camera,本来也没指望太多。

2024-09-29 01:54:52 364

原创 DirectFB的使用(TODO)

想写这个是因为数年前,某个大厂芯片项目是DirectFB,GTK,Webkit的组合。当时图形有点BUG,真的是到处找人都搞不定。北京的公司找了,当时我协调管理的,搞不定。后面飞去深圳某大厂总部,也没搞定。最后从硅谷调老美过来搞。正好最近看图形,有时间也想看看这块,不过还是看精力和时间吧。还有就是这一块现在还有咩有看的必要。

2024-09-29 01:50:50 92

原创 树莓派3B驱动ST7735(内核)(Framebuffer篇)(TODO)

终于一条龙的将ST7735驱动,Framebuffer,还有LVGL的东西点亮了。现在也有点时间来总结一下。

2024-09-25 02:05:27 348 1

原创 树莓派Linux内核裁剪(TODO)

3.5秒极速启动!树莓派 Zero 2 W 的极端启动优化技巧!

2024-09-22 23:24:21 121

原创 看看原理图(某高通玩具)(TODO)

(TODO)

2024-09-22 22:31:45 191

原创 树莓派3B驱动ST7735(内核)(代码篇)

这次主要是精读一下树莓派内核中的ST7735驱动源码。

2024-09-22 22:04:30 283

原创 LDD学习2--Scull(TODO)

scull` 实现了 `file_operations` 结构体中的关键函数,注册到内核中,用户程序通过 `open`, `read`, `write`, `close` 等系统调用与设备交互。这些操作由 `scull_open`, `scull_release`, `scull_read`, `scull_write` 函数实现。- 如何处理内核中的文件操作(如 `open`, `read`, `write`, `ioctl` 等)。- **打开/关闭设备** (`open`, `release`)。

2024-09-21 03:49:13 350

原创 ESP32 板级支持包(TODO)

GitHub - espressif/esp-bsp: Board support components for Espressif development boards

2024-09-20 01:33:56 234

原创 裸机编一个Hello World!(TODO)

**PlatformIO** 或 **Arduino IDE**:支持 ESP32、Raspberry Pi Pico 等开发板。- **编译工具链**:安装合适的编译工具链,比如 `arm-none-eabi-gcc`(用于 ARM Cortex-M 系列)。- **STM32F103 "Blue Pill"**:ARM Cortex-M3 核心,便宜且广泛支持,适合裸机开发。- **RISC-V 开发板**:例如 SiFive 的 RISC-V 核心开发板,也适合进行简单的裸机项目。

2024-09-20 01:28:50 554

原创 电池曲线测试(TODO)

(TODO)

2024-09-19 14:00:31 105

原创 LDD学习1--启程(TODO)

GitHub - qomo/LDD_learning

2024-09-19 01:49:05 431

原创 看看原理图(GBA-SP)(TODO)

https://dragaosemchama.com/wp-content/uploads/2015/02/GBA-service-Manual.pdf https://raw.githubusercontent.com/Gekkio/gb-schematics/master/AGS-CPU-11/schematic/AGS-CPU-11.pdfhttps://www.retrosix.wiki/schematics-game-boy-advanceGitHub - Zekfoo/AGZ: A circui

2024-09-17 23:22:31 185

原创 Chromium的编译(TODO)

(TODO)

2024-09-17 02:06:20 286

原创 如何判断一个电源的好坏(TODO)

(TODO)

2024-09-16 03:50:02 113

原创 Linux下的ADSP(TODO)

(TODO)

2024-09-15 15:43:11 264

原创 Weston/Wayland(TODO)

(TODO)

2024-09-12 19:01:35 95

原创 嵌入式Linux充电电池管理

用TP4056当然是简单方便,但是也存在设置不灵活的问题,回想最近做的商业级项目,都是可以直接在设备树中配置,应该是没用这种方法。这个真的是要根据电池的特性来看,不同类型的电池,甚至不同型号的电池可能管理策略都不同。其中,C表示电池额定容量对电流的表示,比如电池的容量是1000mAh,1C就是1000mA的充电电流。恒压充电(CV):当电池电压达到4.2V时,调整充电器输出,维持电压恒定在4.2V,同时电流会逐渐减小。那么关注的地方就有两块,一个是电池状态的监控,还有一个就是充电电流电压的控制。

2024-09-12 12:26:35 512

原创 树莓派3B点灯(5)-- 自写驱动(按键版)

当时内核啥的什么都不懂,也没有看什么芯片手册,根据网上资料和其它按键代码,就是直接读一个int中某一位来判断状态(现在来看就是直接读取的寄存器状态),然后从ioctl传上来,倒也把功能搞定了,算起来也是实现了最基本的点灯。真不难,核心不超过10行代码,gpiod_to_irq,在request_irq中注册button_isr回调,在button_isr中处理,真不算难。拖了这么多年才尝试,还是搭环境太麻烦了,我常常觉得,环境搭好,就是成功了一半。后面想了又想,GPT说的是按键一边连到GPIO,一边接地。

2024-09-12 12:24:57 358

原创 树莓派3B点灯(6)-- 自写驱动(终极版)(TODO)

(TODO)

2024-09-11 02:16:30 112

原创 树莓派3B点灯(4)-- 自写驱动(低级版)

所以说低级并不是真的低级,只是现在封装做的很多了。在树莓派 3B 上,直接通过操作寄存器控制 GPIO26 的 LED,而不使用 `gpio` 子系统和 `pinctrl` 子系统,可以通过直接访问 **Broadcom BCM2837 SoC** 的 GPIO 寄存器来实现。在这个例子中,我们跳过了 Linux 的 `gpio` 和 `pinctrl` 子系统,直接操作树莓派 3B 的 GPIO 寄存器,通过 `ioremap` 将寄存器映射到内存,并直接控制 GPIO26 的电平来点亮和关闭 LED。

2024-09-11 01:36:05 241

原创 树莓派3B内核使用I2C

树莓派的I2C总线,用raspi-config打开之后生成/dev/i2c-1节点,此时可以直接读取。本来想写读E2PROM的,不过这几天做充电管理的时候,另外一颗I2C代码做好了,实在不想再去写代码,反正也只是学习,再加上精力有限,就直接用了。i2c1的原始定义是在:arch\arm\boot\dts\broadcom\bcm-cygnus.dtsi。所以,目前我对pinctrl的理解就是初始系统的时候,自动配置好i2c,spi这些内容,而且方便后面使用。i2c0据说是内部用的,i2c1是正常一般用的。

2024-09-10 17:16:32 111

原创 Pinctrl学习2(基于树莓派3B)(TODO)

(TODO)

2024-09-10 13:34:30 193

原创 Linux内核的调试1

也就是说printk和printf是不同的,printf是直接往stdout写,printk是写到内核日志消息的环形缓冲区里面。系统是指与内核日志相关的一系列工具和守护进程,它们负责捕获、处理和发送内核生成的日志消息。:这是一个系统日志守护进程,负责记录系统中的日志信息,包括内核日志和应用程序日志。:这是系统日志文件的存放目录,包含了各种系统和应用程序的日志文件,如。:这是一个特殊的文件,提供了从内核日志缓冲区读取日志消息的接口。文件来获取内核日志,这个文件是内核日志消息的环形缓冲区。

2024-09-09 23:06:28 363

原创 制作Rootfs(TODO)

(TODO)

2024-09-09 13:49:52 85

原创 PCIe协议(TODO)

只是占个位。

2024-09-09 01:31:56 145

原创 低功耗蓝牙(TODO)

只是占个位。

2024-09-09 01:28:22 354

原创 树莓派3B点灯(3)-- 自写驱动(闪烁版)

V1就是最简单的普通版,实现LED闪烁。- `of_device_id` 表中的 `compatible` 字符串 (`my-led`) 与设备树中定义的 `compatible = "my-led"` 进行匹配。- 通过 `device_create_file()` 创建了一个 `state` 文件,允许用户通过 `/sys/class/` 来控制 LED 的状态(亮灭)。- 当用户写入 `1` 或 `0` 到 `state` 文件时,驱动程序会根据输入改变 GPIO 的电平,从而控制 LED 的亮灭。

2024-09-08 13:35:06 242

原创 树莓派3B点灯(2)-- 内核驱动

LED 在 Linux 系统中被视为一个类设备(class device),每个 LED 设备会在 `/sys/class/leds/` 目录下生成一个相应的节点。例如,一个命名为 `status_led` 的 LED 设备会出现在 `/sys/class/leds/status_led/` 目录中,用户可以通过这个目录下的文件对 LED 进行控制。它主要通过设备树或平台代码定义 GPIO 与 LED 的关系,并且允许用户通过 `/sys/class/leds/` 控制 LED 的状态。

2024-09-07 18:27:19 252

原创 树莓派3B点灯(1)-- 四种方法

先做个简单一丢丢的吧。。。正好最近工作也要用这个。这次直接给够四种方法,给好给满。分别是Python点,用户空间配置GPIO点,设备树配置内核Leds驱动点,自己写驱动点。用的板子是树莓派3B,GPIO 26口,蓝光LED,串联了一个1000欧电阻限流。LED长脚是正极,电阻要串在正极上。

2024-09-05 19:48:39 616

原创 嵌入式的一些面试题

嵌入式的一些面试题。

2024-09-05 00:56:09 261

原创 Android的Launch

**研究开源项目**:可以参考开源的 Android Launcher 项目,如 AOSP Launcher3 或其他社区维护的 Launcher 项目,以学习如何实现复杂功能。当用户点击的时候,处理点击事件,打开程序。- **桌面视图**:用于显示应用图标和小部件,可以使用 `GridView`、`RecyclerView` 或 `Custom View`。- **保持更新**:安卓系统和 SDK 不断更新,确保你的 Launcher 能够兼容新版本的 Android 系统。

2024-09-03 19:47:19 738

原创 SoM的理解

以前联发科是有Turnkey项目,不过我记得我参与的项目,都是直接拿原厂的参考设计,基本上就是改一个壳,电路板,IO啥的都不动,撑死就是多几个灯或者按键。**SoM** 是一个小型模块,它将 SoC 以及必要的存储器(如 RAM、闪存)、电源管理电路、时钟电路等集成在一个模块上,并提供标准化接口(如 GPIO、I2C、SPI、UART 等)供外部连接。- **硬件开发**:使用 SoM 进行开发时,开发者只需设计载板(Carrier Board),即 SoM 的外围电路板。开发的话客户只用关心外设和应用。

2024-09-02 01:18:13 632

原创 使用Yocto编译树莓派内核(TODO)

(TODO)

2024-09-01 16:38:33 207

原创 树莓派3B驱动ST7735(内核)(配置篇)

事实上树莓派已经内置了st7735的驱动,只要打开spi,配置io口就可以用了。你需要创建或修改设备树覆盖文件,以便配置 SPI 接口和 ST7735S 显示屏。如果配置正确,启动信息将显示在 ST7735S 显示屏上,并且可以通过显示屏进行 shell 交互。最后附带了GPT的做法,可以比对一下实际出图的做法。我这边和视频刚好是相反的,fb0是ST7735,fb1看起来是HDMI。最后试了一下ffmpeg播放视频,除了因为屏幕小不能全屏,其它倒是都很不错。按照这个guide,翻车翻的挺厉害的。

2024-09-01 15:49:29 492

原创 树莓派的启动(TODO)

我的板子是树莓派3B。

2024-09-01 10:20:24 764

原创 看看原理图(以ESP32游戏机为例)

这个芯片主要是对单节充电锂电池,电池低于2.9V时,提供小电流,电池电压大于2.9时,提供相对大的电流,而电池电压大于4.2V时候,进入恒压充电。不过除了电流可以通过电阻配置外,其它的电压都是恒定的。暂时能想到的就是以上几个,所以其实重点关注上面的几个内容就行了,其它的比如每个模块里面具体是什么走线,用什么芯片和硬件,倒是不用太关注,不用去抢硬件工程师的饭碗。- **晶体管**:由三个引脚组成,分别是基极(B)、集电极(C)和发射极(E),不同的符号表示不同类型的晶体管(如 NPN、PNP)。

2024-08-31 12:39:20 110

原创 总线学习7--Modbus(TODO)

(TODO)

2024-08-30 10:58:48 404

原创 树莓派3B驱动ST7735(Python)

要在树莓派 3B 上驱动 ST7735 LCD 屏幕并显示 "Hello World",你可以使用 Linux 内核中的 SPI 驱动程序以及帧缓冲驱动程序来控制显示屏。查了一下午,最后发现GPT搞成需要触屏的驱动了,pitft28-resistive一般是用在需要触屏的地方,然后dtoverlay的用法也不是很熟悉,看起来应该是设备树的匹配,这块后面有时间再研究研究。通过这些步骤,你可以在树莓派 3B 上成功驱动 ST7735 LCD 屏幕,并在屏幕上显示 "Hello World"。

2024-08-30 01:33:06 393

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除