logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

写个Linux内核模块差点把系统搞崩了

前段时间做了个项目,需要在嵌入式Linux上搞个自定义的字符设备驱动。以前写用户态程序写惯了,心想不就是个内核模块吗,翻翻LDD(Linux Device Drivers,第三版)就能上手。结果——第一版insmod刚敲下去回车,终端直接卡死,按啥都没反应,最后只能按住板子上的复位键硬重启。

#linux#fpga开发#运维 +1
嵌入式安全第一关:Secure Boot是怎么保护你的设备的?

但有个容易被忽略的细节:信任链的强度取决于最弱的一环。前一种在OTA升级时,任何人只要在无线信号范围内发送一个伪造的固件包,就能让所有设备变砖——更糟糕的是,如果攻击者植入一个恶意固件,设备就成了别人手里的僵尸。很多人把嵌入式安全简单等同于"在代码里用AES加密数据",但在这个连Flash都可以热风枪吹下来放在编程器上读的物理世界里,代码加密的前提是——别人读不到你的代码。这段代码呈现的是一个典型

#安全#嵌入式硬件
嵌入式Linux应用开发:用户空间GPIO控制的三种姿势

你有没有想过,一个嵌入式Linux应用到底是怎么跟真实世界的硬件打交道的?比如你想点亮一颗LED、读取一个按键状态,在单片机上可能直接操作寄存器就行了,但在跑着Linux的板子上,事情没那么简单——有内核态和用户态的壁垒,有设备文件的抽象,有好几套API摆在面前。我们今天就来拆开这三套方案,看清楚它们各自的脾气。

#linux#mongodb#运维 +1
FreeRTOS调度器在做什么?从任务状态机说起

一段代码跑在单片机里,和我们平时写PC程序最大的不同是什么?不是语法,不是编译器——是"同时做多件事"的方式。PC上开十个窗口,操作系统帮你来回切换,你感觉不到延迟。但在STM32上,一个单核Cortex-M3要同时处理按键扫描、LCD刷新、传感器数据采集和通信协议解析,谁来决定这些任务什么时候跑、跑多久、让谁先跑?答案是调度器。我们来看FreeRTOS是怎么解决这个问题的。

#单片机#嵌入式硬件
FreeRTOS调度器在做什么?从任务状态机说起

一段代码跑在单片机里,和我们平时写PC程序最大的不同是什么?不是语法,不是编译器——是"同时做多件事"的方式。PC上开十个窗口,操作系统帮你来回切换,你感觉不到延迟。但在STM32上,一个单核Cortex-M3要同时处理按键扫描、LCD刷新、传感器数据采集和通信协议解析,谁来决定这些任务什么时候跑、跑多久、让谁先跑?答案是调度器。我们来看FreeRTOS是怎么解决这个问题的。

#单片机#嵌入式硬件
一个中断把整个系统搞死了——FreeRTOS优先级踩坑实录

这代码看起来没啥问题对吧?网上教程都这么写,官方demo也这么写。之前一个项目里,整个系统跑了大概十几分钟就死一次——不是崩溃,是卡死,所有任务集体罢工,只剩那个最高优先级的UART处理任务在疯狂跑。但问题是,UART上根本没数据进来。折腾了两天我才反应过来——问题根本就不在代码逻辑上,在任务优先级安排上。

#单片机#嵌入式硬件
STM32实战:GPIO按键消抖与LED控制

在嵌入式系统中,按键消抖是最基础也是最重要的功能之一。STM32作为主流的ARM Cortex-M系列微控制器,其GPIO外设功能强大,配合简单的软件消抖算法,可以实现稳定可靠的按键检测。本文将通过实战的方式,详细介绍如何在STM32上实现按键消抖和LED控制功能。

#学习#单片机
在STM32上跑AI模型?我折腾了一宿,翻了三次车

不自己手写量化校准,而是用STM32Cube.AI工具链,输入h5模型直接自动生成优化代码。生成出来的推理函数只有2.3KB的代码量,一次推理。

#stm32#人工智能#嵌入式硬件
STM32实战:LED呼吸灯设计与实现

LED呼吸灯是嵌入式开发中的经典入门项目,通过PWM脉宽调制技术实现LED亮度的渐变效果。本文将以STM32F103C8T6开发板为例,详细介绍LED呼吸灯的设计原理、硬件连接和软件实现。这个项目不仅能帮助初学者理解STM32的定时器和PWM功能,还能为后续更复杂的嵌入式项目打下坚实基础。购买渠道:- STM32开发板:淘宝/京东搜索"正点原子Mini STM32",约35-45元- LED和电阻

#stm32#单片机#嵌入式硬件
    共 41 条
  • 1
  • 2
  • 3
  • 4
  • 5
  • 请选择