Jacky~~
码龄4年
关注
提问 私信
  • 博客:419,673
    社区:69
    问答:545
    动态:61
    视频:839
    421,187
    总访问量
  • 183
    原创
  • 1,426,329
    排名
  • 836
    粉丝
  • 7
    铁粉

个人简介:Learning Linux kernel!

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:广东省
  • 加入CSDN时间: 2021-03-15
博客简介:

m0_56145255的博客

查看详细资料
个人成就
  • 获得528次点赞
  • 内容获得127次评论
  • 获得2,840次收藏
  • 代码片获得3,973次分享
创作历程
  • 14篇
    2023年
  • 144篇
    2022年
  • 25篇
    2021年
成就勋章
TA的专栏
  • Linux驱动开发
    24篇
  • C语言
    9篇
  • 个人总结
    1篇
  • OpenWrt
    1篇
  • Linux网络
    13篇
  • Shell
    7篇
  • Linux Tools
    1篇
  • 精通Git
    5篇
  • Ubuntu
    2篇
  • 网络编程项目
    2篇
  • C++
    5篇
  • 嵌入式软件开发路由网关方向
  • 面试
    1篇
  • 嵌入式Qt
    5篇
  • 嵌入式Web开发
    5篇
  • SQLite3
    2篇
  • 工具
  • 算法入门到进阶
    17篇
  • 深入理解Linux内核
    1篇
  • Linux应用编程
    23篇
  • MP157_Bootloader
    5篇
  • 智能家居项目
    10篇
  • STM32MP157_M4
    11篇
兴趣领域 设置
  • 嵌入式
    物联网
  • 硬件开发
    驱动开发
创作活动更多

AI大模型如何赋能电商行业,引领变革?

如何使用AI技术实现购物推荐、会员分类、商品定价等方面的创新应用?如何运用AI技术提高电商平台的销售效率和用户体验呢?欢迎分享您的看法

186人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

Linux驱动开发实战(一)——设备驱动模型

在早期的Linux内核中并没有为设备驱动提供统一的设备模型。随着内核的不断扩大及系统更加复杂,编写一个驱动程序越来越困难,所以在Linux2.6内核中添加了一个统一的设备模型。这样,写设备驱动程序就稍微容易一些了。本章将对设备模型进行详细的介绍。设备驱动模型比较复杂,Linux系统将设备和驱动归一到设备驱动模型中来管理。设备驱动模型的提出,解决了以前编写驱动程序没有统一方法的局面。设备驱动模型给各种驱动程序提供了很多辅助性的函数,这些函数经过严格测试,可以很大程度上地提高驱动开发人员的工作效率。
原创
发布博客 2023.07.22 ·
2833 阅读 ·
7 点赞 ·
0 评论 ·
33 收藏

Linux驱动进阶(四)——内外存访问

驱动程序加载成功的一个关键因素,就是内核能够为驱动程序分配足够的内存空间。这些控件一部分用于驱动程序必要的数据结构,另一部分用于数据交换。同时,内核也应该具有访问外部设备端口的能力。一般来说,外部设备被连接到内存空间或者I/O空间中。本章将对内外存设备的访问进行详细的介绍。
原创
发布博客 2023.07.14 ·
887 阅读 ·
0 点赞 ·
0 评论 ·
4 收藏

Linux驱动进阶(三)——中断与时钟机制

中断和时钟机制是Linux驱动中重要的两项技术。使用这些技术,可以帮助驱动程序更高效地完成任务。在写设备驱动程序的过程中,为了使系统知道硬件在做什么,必须使用中断。如果没有中断,设备几乎什么都不能做。本章将详细讲解中断与时钟机制。
原创
发布博客 2023.07.13 ·
1744 阅读 ·
1 点赞 ·
0 评论 ·
10 收藏

Linux驱动进阶(二)——设备驱动中的阻塞和同步机制

阻塞和非阻塞是设备访问的两种基本方式。使用这两种方式,驱动程序可以灵活地支持阻塞与非阻塞访问。在写阻塞与非阻塞的驱动程序时,经常用到等待队列,所有本章将对等待队列进行简要介绍。在Linux驱动程序中,阻塞进程可以使用等待队列(Wait Queue)来实现。由于等待队列很有用,在Linux2.0的时代,就已经引入了等待队列机制。等待队列的基本数据结构是一个双向链表,这个链表存储睡眠的进程。等待队列也与进程调度机制紧密结合,能够用于实现内核中异步事件通知机制。等待队列可以用来同步对系统资源的访问。
原创
发布博客 2023.07.11 ·
562 阅读 ·
1 点赞 ·
0 评论 ·
2 收藏

Linux驱动进阶(一)——设备驱动中的并发控制

中断处理、多任务处理和多处理器(SMP)。这些特性导致当多个进程、线程或者CPU同时访问一个资源时,可能会发生错误,这些错误是操作系统运行所不允许的。在操作系统中,内核需要提供并发控制机制,对公共资源进行保护。本章将对保护这些公共资源的方法进行简要的介绍。在Linux中提供了一些锁机制来避免竞争条件,最简单的一种就是自旋锁。引入锁的机制,是因为单独的原子操作不能满足复杂的内核设计需要。例如,当一个临界区域要在多个函数之间来回运行时,原子操作就显得无能为力了。
原创
发布博客 2023.07.10 ·
362 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Linux驱动入门(五)——简单的字符设备驱动程序

在Linux设备驱动程序的家族中,字符设备驱动程序是较为简单的驱动程序,同时也是应用非常广泛的驱动程序。所以学习字符设备驱动程序,对构建Linux设备驱动程序的知识结构非常重要。本篇博客将带领读者编写一个完整的字符设备驱动程序。
原创
发布博客 2023.07.09 ·
1356 阅读 ·
3 点赞 ·
0 评论 ·
8 收藏

Linux驱动入门(四)——构建第一个驱动程序

开发板以STM32MP157为例进行实验。万事开头难,写驱动程序也是一样,本章将构建第一个驱动程序。驱动程序和模块的关系非常密切,所以这里将详细讲解模块的相关知识。而模块编程成败与否的先决条件是要有统一的内核版本,所以这里将讲解怎样升级内核版本。最后为了提高程序员的编程效率,这里将介绍两种集成开发环境。
原创
发布博客 2023.06.26 ·
2039 阅读 ·
8 点赞 ·
0 评论 ·
24 收藏

Linux内核设计与实现(一)——内核进程管理

进程是Unix操作系统抽象概念中最基本的一种。其中涉及进程的定义以及相关的概念,比如线程;然后讨论Linux内核如何管理每个进程:它们在内核中如何被列举,如何创建,最终如何消亡。我们拥有操作系统就是为了运行用户程序,因此,进程管理就是操作系统的心脏所在,Linux也不例外。本篇我们考察了操作系统中的核心概念——进程。也讨论了进程的一般特性,它为何如此重要,以及进程与线程之间的关系。然后,讨论了Linux如何存放和表示进程(用和),如何创建进程(通过fork(),实际上最终是clone()
原创
发布博客 2023.06.24 ·
985 阅读 ·
4 点赞 ·
1 评论 ·
8 收藏

C语言深度刨析(二)——符号

qq群:829876251也欢迎热爱C语言的朋友们一起学习交流!!!符号有什么好说的呢?确实,符号可说的内容要少些,但总有些可以唠嗑地方。这个符号在C语言里都用在那些地方?,如果你真正掌握了C语言,你就能很轻易的回答上来。这个问题就请读者试着回答一下吧(我刚开始好像就看出了除号,^_^C语言的基本符号就有20多个,每个符号可能同时具有多重含义,而且这些符号之间相互结合使得C语言中的符号变得更加复杂起来。你也许听过“国际C语言乱码大赛(IOCCC)”,能获奖的人毫无疑问是世界顶级C程序员。
原创
发布博客 2023.06.20 ·
220 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Linux驱动入门(三)——源码下载阅读、分析和嵌入式文件系统介绍

关于Source Insight的介绍和使用大家可以参考这篇博客。或者直接在网上找资料进行学习参考博客根文件系统是Linux操作系统运行需要的一个文件系统。分区1一般存储Linux内核映象文件,在Linux操作系统中,内核映象文件一般存储在单独的分区中。分区2存放根文件系统,根文件系统中存放着系统启动必须的文件和程序。这些文件和程序包括:提供用户界面的Shell程序、应用程序依赖库、配置文件等。其他分区上存放普通的文件系统,也就是一些数据文件。操作系统的运行并不依赖于这些普通文件。
原创
发布博客 2023.05.26 ·
2088 阅读 ·
2 点赞 ·
6 评论 ·
2 收藏

Linux驱动入门(二)——嵌入式处理器介绍和构建驱动程序开发环境

在实际工程项目中,Linux驱动程序一般是为嵌入式系统而写的。因为嵌入式系统因用途、功能、设计厂商不同,硬件之间存在很多的差异。这些差异性,不能通过写一个通用的驱动程序来完成,需要针对不同的设备书写不同的驱动程序。要写驱动程序,必须了解处理器和开发板的相关信息。ARM是微处理器行业的一家知名企业,设计了大量高性能、廉价、低功耗的RISC处理器。ARM处理器具有性能高、成本低和能耗低的特点。适用于多种领域,比如嵌入式控制、消费/教育类多媒体、DSP和移动式应用等。
原创
发布博客 2023.05.24 ·
1298 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

Linux驱动入门——基础概念

Unix是从贝尔实验室的一个失败的多用户操作系统Multics中涅槃而生的。Multics项目被终止后,贝尔实验室科学研究中心的人们发现自己处于一个没有交互式操作系统可用的境地。在这种情况下,1969年的夏天,贝尔实验室的程序员们设计了一个文件系统系统原型,而这个原型最终发展演化成了Unix。由于最初一六的设计和以后多年的创新与逐步提高,Unix系统成为一个强大、健壮和稳定的操作系统。下面的几个特点是使Unix。
原创
发布博客 2023.05.23 ·
2590 阅读 ·
7 点赞 ·
0 评论 ·
32 收藏

C语言深度解刨(一)——关键字

qq群:829876251也欢迎热爱C语言的朋友们一起学习交流!!!int i;定义:所谓定义就是(编译器)创建一个对象,为这个对象分配一块内存并给它取上一个名字,这个名字就是我们经常所说的变量名或对象名。但注意,这个名字一旦和这块内存匹配起来(可以想象是这个名字嫁给了这块空间,并且不要彩礼),它们就同生共死,终生不离不弃。并且这块内存位置也不能改变。一个变量或对象在一定区域内(比如函数,全局等)只能被定义一次,如果定义多次,编译器会提示你重复定义同一个变量或对象。
原创
发布博客 2023.05.20 ·
1543 阅读 ·
0 点赞 ·
0 评论 ·
5 收藏

如何在Ubuntu上编辑和运行C程序(新手入门)

兜兜转转还是想再深入的学习C语言,因此打算制定一个学习C语言的计划来不断推荐学习C语言。欢迎各位志同道合的同志加入和交流。qq群·:829876251本篇博客可能写的相对比较简易,后面收集了大家集中的问题后会再更改。也欢迎大家入群交流学习。qq群·:829876251。
原创
发布博客 2023.05.20 ·
4005 阅读 ·
3 点赞 ·
0 评论 ·
21 收藏

2022年总结——实习

lastday!感觉有很多想总结和分享的,但一落实到键盘上似乎就变得无从下手了(-__-)。但还是想发表点什么,哪怕是对看到这篇博客的你们有那么一点点帮助也是好的。notice:以下内容按时间线梳理我在Sagemcom实习了6个月(2022.06.20-2022.12.20)优点:学到了很多专业的知识技能,有培训,有导师一带一。公司主要是做网关产品的研发,所以主要是对网络方面的知识有了很大的加强。同时还跟着导师学习了WiFi相关的常用知识和技术。
原创
发布博客 2022.12.20 ·
2737 阅读 ·
11 点赞 ·
5 评论 ·
18 收藏

OpenWrt(一)——环境搭建与源码下载

下一节分析编译个OpenWrt目录结构。
原创
发布博客 2022.12.18 ·
757 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

深入理解Linux网络技术内幕(十三)——协议处理函数

协议是所有通信的架构:指示每位通信者如何理解通话的另一端。在Linux中,对通信的理解是通过网络中各层的协议处理函数。本篇说明这些处理函数如何安装、如何在执行期间被选中以及如何启用。
原创
发布博客 2022.12.14 ·
2419 阅读 ·
2 点赞 ·
2 评论 ·
14 收藏

Shell脚本学习指南(七)——产生脚本

本篇,我们将进一步处理更复杂的工作。我们认为这里举出的例子都是一般用得到的工具,它们每一个都截然不同,且在大多数UNIX工具集里也没有。在篇中的程序,包括命令行参数分析、在远程主机上运算、环境变量、工作记录、并行处理、使用的运行时语句执行、草稿文件、Shell函数、用户定义初始文件,以及安全性议题考虑的范例。程序会运用Shell语言里的重要语句,并展现传统的UNIX Shell脚本编写风格。有些程序支持在目录路径上查找输入文件,有点像UNIX Shell查找以冒号隔开的目录列表,列在内,以找出可执行的程序。
原创
发布博客 2022.12.13 ·
730 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Shell脚本学习指南(六)——输入/输出、文件与命令执行

本篇博客将完成介绍Shell语言。首先讨论的是文件:如何以不同的方式处理输入/输出和产生文件名。接着是命令替换,也就是让你使用一个命令的输出作为命令行的参数。然后,我们继续将重点放在命令行上,讨论Shell提供的各类引用。最后,则是深入讨论命令执行顺序,并针对内建于Shell里的命令作介绍。前面我们介绍过printf命令,下面我们将完整地介绍它。printf第一部分为描述符规格的字符串,它的最佳提供方式是放在引号内的字符串常数。第二部分为参数列表,例如字符串或变量值的列表,该列表需与格式规格相对应。
原创
发布博客 2022.12.08 ·
7212 阅读 ·
1 点赞 ·
0 评论 ·
7 收藏

深入理解Linux网络技术内幕(一)——基础介绍

Hello,各位小伙伴们大家好。出于工作的需要以及对Linux的浓厚兴趣,决定从今天开始对这本数进行学习。写这个博客的目的也是记录自己的学习笔记和自己的学习心得,如果大各位小伙伴也有兴趣,欢迎一起学习和讨论。关于本书的前言以及介绍这里就不再赘述,直接进入本书的第一章。对于大型项目源码的研究,就像进入一个陌生新奇的领域,有其习惯和不能言表的期待。事先学习一些主要的约定,并尝试和几种组件互动而不是仅站在旁边观察,肯定会对你有所帮助。本章主要介绍一些在网络代码中经常遇到的通用编程模式和技巧。可能的话,希望
原创
发布博客 2022.12.08 ·
2485 阅读 ·
3 点赞 ·
3 评论 ·
20 收藏
加载更多