前言:Linux 系统要启动就必须需要一个 bootloader 程序,也就说芯片上电以后先运行一段 bootloader 程序。而 uboot 作为最常见的 bootloader 选择,是每个 Linux 驱动工程师必需掌握的。本文为博主总结的 uboot 移植笔记,包含作者总结的 uboot 启动流程概述,希望能给大家移植和学习 uboot 的时候提供参考与帮助。 实验硬件:imx6ull;
前言:uboot作为Linux驱动开发的 “三巨头” 之一,绝对是一座绕不开的大山。当然,即使不去细致了解uboot启动流程依旧不影响开发者对uboot的简单移植。但秉持着知其然知其所以然的学习态度,作者将给读者朋友细致化的过一遍uboot启动流程(考虑到硬件平台与uboot版本不一致,实际情况可能有些许出入)。 实验硬件:imx6ull;uboot版本:2016.03 想深挖uboo
一、AlexNet简介 AlexNet是Alex和Hinton参加2012年imagenet比赛时提出的卷积网络框架,夺得了当年ImageNet LSVRC的冠军,且准确率远超第二名,带来了深度学习的又一次高潮。 论文地址:http://papers.nips.cc/paper/4824-imagenet-classification-with-deep-convolutional-neu
前言:掌握设备树是 Linux 驱动开发人员必备的技能!因为在新版本的 Linux 中,ARM 相关的驱动全部采用了设备树(也有支持老式驱动的,比较少),最新出的 CPU 其驱动开发也基本都是基于设备树的,比如 ST 新出的 STM32MP157、NXP 的 I.MX8 系列等。本篇博客核心是系统性的学习设备树的语法,并懂得如何运用设备树进行 Linux 驱动开发! 实验硬件:imx6ull;L
前言:本文为手把手教学智能车载终端项目(Linux+QT),该项目是综合性非常强的 Linux 系列项目!项目核心板使用 NXP 的 IMX6ULL 作为 CPU,整体实现了简化版本的车载终端功能需求。项目可以学习的点非常多,包含:IMX6ULL 的硬件驱动,QT 的移植与 Linux 多进程操作等。该项目的源代码适用于正点原子的出厂镜像,只学习应用层开发的也可以尝试学习该项目!希望该篇博客可以给
前言:本文为手把手教学 Matlab 平台下的各种图像滤波算法的教程,将编程代码与图像滤波知识相联系,以实战为例!博客中图像滤波算法包含:均值滤波、中值滤波、高斯滤波、双边滤波、引导滤波。图像滤波算法是计算机视觉领域CV必修课,被广泛运用于各行各业,尤其是科研领域!希望本篇博客能给读者朋友的工程项目或科研生活给予些许帮助。(篇末代码开源!) 图像滤波算法总图: 一、图像滤波知识 1.1
前言:常言道:工欲善其事,必先利其器。作为一名合格的嵌入式工程师,日常可能需要接触和处理各种奇奇怪怪的问题,这时候一款高适配性的工具将会令工作效率大大提升。作者根据个人的实际使用情况与粉丝的客观感受,为大家推荐几款嵌入式开发常用的软件。希望本篇博客可以让大家学会使用一些新的工具,当然如果读者朋友有其他的好软件推荐也可以在评论区留言! 推荐软件图: 一、Visual Studio Code
前言:本文为手把手教学嵌入式经典项目——智能门禁项目,本次项目采用 树莓派4B 与 STM32F103C8T6 进行联合开发。项目充分发挥各自 CPU 的优势与长处,将人脸识别的大计算量任务给树莓派4B,将门禁系统的控制部分交给 STM32 进行处理。该项目算是嵌入式人工智能(Embedded Artificial Intelligence)的入门项目,该代码框架可以在 STM32 部分可以根据自
前言:本篇博客为《基于树莓派4B的YOLOv5-Lite目标检测的移植与部署》的后续博客,主旨为帮助大家实现 ONNX 模型到 NCNN 模型的转换,并且在树莓派4B进行成功部署!正常情况下,NCNN 模型是优于 ONNX 模型的,但是作者实际测试下来发现貌似 ONNX 模型的FPS和精度感觉都略优秀于 NCNN 模型,读者朋友可以根据自己时间情况去选择模型的使用! 实验效果图: YOLO
前言:本文为手把手教学树莓派4B与 STM32 的 UART 通讯,本次项目采用树莓派4B与 STM32 进行串口通讯,将彼此的数据进行互相传输。本篇博客同时提供了基于 YOLOv5-Lite 的目标检测数据联动,即将树莓派4B检测到的信息发送至 STM32,后续可以通过这些信息进行各种需求上的控制。树莓派4B与 STM32 的联动是很常见的嵌入式架构体系,通常树莓派4B负责计算量大的任务(例如:
前言:本文为手把手教学树莓派4B的OpenCV安装与简单应用(真速通版本),树莓派4B最为目前最新款的树莓派家族一员深受创客和开发者喜爱。树莓派4B作为一款搭载 Cortex-A72 系列芯片的板载电脑,其不仅可以作为简单的 MCU 进行控制方面开发,更可以凭借其高计算性能进行深度学习的图像处理。说到深度学习和图像处理自然离开不了 OpenCV 这个工具。作者将用本篇博客帮助大家真正实现速通树莓派
前言: 本文为手把手教学树莓派4B项目——YOLOv5-Lite目标检测,本次项目采用树莓派4B(Cortex-A72)作为核心 CPU 进行部署。该篇博客算是深度学习理论的初步实战,选择的网络模型为 YOLOv5 模型的变种 YOLOv5-Lite 模型。YOLOv5-Lite 与 YOLOv5 相比虽然牺牲了部分网络模型精度,但是缺极大的提升了模型的推理速度,该模型属性将更适合实战部署使用。
#2023 博客之星评选已开启—成为城市领跑者# 前言:本文为手把手教学飞控核心知识点之一的姿态解算——MPU6050 姿态解算(飞控专栏第2篇)。项目中飞行器使用 MPU6050 传感器对飞行器的姿态进行解算(四元数方法),搭配设计的卡尔曼滤波器与一阶低通滤波器进行数据滤波。当然,本篇博客也将为读者朋友教学业内匿名者上位机的代码移植和使用方法。为了方便读者朋友学习,本博客将使用传感
前言:本文为手把手教学 SYN6288 语音播报模块的驱动实验,本教程的 MCU 采用STM32F103ZET6。通过 CubeMX 软件配置 UART 串口协议驱 SYN6288 模块进行规定的语音播报。考虑到 SYN6288 模块的集成化与智能化很高,所以该模块的使用是极其便利的。(文末代码开源!) 硬件设备:STM32F103ZET6;SYN6288; 硬件实物图:
前言:本文为手把手教学NRF24L01 2.4G通讯模块的驱动实验,本教程的 MCU 采用STM32F103ZET6与STM32F103C8T6,彼此进行互相通讯。通过 CubeMX 软件配置 SPI 协议驱动NRF24L01 2.4G通讯模块(HAL库)。NRF24L01 2.4G是嵌入式较为常见的模块,希望这篇博文能给读者朋友的工程项目给予些许帮助。(文末代码开源!) 硬件设备:STM32F
前言:本篇博客为飞控专栏的第一篇系统性概述文章,将对飞控系统进行详细讲解介绍。考虑到飞控项目具有一定工程复杂度,所以作者将整个项目进行分章节教学与讲解,希望可以给读者朋友带来更好地学习体验。项目将以 C-Quad 四轴无人机为工程样机,飞行器主控为 STM32F103C8T6,遥控为 STM32F103C6T6。项目代码为 HAL 库版本,该项目博客将把算法与硬件相结合,深入挖掘飞控的奥妙与原理。
一、并发与竞争 Linux是一个多任务操作系统,肯定会存在多个任务共同操作同一段内存或者设备的情况,多个任务甚至中断都能访问的资源叫做共享资源,就和共享单车一样。在驱动开发中要注意对共享资源的保护,也就是要处理对共享资源的并发访问。 并发就是多个“用户”同时访问同一个共享资源。 这里举一个例子:你们公司有一台打印机,你们公司的所有人都可以使用。
本笔记仅以IMX6ULL为例子,方便本人后续学习回顾所用。 imx6ull 设备树中引脚定义规则和解析——pinctrl imx6 引脚定义在 ”imx6ul-pinfunc.h“中,一个引脚一般支持8个可选功能(alternate MUX_MODE 缩写为ALT), 通过IOMUX Controller的控制器进行选择。 IOMUX Controller主要通
前言:本文为手把手教学的基础物联网开发设计,项目包含对下位机(MCU对外设数据读取与控制)和上位机(包含服务平台和APP端)的设计。下位机选取STM32作为MCU,外设有LED灯和DHT11温湿度传感器。上位机则选用中国移动旗下的OneNet平台作为服务器,考虑到未来物联网的开发大多数是基于手机APP的。(OneNet平台自家的APP已经下架)所以,笔者在这里使用uniapp这款简
前言:此文为笔者FreeRTOS专栏下的第一篇基础性教学文章,其主要目的为:帮助读者朋友快速搭建出属于自己的公版FreeRTOS系统,实现后续在实时操作系统FreeRTOS上的开发与运用。操作系统的学习与运用可以说是每位嵌入式开发工程师必须掌握和熟悉的技能,对于MCU新手来说,将FreeRTOS作为第一个入手学习的操作系统可以说是非常合适的。本文将手把手对FreeRTOS实时操作系
前言:本文为手把手教学ESP32-CAM实战项目——ESP32-CAM图传勘探小车,本项目仅采用ESP32-CAM作为核心MCU,实现小车项目的图传与控制一体化。图传小车的底盘驱动轮采用麦克纳姆轮,搭配4个N20马达与TC118S驱动电路。上位机则采用APP inventor(Wxbit图形化)进行编程实现,UDP网络协议下发上位机指令控制小车运动。本文将以ESP32-CAM为作为
本文书接上文Linux驱动开发中并发与竞争学习笔记【上】2,若大家对并发与竞争的概念,以及原子操作,自旋锁等相关知识有问题,可以参考上文。 一、信号量 有学习过 FreeRTOS 或者 UCOS 的话就应该对信号量很熟悉,因为信号量是同步的一种方式。Linux 内核也提供了信号量机制,信号量常常用于控制对共享资源的访问。 举一个很常见的例子:
前言:在本专栏《FreeRTOS》中已经为读者朋友详细介绍了FreeRTOS以及关于FreeRTOS于STM32下的手动移植。从今天开始将带领大家系统学习FreeRTOS,这款常见的轻量化小型实时操作系统。当然,考虑到FreeRTOS并不局限于STM32这一款MCU,后续文章的实验也可能使用其他MCU。言归正传,本文将从较为简单的任务创建开始学习。 一、什么是任务
已发送感谢支持!
积分
粉丝
勋章
TA还没有专栏噢
第三方账号登入
看不清?点击更换
第三方账号登入
QQ 微博 微信