自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(76)
  • 资源 (6)
  • 收藏
  • 关注

原创 嵌入式驱动学习目录索引(更新中)

这是一篇索引博客,用来,可以用来给自己以及需要的读者作为一个目录索引,每次更新完博客都会添加进该目录中。嵌入式驱动学习专栏将详细记录博主学习驱动的详细过程,未来预计四个月将高强度更新本专栏,喜欢的可以关注本博主并订阅本专栏,一起讨论一起学习。现在关注就是老粉啦!

2024-03-12 02:19:14 760 1

原创 嵌入式驱动学习第一周——git的使用

本文主要介绍git的使用,包括介绍git,gitee,以及使用gitee创建仓库并托管代码git是开源的分布式版本控制软件,能有效并高效的处理项目。git能进行版本控制,即记录文件内容的变化,方便将来查阅特定版本修订情况。gitee中文名为码云,是开源中国推出的基于git的代码托管服务。国内访问gitee比github要快一些。

2024-02-26 17:51:22 872

原创 手把手教你games101环境搭建(图文并茂)——Visual Studio安装,Eigen库,Opencv配置

使用图文的方式手把手教读者配置VS,Eigen和opencv,主要服务于games101本机环境的搭建

2022-11-16 16:37:52 9812 16

原创 禾赛面经分享

禾赛面经,linux开发工程师(实习)

2024-04-20 02:38:26 854 1

原创 OPPO面经

oppo底层软件工程师面经

2024-04-19 22:46:05 739

原创 嵌入式驱动学习第七周——I2C子系统

I2C子系统,从内核源码的角度来解析I2C子系统

2024-04-14 01:48:57 975

原创 嵌入式驱动学习第七周——GPIO子系统

gpio子系统用于同意便捷地访问输入输出中断等效果,通常搭配pinctrl子系统使用

2024-04-13 01:18:13 681

原创 嵌入式驱动学习第七周——pinctrl子系统

pinctrl子系统

2024-04-12 02:58:55 769

原创 地平线面经

地平线面经

2024-04-09 21:03:46 1025

原创 嵌入式驱动学习第六周——跟踪系统事件

在分析软件的运行过程、调试疑难bug,执行性能分析和调优等方面,系统事件跟踪式很有用的工具。

2024-04-07 16:10:37 760

原创 嵌入式驱动学习第六周——内核函数调用(堆栈打印)

在内核中,函数调用堆栈非常重要,因为它可以帮助开发人员理解代码是如何执行的,从而进行调试、性能优化或问题排查。堆栈可以显示当前执行的函数以及导致该函数调用的先前函数,从而形成一个函数调用链。本篇博客就介绍堆栈打印内核函数的调用。!

2024-04-06 18:29:47 927

原创 modprobe加载驱动模块时报错:modprobe: module xxx.ko not found in modules.dep

使用modprobe时,报错modprobe: module xxx.ko not found in modules.dep

2024-04-04 20:44:56 206

原创 中断代码实验——工作队列、线程化处理、tasklet

这篇博客是linux内核中断处理案例实现,根据下半部的不同处理方式分为工作队列、线程化处理、tasklet三种方式

2024-04-04 17:26:52 704

原创 windows下通过vscode访问ubuntu(绝大部分Linux下开发所采用的方案)

本篇博客是介绍VSCode远程连接Ubuntu进行开发的解决方案,前提是安装好了VMWare,Ubuntu,windows下的VSCode。

2024-04-02 23:04:37 845

原创 嵌入式驱动学习第五周——驱动模块

Linux 驱动有两种运行方式,第一种就是将驱动编译进 Linux 内核中,这样当 Linux 内核启动的时候就会自动运行驱动程序。第二种就是将驱动编译成模块(Linux 下模块扩展名为.ko),在Linux 内核启动以后使用“insmod”命令加载驱动模块。在调试驱动的时候一般都选择将其编译为模块,这样我们修改驱动以后只需要编译一下驱动代码即可,不需要编译整个 Linux 代码。而且在调试的时候只需要加载或者卸载驱动模块即可,不需要重启整个系统。

2024-04-01 16:48:06 623

原创 嵌入式驱动学习第四周——设备树

驱动开发一个很重要的东西就是设备树,这篇博客来讲一下设备树,以及dtb,dts,dtc等,设备树语法。最后讲一下如何在驱动中找到设备树对应节点进行匹配,并查找属性

2024-03-22 02:01:20 888

原创 嵌入式驱动学习第四周——platform总线

外设与Soc的连接是通过接口,但是接口的不同本质上是通信协议的不同,于是内核就抽象出各种总线,将同一协议的设备连接在一起管理。总线分为物理总线和虚拟总线,物理总线是客观存在的,比如usb总线,有usb协议的设备连接在上面;虚拟总线式软件上模拟的,如platform总线,没有哪种设备用的platform协议,是内核为了统一用总线上方式管理设备虚拟出来的总线。使用总线的话,可以实现数据和方法分离,设备里包含了数据,驱动是硬件操作的方法。

2024-03-19 14:37:35 867

原创 嵌入式驱动学习第三周——如何优化驱动及提高驱动稳定性

在 Linux 中应用程序运行在用户空间,应用程序错误之后,并不会影响其他程序的运行,而驱动工作在内核层,是内核代码的一部分,当驱动出现问题之后,可能会导致整个系统的崩溃。所以在驱动中,需要对各种判断、预处理等进行排查等,本篇将对如何优化驱动稳定性和提高驱动效率进行学习。

2024-03-15 22:52:46 549

原创 嵌入式驱动学习第三周——Linux网络基础调试命

这篇博客来一起学习一下如何分析网络问题。嵌入式驱动学习专栏将详细记录博主学习驱动的详细过程,未来预计四个月将高强度更新本专栏,喜欢的可以关注本博主并订阅本专栏,一起讨论一起学习。现在关注就是老粉啦!

2024-03-15 00:54:46 949

原创 嵌入式驱动学习第三周——Linux内核中的继承思想

我们知道Linux源码是C语言,而继承是面向对象的很重要的思想,Linux内核中也通过开发者的智慧实现了继承。嵌入式驱动学习专栏将详细记录博主学习驱动的详细过程,未来预计四个月将高强度更新本专栏,喜欢的可以关注本博主并订阅本专栏,一起讨论一起学习。现在关注就是老粉啦!

2024-03-14 22:05:40 407

原创 解决驱动开发中<stdlib.h> no such file 的问题

驱动开发中,出现了 no such file 的问题

2024-03-14 21:44:30 331

原创 嵌入式驱动学习第三周——linux内核链表

本文主要介绍的是linux内核链表,即list_head结构体,主要内容有:内核链表的实现机制,增删改查,最后有一个实例说明

2024-03-13 17:01:30 702

原创 嵌入式驱动学习第三周——设备号与字符设备的注册、分配、释放

这一篇博客来谈谈字符设备的注册、分配与释放。嵌入式驱动学习专栏将详细记录博主学习驱动的详细过程,未来预计四个月将高强度更新本专栏,喜欢的可以关注本博主并订阅本专栏,一起讨论一起学习。现在关注就是老粉啦!

2024-03-12 21:01:11 987

原创 嵌入式驱动学习第三周——字符设备驱动关键结构体

字符设备是Linux驱动中最基本的一类设备驱动,字符设备就是一个一个字节,按照字节流进行读写操作,读写数据分先后顺序。常见的比如操作IO口输入输出,I2C,SPI,LCD等均为字符设备。Linux应用程序对驱动程序的调用如下图所示:应用程序在用户空间,而Linux驱动属于内核的一部分,运行于内核空间,如果想在用户空间对内核空间进行操作,那么就需要用系统调用实现从用户空间陷入到内核空间。

2024-03-12 11:47:30 982

原创 解决/sys/power下没有autosleep的问题

autosleep用于取代wakelock中的自动休眠功能,这篇博客来解决一下设备下,/sys/power没有autosleep的问题。嵌入式驱动学习专栏将详细记录博主学习驱动的详细过程,未来预计四个月将高强度更新本专栏,喜欢的可以关注本博主并订阅本专栏,一起讨论一起学习。现在关注就是老粉啦!

2024-03-12 02:42:21 263

原创 嵌入式驱动学习第三周——container_of()宏

在代码管理多个数据结构时,几乎总是需要将一个结构嵌入到另一个结构中,并随时检索它们,而不关心内存偏移或边界的问题。是一个宏函数,可以通过结构体成员的地址找到结构体的地址。ptr——结构体成员地址type——结构体类型member——结构体成员在结构体里的名字// 一个员工类int age;// 年龄char* name;// 姓名}Engineer;// 一个公司类// c艹工程师// java工程师// 员工人数} company;

2024-03-11 23:45:15 908

原创 vscode中解决驱动编写的时候static int __init chrdev_init()报错的问题

解决vscode进行驱动开发中,"expected a ;"的错误

2024-03-11 21:31:09 510

原创 MT笔试题

MT的笔试题,个人感觉题目的价值还是很高的,分为选择题和编程题,选择题考的是嵌入式基础知识,编程题是两道算法题,一道为简单难度,一道为中等难度。

2024-03-10 23:01:48 755

原创 嵌入式驱动学习第二周——使用perf进行性能优化

perf可以在CPU Usage增高的节点上找到具体引起CPU增高的函数,之后就可以有针对的聚焦那个函数做分析。举例来说,使用 Perf 可以计算每个时钟周期内的指令数,称为 IPC,IPC 偏低表明代码没有很好地利用 CPU。Perf 还可以对程序进行函数级别的采样,从而了解程序的性能瓶颈究竟在哪里等等。Perf 还可以替代 strace,可以添加动态内核 probe 点,还可以做 benchmark 衡量调度器的好坏。

2024-03-09 01:37:42 803

原创 perf的安装与迁移

perf是性能优化很重要的工具之一,本篇博客就来看一下perf的安装以及遇到的问题。嵌入式驱动学习专栏将详细记录博主学习驱动的详细过程,未来预计四个月将高强度更新本专栏,喜欢的可以关注本博主并订阅本专栏,一起讨论一起学习。现在关注就是老粉啦!

2024-03-08 00:19:59 707

原创 嵌入式驱动学习第二周——Linux休眠唤醒

这篇博客来聊一聊Linux系统的休眠与唤醒。嵌入式驱动学习专栏将详细记录博主学习驱动的详细过程,未来预计四个月将高强度更新本专栏,喜欢的可以关注本博主并订阅本专栏,一起讨论一起学习。现在关注就是老粉啦!

2024-03-07 20:08:46 958

原创 解决/sys/kernel/debug/下没有任何文件的问题

/sys/kernel/debug目录下没有任何信息。

2024-03-07 11:53:10 262

原创 大众AI面

AI面经验分享

2024-03-06 15:02:01 351

原创 嵌入式驱动学习第二周——断言机制

断言就是用于在代码中捕捉这些假设,可以将断言看作是异常处理的一种高级形式。断言表示为一些布尔表达式,程序员相信在程序中的某个特定点该表达式值为真。可以在任何时候启用和禁用断言验证,因此可以在测试时启用断言,而在部署时禁用断言。最终用户在遇到问题时可以重新起用断言。它可以快速发现并定位软件问题,同时对系统错误进行自动报警。断言可以对在系统中隐藏很深,用其它手段极难发现的问题可以用断言来进行定位,从而缩短软件问题定位时间,提高系统的可测性。

2024-03-04 22:23:28 1205 1

原创 嵌入式驱动学习第二周——Linux内核打印

本篇文章主要是记录linux内核打印,dmesg命令使用与printk函数介绍

2024-03-04 16:57:00 852 1

原创 修改uboot连接的主机的ip地址

这一节是因为最近改变了一下连接主机的ip,然后就需要修改一下uboot中一些变量的值。平台是i.mx6ull。嵌入式驱动学习专栏将详细记录博主学习驱动的详细过程,未来预计四个月将高强度更新本专栏,喜欢的可以关注本博主并订阅本专栏,一起讨论一起学习。现在关注就是老粉啦!

2024-03-04 01:53:51 1081

原创 嵌入式驱动学习第一周——linux设备管理模型

现在来聊点原理性的东西——linux设备管理模型嵌入式驱动学习专栏将详细记录博主学习驱动的详细过程,未来预计四个月将高强度更新本专栏,喜欢的可以关注本博主并订阅本专栏,一起讨论一起学习。现在关注就是老粉啦!

2024-03-03 07:41:55 915

原创 嵌入式驱动学习第一周——阻塞IO,进程的休眠与唤醒

本文介绍了阻塞式IO,进程的唤醒与休眠

2024-03-02 07:37:03 1028

原创 嵌入式驱动学习第一周——Linux错误码以及 IS_ERR、ERR_PTR、PTR_ERR

指针一般有三种:合法指针、错误指针、NULL指针。合法指针:内核返回的指针一般是指向页面的边界,即ptr & 0xfff == 0非法指针:不指向任何有效内存地址错误指针:错误指针是指指向无效、未定义或未分配内存的指针。

2024-03-02 06:27:51 1202

原创 嵌入式驱动学习第一周——内核的中断机制

当你在刷手机的时候,此时突然npy打电话来了,于是你退出刷手机状态,接听npy电话,此过程即为中断。简单来说,中断会让CPU停止正在执行的程序,转而让CPU执行中断处理函数,执行完再返回原程序。另外,整个操作系统就是一个中断驱动的死循环,即裸机开发中常写的。其他所有的事情都是由操作系统提前注册的中断机制和其对应的中断处理函数完成。

2024-03-01 23:06:30 938

正点原子的linux驱动教程

正点原子的linux驱动教程

2024-02-27

WeatherData.py

WeatherData.py

2021-01-24

html、CSS、JavaScript

本资源为想学后端人员的前端笔记,适合有一点基础的人观看,慎下!!! 笔记为.md格式的,跟着黑马程序员视频教程所编写的笔记,包括了一些常用的前端知识,负责后端的可以当成复习笔记复习复习

2020-09-13

Java复习笔记.rar

本资源适合已有java基础,但稍微有点忘记的人群,对于初学者可能不够全面,慎下!!!! 本资源中的思维导图为xmind编写,是自己看《Java从入门到精通》时所画的思维导图,由于看完之后感悟不深,后序笔记未整理,只整理了Java基础。本资源中的笔记未.md格式,是自己在观看黑马的教学视频时跟着做的笔记,弥补了部分后面Java核心技术部分,各位可下载下来进行复习使用。

2020-09-13

C++面向对象的ATM机设计,含MFC和控制台版本

内含控制台和MFC版本,面向对象设计,模块化编程,使用文件流储存户主信息,其中MFC版本为现学现卖,写的较为青涩,可供各位参考

2020-05-06

C语言贪吃蛇源代码未使用结构体

一个青涩的未使用结构体的贪吃蛇小实例,可以动手写一写,作为一个阶段性的实例,加深对二维数组等的理解,规则在运行后的框框下面,新手编写,模块化这一块做的不好,可在此代码基础上修改,大佬勿喷

2020-05-06

hal库stm32f103c8t6做的音乐盒和按键钢琴

使用hal库编程,运用了TTP224触摸按键(4个按键)以及霍尔元件。默认状态下触摸按键发出do re mi fa,霍尔元件实现切换功能以及歌单的效果,内附详细使用说明

2020-05-06

空空如也

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

TA关注的人

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