- 博客(14)
- 资源 (2)
- 收藏
- 关注
原创 正点原子阿尔法IMX6ULL在高版本Kernel下移植RTL8188EUS Wifi驱动
同时注意下载下来的是一个独立的“项目”,不需要像原子教程说的那样拷贝到Kernel目录里面然后配置Kconfig balabala之类的操作,而是在下载下来的文件夹里直接设置好Kernel目录然后make就可以,毕竟我们要的只是那个.ko文件。正点原子提供的RTL8188EUS只能用在低版本Kernel,高版本Kernel会出现编译错误,比如我用的6.6.52版本的Kernel就无法编译正点原子提供的那几个Realtek的驱动文件。,不随Kernel启动。,可以看到WLAN0信息,驱动工作成功。
2025-04-17 20:52:44
352
原创 IMX6ULL Linux ALSA aplay报错 ASoC: error / Input/output error
考虑到这四条消息是一起跳出来的,上网查了一圈ASoC错误很少有人提及,一般都是时钟配置有问题,要么就是硬件设计时的错误,但考虑到我直接用的是NXP原厂的设备树,并且板子是现成的开发板,基本可以排除硬件设计原因。因此我猜测问题是由sdma没初始化引起的,因为alsa会调用sdma来进行音频流的传输。配置完成后,重新编译kernel,下载,再调用aplay,就能够成功播放了。
2025-04-16 22:09:10
230
原创 新版Kernel下Linux内核定时器回调函数和定时器初始化
新版定时器回调函数形参直接为timer_list实例,而定时器父级结构体不再通过。能根据以下形参计算出其所属的父级结构体(这里为。类型作为形参,不能用旧版的。获取,kernel提供了。
2025-03-26 14:17:14
212
原创 Linux 6.6版本kernel提示can‘t create /proc/sys/kernel/hotplug: nonexistent directory
kernel加载rootfs后会报错,提示找不到hotplug:can’t create /proc/sys/kernel/hotplug: nonexistent directory。网上针对旧版kernel的解决办法是在kernel编译时的menuconfig里启用hotplug,也就是启用。Busybox 版本:1.36.1。kernel版本:6.6。
2025-03-20 14:19:17
217
原创 LVGL发生各种卡死现象的原因分析和排故
启动并初始化第一个页面时在多个页面间来回切换触发组件回调时(例如button或timer)长时间运行后本文所提供的解决方案就是我自己摸索出来的,不一定适用于所有人,也不一定是最标准的办法。网上关于LVGL的教程很多,包括官方文档,但是很多方法都是不怎么规范的。官方的Github issue中也有很多奇奇怪怪的问题,哪怕是LVGL的作者也无法解决或定位错误。
2025-02-20 16:40:26
2520
原创 LVGL9.2移植至正点原子阿波罗STM32F429开发板
LVGL(Light and Versatile Graphics Library)是一个开源的图形库,旨在为嵌入式系统提供高效、灵活的图形用户界面(GUI)解决方案。它具有小巧的内存占用和高性能的渲染能力,支持多种硬件平台,包括单片机、DSP 和 ARM 处理器等。LVGL 支持丰富的控件(如按钮、标签、图标、滚动条等),并提供强大的主题、样式和动画功能,使得开发者能够轻松设计出美观且响应迅速的界面。
2025-01-14 23:01:26
2139
原创 STM32 HAL库 UART在循环DMA模式下接收大量不定字长数据并进行乒乓缓存
DMA在循环模式下工作时,如果在大规模传输数据时仍旧空闲中断(或传输完成中断)会有风险,因为当DMA传输数据完成,CPU介入开始拷贝DMA通道缓冲区数据时,如果此时UART继续有数据进来,DMA继续搬运数据到缓冲区,就有可能将数据覆盖,因为DMA数据搬运是不受CPU控制的,即使你关闭了CPU中断。时,由于DMA工作在循环模式,那么溢出的数据会被DMA重新放到缓冲区的开始部分,从而覆盖原有的数据。对于情况3:在半满中断中通知CPU拷贝一半的数据,DMA继续接收剩下的数据,最后在满溢中断中拷贝剩下的一半数据。
2024-12-02 20:58:13
2049
原创 STM32 HAL库 RTC实时时钟打印时间日期 掉电不清零 CubeMX
如果RTC是第一次被初始化,那么通过rtc_set_time和rtc_set_date向RTC写入初始值;如果RTC不是第一次初始化,那么在HAL_RTC_init()后直接退出MX_RTC_init(),让RTC继续工作。“必须在 HAL_RTC_GetTime() 之后调用 HAL_RTC_GetDate() 来解锁高阶日历影子寄存器中的值,以确保时间和日期值之间的一致性。上面那种方法虽然能很简单的实现RTC输出时间和日期的功能,但是当RTC断电或者系统复位后,RTC会重新初始化,回到最开始的时间。
2024-03-25 16:03:47
2547
2
原创 STM32 HAL库 通用定时器介绍及相关应用例程 定时器中断 输出PWM (点亮LED呼吸灯、输出PWM、输入捕获) CubeMX
(部分图引自于ATK)生成PWN是定时器最为实用的功能之一,PWM可以用在很多地方,最常见的就是驱动调速。在计数器频率固定时,PWM的频率由ARR确定,其占空比由CCR(捕获/比较寄存器)确定。产生原理如下图:显然上图中的定时器工作在向上计数模式,纵轴为CNT。当CNT小于CCR写入值时,IO视为输出低电平;CNT大于等于CCR写入值时,IO视为输出高电平。CNT=ARR时定时器事件更新,CNT清零,进入下一个PWM周期。输入捕获功能可以用来测量外部输入的脉冲宽度,或者测量外部输入信号的频率。
2024-03-21 20:16:57
5985
1
原创 STM32 HAL库 基本定时器介绍及循环点亮LED例程 CubeMX
基本定时器:TIM6、TIM7通用定时器:TIM2至TIM5、TIM9至TIM14高级定时器:TIM1、TIM8所有定时器之间相互独立。
2024-03-19 22:12:27
1610
1
原创 STM32F429通过普通GPIO功能实现简单按键检测与LED定时闪烁
效果:KEY0按下时,绿灯闪烁指定次数后熄灭;KEY1按下时,红灯闪烁指定次数后熄灭;KEY2按下时,红绿灯常亮。
2023-11-21 16:27:58
260
原创 工程设计法设计电压电流双闭环反馈可控整流系统及Simulink仿真
通过与开环控制方式下SCR整流装置的响应情况,验证了该方法在SCR整流系统调节器设计中的可行性,根据Matlab软件仿真和系统的调试结果可知,系统可稳定工作,输出电压波形良好,闭环系统对电源电压和负载的波动有较好的抑制作用,能在扰动作用后很快恢复稳定至额定电压。1、根据系统指标要求,对系统主电路拓扑结构进行了设计,选定整流电路为三相桥式全控整流电路,根据其输出特性,选定滤波电路为L型滤波电路,负载为80Ω纯阻性负载,并建立了各元件的数学模型,确定了相关参数。在合并前,先验证是否满足合并条件,即验算。
2023-11-15 17:09:08
4982
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人