自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(72)
  • 资源 (4)
  • 收藏
  • 关注

原创 u-boot启动流程分析-史上最全最详细

本章主要是详细的分析一下uboot的启动流程,理清uboot是如何启动的。通过对uboot启动流程的梳理,我们就可以掌握一些外设是在哪里被初始化的,这样当我们需要修改这些外设驱动的时候就会心里有数。另外,通过分析uboot的启动流程可以了解Linux内核是如何被启动的。

2023-06-01 07:57:20 1736

原创 Linux驱动之INPUT设备驱动

每日一个简单的驱动,日久方长,对Linux驱动就越来越熟悉,也越来容易学会写驱动程序。今日进行第八个 INPUT子系统设备驱动。

2023-09-18 07:50:58 338

原创 Linux驱动之INPUT子系统框架

每日一个简单的驱动,日久方长,对Linux驱动就越来越熟悉,也越来容易学会写驱动程序。今日进行Linux INPUT子系统框架介绍。

2023-09-18 07:50:38 279

原创 Linux驱动之MISC设备驱动

每日一个简单的驱动,日久方长,对Linux驱动就越来越熟悉,也越来容易学会写驱动程序。今日进行第七个Linux MISC 设备驱动。

2023-09-04 07:50:26 750

原创 Linux驱动之Linux自带的LED灯驱动

每日一个简单的驱动,日久方长,对Linux驱动就越来越熟悉,也越来容易学会写驱动程序。今日进行第六个Linux自带的led设备驱动。

2023-09-03 13:11:36 967

原创 Linux驱动之设备树下的platform驱动

每日一个简单的驱动,日久方长,对Linux驱动就越来越熟悉,也越来容易学会写驱动程序。今日进行第五个设备树下platform设备驱动。

2023-08-28 08:00:52 326

原创 Linux驱动之platform设备驱动

每日一个简单的驱动,日久方长,对Linux驱动就越来越熟悉,也越来容易学会写驱动程序。今日进行第四个简单的platform设备驱动。

2023-08-27 16:36:14 342

原创 Linux驱动之设备树添加按键驱动

每日一个简单的驱动,日久方长,对Linux驱动就越来越熟悉,也越来容易学会写驱动程序。今日进行第三个简单的按键驱动。

2023-08-16 08:01:30 452

原创 Linux驱动之设备树添加蜂鸣器驱动

本节我们来看一下如果在 Linux 下编写蜂鸣器驱动需要做哪些工作:①、在设备树中添加 SNVS_TAMPER1 引脚的 pinctrl 信息。②、在设备树中创建蜂鸣器节点,在蜂鸣器节点中加入 GPIO 信息。

2023-08-10 08:00:13 427

原创 Linux驱动之设备树添加LED驱动

本章我们就开始第一个基于设备树的 Linux 驱动实验,还是点LED灯。本章重点考察如下知识:①、在 imx6ul-14x14-evk.dtsi 文件中创建相应的设备节点。②、编写驱动程序,获取设备树中的相关属性值。③、使用获取到的有关属性值来初始化 LED 所使用的 GPIO。

2023-08-01 07:56:37 484

原创 还在未keil开发添加文件头和函数注释而烦恼吗?一文帮你解决烦恼

keil5 添加注释说明模板

2023-07-23 11:24:42 1099

原创 Linux项目不可或缺的服务器:FTP服务器移植于搭建

是一个在 UNIX 类操作系统上运行的服务器名字,全称是“”,是一个完全免费、开源的服务器软件,在 linux 发行版中非常流行。支持很多其他传统的服务器不支持的良好特性。使用 vsftpd 可以在 Linux/Unix 系统上搭建一个安全、高性能、稳定性好的轻量级FTP服务器。

2023-07-20 23:08:59 1026 1

原创 中断服务函数能不能带形参和返回值?

中断服务函数能不能带形参和返回值?

2023-07-19 08:22:27 1643

原创 Linux驱动之从点LED灯开始

本章我们就开始编写第一个真正的 Linux 字符设备驱动,LED 灯驱动。麻雀虽小,五脏俱全。本次点亮 LED 看似很简单,但却包含了字符驱动开发的全部步骤。

2023-07-18 12:31:17 394

转载 Linux驱动之软件架构思想

Linux驱动之软件架构思想。

2023-07-16 16:25:46 467

原创 Linux驱动之字符设备驱动框架与示例模板

Linux驱动之字符设备驱动框架与示例模板

2023-07-15 15:34:47 1019

原创 深入理解Linux内核 PHY 驱动框架

深入讲解一下IMX6ULL在Linux内核中 PHY的驱动框架,希望这篇文章对大家理解网卡驱动有所帮助。

2023-07-13 07:52:44 3235

原创 IMX6ULL-Linux6.3.5版本网卡调试深入讲解

linux内核网卡调试掌握多少,可以点进来看一下,是不是跟你想的那么简单?

2023-07-12 07:55:34 427 3

原创 Git下:Git命令使用-详细解读

命令时,会用 HEAD 指向的 master 分支中的全部或者部分文件替换暂存区和以及工作区中的文件。这个命令也是极具危险性的,因为不但会清除工作区中未提交的改动,也会清除暂存区中未提交的改动。在版本库中标记为 "index" 的区域是暂存区(stage/index),标记为 "master" 的是 master 分支所代表的目录树。命令时,暂存区的目录树被更新,同时工作区修改(或新增)的文件内容被写入到对象库中的一个新的对象中,而该对象的ID被记录在暂存区的文件索引中。几个专用名词的译名如下。

2023-06-23 11:38:41 345 2

转载 Git上:全网最全最详细的Git安装教程,建议收藏保存

这是安装成功后开始菜单里面的图。有 Git Bash、Git CMD、Git FAQs、Git GUI、Git Release Note,下面我们就分别介绍一下这几个。

2023-06-23 11:36:13 12533 3

原创 C语言+单片机-内存分布详解,全网最全,值得收藏保存

数据段,指初始化为0值的可读可写数据,它与RW-data的区别是程序刚运行时这些数据初始值全都为0,程序运行时和RW-data的性质一样,它们也常驻在RAM区,应用程序可以更改其内容。通过了解程序的大小,特别是RO-data和RW-data的大小,可以确保所使用的内存空间不会超出设备的可用内存范围,避免内存溢出和相关的错误。),它占用的空间为Code + RO-data + RW-data的总和,所以如果这些内容比芯片的FLASH空间大,程序就无法被正常保存在芯片的FLASH了。

2023-06-21 07:58:11 4309 5

原创 imx6ull固化和更新uboot、zImage和dtb方法---超详细总结

往期精彩文章推荐:1.2.3.4.5.6.7.进行固化和更新的前提,和已经编译好,并且能成功启动和挂载。在讲解imx6ull固化和更新uboot、zImage和dtb方法之前,先带大家了解一些imx6ull的分区情况以及各自的作用。imx6ull eMMC分区,如下图:):EMMC的0分区前两个块 (扇区 ),里面保存着分区表,从第三块开始存放uboot;):存放Linux内核kernel和dtb设备树;):存放rootfs根文件系统。

2023-06-18 14:36:17 781 1

原创 Linux中磁盘管理之格式化、分区、挂载-详解

磁头负责在特定的磁道上读取或写入数据。通过控制磁头的移动和定位,可以将磁头定位到目标磁道上的特定位置,以进行数据的读写操作。没有分区时,数据的安全性和稳定性可能会受到更大的威胁,因为整个磁盘上的数据都处于相同的风险之中。格式化磁盘将清除磁盘上的所有数据,并为其提供一个干净的文件系统环境,使其可以开始存储新的数据。磁盘的磁头可以在磁盘表面上移动到指定的磁道上,然后读取或写入磁道上的扇区数据。它允许更好地组织和管理磁盘上的数据,提高性能,提供数据的安全性和稳定性,并允许实现多引导系统和不同文件系统的兼容性。

2023-06-16 07:51:49 1539

原创 rootfs根文件系统制作及挂载方法-详解

根文件系统一般也叫做 rootfs,那么什么叫根文件系统?看到“文件系统”这四个字,很多人,包括我第一反应就是 FATFS、 FAT、 EXT4、 YAFFS 和 NTFS 等这样的文件系统。在这里,根文件系统并不是 FATFS 这样的文件系统代码, EXT4 这样的文件系统代码属于 Linux 内核的一部分。Linux 中的根文件系统更像是一个文件夹或者叫做目录(在我看来就是一个文件夹,只不过是特殊的文件夹),在这个目录里面会有很多的子目录。

2023-06-14 07:47:20 2368

原创 移植Linux 6.3.5系统到imx6ull开发板

本章主要是移植Linux 6.3.5版本到imx6ull 开发板。

2023-06-11 16:23:04 871

原创 u-boot命令之EMMC和SD卡操作命令详解

今天给大家详细的介绍一下u-boot命令之EMMC和SD卡操作的mmc命令使用

2023-06-05 08:20:35 3451

原创 详细讲解u-boot之网络移植与调试

首先来回顾一下,上一篇我们采用的是NXP官方默认imx6ull开发板的配置参数,任何参数都未做修改,现在使用默认配置网络未能正确识别,说明我们的硬件设计与官方的设计有偏差。,从设备树文件中可以得到,imx6ull FEC1对应位ethphy0,而ethphy0对应的phy地址默认位2,这与我们开发板硬件给的phy地址不符合,因此修改设备树中FEC1对应的phy地址为0。查找结果如上,spi4接口中使用了GPIO5的7和8两个管脚,并且该设备status状态为“okay”激活,解决方法如下,

2023-05-23 12:25:47 12767 2

原创 u-boot移植:详细讲解移植u-boot.2022.10版本到imx6ull开发板

在U-Boot中添加自己的开发板NXP官方uboot中默认都是 NXP 自己的开发板,虽说我们可以直接在官方的开发板上直接修改,使u-boot可以完整的运行在我们的板子上。但是从学习的角度来讲,这样我们就不能了解到u-boot是如何添加新平台的。接下来我们就参考NXP官方的I.MX6ULL EVK 开发板学习如何在u-boot中添加我们的开发板或者开发平台。里面有很多宏定义,如配置u-boot默认串口打印使用uart的第几个口,网口默认使用哪个网口等,也有一些u-boot环境变量的的默认配置。

2023-05-21 17:35:43 767 3

原创 教大家如何使用VS Code远程开发ubuntu和服务器项目

介绍如何使用VSCode远程开发ubuntu和服务器上的项目

2023-05-14 15:36:43 1171

原创 MCU常见的操作系统介绍

MCU微控制器几种常见的操作系统各自的优缺点介绍。

2023-04-11 09:00:12 2549

原创 C语言之链表详解

链表是一种基本的数据结构,它由一系列节点组成,每个节点包含一个值和指向下一个节点的指针。链表的特点是可以动态添加和删除节点,而不需要预先知道数据的数量。与数组不同,链表中的节点不一定是连续的存储空间,因此可以有效地利用内存空间。int val;

2023-04-10 08:41:39 5249

原创 C语言之环形队列

int *queue:指向环形队列的指针;int front:指向队列的头部;int rear:指向队列的尾部;int size:队列的容量。int *queue;int front;int rear;int size;

2023-04-09 20:33:36 691

原创 C语言之十大经典排序算法

嗨喽,大家好,我是程序猿老王,程序猿老王就是我。今天给大家讲一讲C语言十大经典排序算法原理与实现。

2023-04-07 08:14:43 661

原创 C语言入门阶段09:C语言文件操作

嗨喽,大家好,我是程序猿老王,程序猿老王就是我。今天给大家讲一讲C语言文件操作。

2023-04-06 08:19:17 143

原创 C语言入门阶段08:C语言指针

指针类型指针变量名指针类型指定了指针所指向的数据类型,例如int类型的指针可以指向整型数据,char类型的指针可以指向字符数据,等等。指针类型的声明使用*符号,例如:int *p;// 定义一个指向int类型的指针变量pchar *s;// 定义一个指向char类型的指针变量sint *p;// 定义一个指向int类型的指针变量pint *count;// 定义一个指向int类型的指针变量count指针是C语言中的重要概念,它提供了一种灵活的方式来访问内存中的数据。

2023-04-05 13:49:50 219

原创 C语言入门阶段07:C语言数组

数组是一组具有相同数据类型的元素的集合,这些元素按照一定的顺序排列在一起,并且可以使用一个标识符(即数组名)来引用整个数组。可以通过下标(或索引)来访问数组中的每个元素,其中第一个元素的下标为0。数据类型:数组中元素的数据类型。数组名:用于标识数组的名称。数组大小:数组中元素的个数。如下:其中,data_type表示数组元素的数据类型,array_name表示数组的名称,array_size表示数组的大小,即它可以存储的元素个数。

2023-04-04 08:43:32 101

原创 C语言入门阶段06:C语言函数

同时,函数还可以提高程序的重用性,可以将一些通用的功能封装成函数,供其他部分调用,从而减少了重复的代码,提高了程序的效率和可维护性。总之,函数是C语言中非常重要的一部分,它可以帮助程序员将程序划分为不同的模块,提高程序的可读性和可维护性,同时还可以提高程序的重用性和效率。其中,return_type是函数的返回值类型,function_name是函数的名字,parameter_list是函数的参数列表,如果函数没有参数,可以将parameter_list留空或者使用void关键字表示没有参数。

2023-04-03 08:43:13 143

原创 C语言入门阶段05:C语言控制语句

嗨喽,大家好,我是程序猿老王,程序猿老王就是我。今天给大家讲一讲C语言控制语句。

2023-04-02 11:13:20 107

原创 C语言入门阶段04:C语言运算符和表达式

C语言的设计者在设计语言时考虑了程序员的需求,因此C语言的运算符和表达式非常灵活,可以用于不同类型的操作。C语言提供了多种类型的运算符,例如算术运算符、关系运算符、逻辑运算符、位运算符等。以上是 C 语言中的所有运算符和表达式的详细讲解,需要注意运算符的优先级和结合性,以及常见的错误情况。C 语言中的运算符按照优先级从高到低排列,同一优先级的运算符按照结合性从左往右或从右往左计算。需要注意的是,位运算符只能用于整型数据类型,而且左右两边的操作数必须是同样的数据类型。赋值运算符用于将右边的值赋给左边的变量。

2023-04-01 15:35:55 140

原创 C语言入门阶段03:C语言输入输出

嗨喽,大家好,我是程序猿老王,程序猿老王就是我。今天给大家讲一讲C语言基本输入、输出

2023-03-31 08:43:56 524

千兆网口Freescale-ETSEC-+-Marvell-88E1111-uboot-Linux-驱动分析.pdf

千兆网口Freescale-ETSEC-+-Marvell-88E1111-uboot-Linux-驱动分析,详细分析了uboot下网络流程并且对相关的函数进行讲解,让读者不仅了解网络处理流程而且还更深刻了对每个函数的含义有了了解,对网络工作更加深刻

2020-06-27

CAN控制器sja1000波特率计算方法.docx

文档详细介绍了can控制器sja1000的波特率的计算过程,并且给出了计算公式,给出了配置参考思路。

2020-02-15

PowerPC uboot交叉编译环境搭建.docx

本文档详细的介绍了如何在虚拟机ubuntu18.04下安装PowerPC系列的编译工具链,以及怎样进行编译uboot

2020-02-15

candence16.6安装手册.docx

硬件画图软件cadence16.6 详细安装说明文档,手把手教你如何安装cadence16.6版本软件,使用于所有人

2020-02-15

空空如也

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

TA关注的人

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