Smalld_cat
码龄6年
求更新 关注
提问 私信
  • 博客:369,455
    369,455
    总访问量
  • 54
    原创
  • 508
    粉丝
  • 49
    关注
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:广东省
加入CSDN时间: 2019-09-12

个人简介:野生猫猫怪,爱好电子,电机控制,嵌入式linux开发,光学成像系统,人工智能嵌入式,ros

博客简介:

small_po_kid的博客

查看详细资料
个人成就
  • 获得705次点赞
  • 内容获得190次评论
  • 获得4,458次收藏
  • 代码片获得10,235次分享
  • 博客总排名1,222,081名
创作历程
  • 1篇
    2024年
  • 3篇
    2022年
  • 43篇
    2021年
  • 6篇
    2020年
  • 1篇
    2019年
成就勋章
TA的专栏
  • 笔记
    15篇
  • linux内核
    2篇
  • linux驱动开发
    21篇
  • ISP
    1篇
  • 电子竞赛
    3篇
  • zynq开发
    8篇
  • linux应用开发
    10篇
  • 工具使用
    8篇
  • hls开发
    1篇
  • fpga
    1篇
  • qt实战
    1篇
  • git入门
    3篇
  • 单片机
    6篇
  • 电机控制
    3篇
  • 识别
    2篇
  • k210
    1篇
  • 步进电机驱动
    1篇
  • l298n
    1篇
  • 树莓派
    3篇
  • pid算法
    1篇
  • ubuntu20.04
    1篇
  • openmv开发
    1篇

TA关注的专栏 2

TA关注的收藏夹 0

TA关注的社区 0

TA参与的活动 0

兴趣领域 设置
  • 人工智能
    人工智能pytorch
  • 嵌入式
    嵌入式硬件
  • 硬件开发
    驱动开发arm开发
创作活动更多

『技术文档』写作方法征文挑战赛

在技术的浩瀚海洋中,一份优秀的技术文档宛如精准的航海图。它是知识传承的载体,是团队协作的桥梁,更是产品成功的幕后英雄。然而,打造这样一份出色的技术文档并非易事。你是否在为如何清晰阐释复杂技术而苦恼?是否纠结于文档结构与内容的完美融合?无论你是技术大神还是初涉此领域的新手,都欢迎分享你的宝贵经验、独到见解与创新方法,为技术传播之路点亮明灯!

55人参与 去参加
  • 最近
  • 文章
  • 专栏
  • 代码仓
  • 资源
  • 收藏
  • 关注/订阅/互动
更多
  • 最近

  • 文章

  • 专栏

  • 代码仓

  • 资源

  • 收藏

  • 关注/订阅/互动

  • 社区

  • 帖子

  • 问答

  • 课程

  • 视频

搜索 取消

Camera sensor调试与bringup帧率计算

在我们前期开发一个项目的时候,经常会调试各种Camera sensor,sensor作为一种电气元件,我们的任务是让其正常工作,需要根据sensor的datasheet、原理图来正常地点亮一个sensor,让其正常出图、出流,然后将Camera的功能比如初始化、复位、裁剪、旋转、缩放等实现并且封装成一个API函数,最后以库的形式提供给应用工程师,让其能在app中结合逻辑灵活调用。
原创
发布博客 2024.02.25 ·
2059 阅读 ·
22 点赞 ·
0 评论 ·
36 收藏

图像处理常用术语解释

帮助做图像处理的新人快速熟悉领域的专业术语
原创
发布博客 2022.07.07 ·
2072 阅读 ·
1 点赞 ·
0 评论 ·
2 收藏

Uboot启动流程

Uboot启动流程前言一、嵌入式中的Uboot二、U-Boot启动内核第一阶段:第二阶段:三、Uboot启动流程分析前言一个完整的linux系统,通常需要一个引导启动它的bootloader,而我们最常用的就是Uboot。uboot启动分为两个阶段,即boot + loader,boot阶段启动系统,初始化硬件设备,建立内存空间映射图,将系统的 软硬件带到一个合适的状态,loader阶段将操作系统内核文件加载至内存,之后跳转到内核所在地址运行。一、嵌入式中的Uboot当一个开发板上电的时候,即使是
原创
发布博客 2022.01.22 ·
12554 阅读 ·
9 点赞 ·
1 评论 ·
84 收藏

linux使用开机自启动脚本

如何开机自执行命令当我们每次开机都需要自己手动敲出命令时,我们会感觉到非常的麻烦(比如nfs挂载)。特别是在嵌入式linux开发中,时常常需要开发板和虚拟机之间使用nfs文件互传或者根文件系统挂载的。下面,我将演示一遍如何使用开机自启动脚本,在arm上或者在pc上是通用的。1.进入/etc/init.d/etc/init.d下面放的是系统启动时要启动的服务,根据不同的运行级别,运行不同的rcn.d(n为运行级别),最终调用的都是init.d里面的脚本。 里面的rcS是规定启动哪些文件的脚本文件。2
原创
发布博客 2022.01.06 ·
5794 阅读 ·
1 点赞 ·
1 评论 ·
19 收藏

linux使用socket实现简单的网络编程

简介套接字(socket) 是 Linux 下的一种进程间通信机制(socket IPC) ,在前面的内容中已经给大家提到过,使用 socket IPC 可以使得在不同主机上的应用程序之间进行通信(网络通信) ,当然也可以是同一台主机上的不同应用程序。 socket IPC 通常使用客户端<—>服务器这种模式完成通信, 多个客户端可以同时连接到服务器中,与服务器之间完成数据交互。内核向应用层提供了 socket 接口,对于应用程序开发人员来说,我们只需要调用 socket 接口开发自己的应用
原创
发布博客 2021.10.26 ·
1957 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

嵌入式linux学习路径--新手入门篇

嵌入式linux如何入门?前言基础概念计算机与嵌入式的关系操作系统是什么?程序网络ARPIPICMPTCPUDPDNSDHCPFTPHTTPlinux系统命令目录相关文件相关用户相关系统相关网络相关程序相关其他linux系统配置环境变量设置静态ipTFTP、Samba、NFS服务C语言基础掌握前言随着技术领域的发展,单片机虽然有实时性好的特点,但是面对多任务并发以及人机交互等却力不从心,所以人们开始追求更高工艺更高性能的soc芯片,并且在上面跑linux系统。嵌入式linux应用如此广阔的原因有以下几点
原创
发布博客 2021.10.08 ·
1640 阅读 ·
1 点赞 ·
0 评论 ·
19 收藏

zynq linux开发与普通ARM平台的不同点

前言笔者之前从事的是imx平台的linux开发,之后工作需求转到Xilinx推出的zynq系列芯片的开发,以下内容是笔者在适用zynq平台中遇到的不同于传统linux开发的内容,期间踩了不少坑,笔者希望能够帮助读者理解zynq的开发,少走弯路。平台简介zynq是xilinx推出的一款集成arm核以及fpga可编程逻辑器件的soc芯片,使得它不仅拥有 ASIC 在能耗、性能和兼容性方面的优势,而且具有FPGA 硬件可编程性的优点。zynq主要分为两端,首先是pl端,属于像fgpa开发一样的纯逻辑开发。然
原创
发布博客 2021.09.30 ·
5187 阅读 ·
4 点赞 ·
1 评论 ·
29 收藏

使用Vivado HLS点灯

使用HLS 设计ip核首先打开Vivado HLS创建一个工程,设置工程名字和路径设置顶层函数名然后添加c测试文件(点灯不需要,直接next)修改芯片型号然后点击Finish完成工程设置。在弹出的页面中创建新的源文件在弹出的框中创建一个src文件夹用来保存源文件在新创建的.c文件中输入如下代码#include <ap_cint.h> //任意精度整数类型#define DELAY 50000000void led_hls(uint2 *led){ in
原创
发布博客 2021.09.16 ·
1043 阅读 ·
1 点赞 ·
0 评论 ·
4 收藏

使用Petalinux定制自己的linux系统

使用Petalinux定制自己的linux系统(linux三大件)简介Petalinux设计流程1.设置petalinux运行的环境变量2.创建 petalinux 工程3.配置 petalinux 工程4.配置linux内核5.配置linux根文件系统6.配置设备树7.编译工程8.制作zynq的启动文件BOOT.BIN9.成功启动linux!简介zynq是xilinx推出的一款集成arm核以及fpga可编程逻辑器件的soc芯片,使得它不仅拥有 ASIC 在能耗、性能和兼容性方面的优势,而且具有FPGA
原创
发布博客 2021.09.16 ·
15975 阅读 ·
16 点赞 ·
13 评论 ·
134 收藏

嵌入式linux 驱动编译进内核

简介一般我们开发一个驱动的时候,首先是把这个驱动编译成一个.ko格式的驱动模块,然后动态地在命令行中加载进内核才能去使用。但是大家可能会想,linux里面本来就自带很多驱动,他们都不是像.ko文件一样加载进内核的,能不能把我自己写的驱动也放进去开机的时候自启动呢?当然是可以的。下面,我以我写的pwm驱动为例,将他编译进内核里。将驱动编译进linux内核首先,我先介绍一下linux内核源码里面的drivers目录。顾名思义,就是指驱动。linux内核里面的所有设备驱动都在里面了。比如 drivers
原创
发布博客 2021.09.15 ·
1264 阅读 ·
3 点赞 ·
3 评论 ·
13 收藏

如何固化zynq程序

1.验证程序是否可行首先打开sdk(本文默认读者已经有可使用的sdk工程),连接 JTAG 接口和串口,然后将pl端.bit配置文件下载进开发板最后下载.elf文件执行查看现象。2.配置vivado单击开启qspi,用于操作w25q存储或者使用sd卡验证设计可行性最后按快捷键“ Ctrl + S”保存设计,右键点击 Block Design 设计文件“ system.bd”, 执行“ Generate Output Products”,Flow Navigator 导航栏中找到
原创
发布博客 2021.09.14 ·
3465 阅读 ·
0 点赞 ·
0 评论 ·
37 收藏

zynq启动流程分析

前言zynq是xilinx推出的一款集成arm核以及fpga可编程逻辑器件的soc芯片,使得它不仅拥有 ASIC 在能耗、性能和兼容性方面的优势,而且具有FPGA 硬件可编程性的优点。zynq主要分为两端,首先是pl端,属于像fgpa开发一样的纯逻辑开发。然后是ps端,我把它类比成是单片机的裸机开发,通过操作库函数配置寄存器等,它的优势是可以将pl端当成是外设,pl端写好的东西可以被ps端直接调用。然后ps端是属于arm-A核,是可以跑系统的(linux等)。zynq启动分析1.启动 BootROM
原创
发布博客 2021.09.14 ·
2048 阅读 ·
1 点赞 ·
3 评论 ·
20 收藏

嵌入式linux之在lcd上显示摄像头图像

摄像头的数据采集格式YUV格式Y:表示亮度
原创
发布博客 2021.08.28 ·
6560 阅读 ·
20 点赞 ·
7 评论 ·
92 收藏

在linux虚拟机上显示摄像头视频(V4L2编程)

使用V4L2编程在虚拟机上显示动态图像还不会使用V4L2进行基础操作的同学请参考前面的文章:使用V4L2拍照本次,我们进行进阶版学习,通过将摄像头的mjpg格式照片(摄像头不能直接采集rgb格式的照片)数据流转化成rgb格式并且显示在虚拟机上,以此显示动态视频。rgb格式是大多数lcd液晶屏能显示的格式,对此也为下一章在开发板的lcd上显示动态视频打下基础,运行代码和注释如下:#include <stdio.h>#include <sys/types.h>#include
原创
发布博客 2021.08.26 ·
11415 阅读 ·
15 点赞 ·
12 评论 ·
94 收藏

手把手教你使用linux摄像头(V4L2框架)

什么是V4L2框架市场上出售着种类繁多的摄像头,他们的型号不同,厂商不同。这样子的话,每一次换一个摄像头难道就要我们自己去写一个驱动吗?这样子太麻烦了而且没有必要,于是就出现了v4l2框架,现在的摄像头都适配这个主流框架(就算不适配厂商也会想尽办法去适配以此来增加自己产品的畅销性)。这个v4l2适配了多种接口的摄像头。我们只需要学习一个简单的V4L2编程就可以通用所有摄像头了!我们知道linux的摄像头编程应用在人工智能嵌入式很热门,下面我来手把手教你linux是怎样驱动摄像头的。驱动流程本次教程在p
原创
发布博客 2021.08.26 ·
44430 阅读 ·
90 点赞 ·
30 评论 ·
475 收藏

使用Buildroot构建根文件系统

前言之前介绍过使用busybox来构建根文件系统,busybox虽然能够帮助我们快速构建出很小的根文件系统,但是想要正常使用还需要我们去完善(移植lib库,配置文件等),显然对于新手的我们要移植库文件只能把全部移植过去而不会裁剪,这样子出来的根文件系统也有100多M了,而且容易有遗漏的地方导致完善不全。这次我使用Buildroot来构建根文件系统,傻瓜式构建不需要我们来移植库和第三方软件什么的,啥都为我们构建好了,非常方便且完善。1.到官网下载Buildroot和交叉编译器点击以下超链接下载:交叉编
原创
发布博客 2021.08.24 ·
2783 阅读 ·
1 点赞 ·
0 评论 ·
14 收藏

使用busybox构建完善的linux根文件系统

使用busybox构建完整的根文件系统什么是根文件系统?使用最简单的busybox构建根文件系统1.安装依赖文件2.修改busybox顶层makefile3.添加busybox中文字符的支持4.配置busybox5.编译busybox生成根文件系统6.完善根文件系统1)向 rootfs 的“/lib”目录添加库文件2)向 rootfs 的“usr/lib”目录添加库文件3)创建/etc/init.d/rcS 文件4)创建/etc/fstab 文件5)创建/etc/inittab 文件什么是根文件系统?在
原创
发布博客 2021.08.23 ·
3759 阅读 ·
7 点赞 ·
0 评论 ·
23 收藏

linux驱动开发之新字符设备

前言什么是新字符设备呢?那我还是先说说什么是老的字符设备驱动吧。传统的字符设备驱动开发就是使用函数 register_chrdev注册字符设备,注册完成把驱动模块加载进内核后,还需要手动使用 mknod 命令创建设备节点。这就非常地不方便,这需要我们知道哪些设备号可以使用,还会浪费掉次设备号。(因为一个设备只用一个主设备号,则其下的所有此设备号都为它使用了)。于是就出现了新字符设备驱动了,这个提供的api可以让系统自动分配设备号,这样子在我们加载完成模块驱动后,自动就会在/dev上面挂着设备节点以供我们操
原创
发布博客 2021.08.21 ·
458 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

从零开始理解linux设备驱动

点灯的背后原理首先让大家简单了解一下点灯的原理。当我们使用./test_app文件点灯之后,其实是这个文件使用open函数打开了/dev下的设备节点(后面有介绍),然后通过操作设备节点控制系统调用进入linux内核去驱动底层硬件。下面将详细介绍一些相关的概念和具体实现原理。关于设备的分类设备主要分为:字符设备、块设备和网络设备字符设备驱动程序适合于大多数简单的硬件设备,而且比起块设备或网络驱动更加容易理解, 因此我们选择从字符设备开始,从最初的模仿,到慢慢熟悉,最终成长为驱动界的高手。也就是说,学
原创
发布博客 2021.08.21 ·
1027 阅读 ·
1 点赞 ·
0 评论 ·
7 收藏

使用fdisk命令配置sd卡分区大小与格式

我们在用到sd卡进行特殊操作时,往往对sd卡各个分区大小以及格式有特殊要求,比如需要100M FAT格式的分区,又或者 EXT4格式 200M 的分区,我们如何在linux环境下格式化以及分配呢?本章同样适用于对系统磁盘进行操作。1.查看sd卡对应的设备节点首先不插入sd卡,使用命令ls /dev/sd*然后插入sd卡,使其接入linux系统再次使用命令对比可知,sd类型的节点多出了sdb,那/dev/sdb就是sd卡的设备节点使用fdisk进行分区操作查看信息umount /dev/sd
原创
发布博客 2021.08.18 ·
7475 阅读 ·
6 点赞 ·
0 评论 ·
34 收藏
加载更多