西班牙大马猴
码龄4年
求更新 关注
提问 私信
  • 博客:47,348
    47,348
    总访问量
  • 65
    原创
  • 18
    粉丝
  • 9
    关注
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:北京市
加入CSDN时间: 2022-11-04
博客简介:

m0_74936872的博客

查看详细资料
个人成就
  • 获得23次点赞
  • 内容获得3次评论
  • 获得120次收藏
  • 代码片获得318次分享
  • 博客总排名1,271,196名
创作历程
  • 65篇
    2023年
成就勋章

TA关注的专栏 0

TA关注的收藏夹 0

TA关注的社区 0

TA参与的活动 0

创作活动更多

AtomGit「码动四季·开源同行」秋季征稿活动

秋季征稿主题:开源成果经验分享 成果不止一种形态,我们为你准备了六大赛道,总有一款适合你: 开源项目成果复盘 把项目一年/一季的成长摊开来看:里程碑复盘、Star 与用户增长复盘、版本迭代复盘、从 0 到 1 的发布复盘。 🖊️ 示范选题: ●开源项目从 0 到 1000 Star,我做对了什么 ●开源一周年,我交出的成绩单 这类文章不只是一次经验分享,也是一张项目名片。欢迎将项目托管到 AtomGit 并申请成为 G-Star 项目,通过后可获得平台流量推荐、项目宣传等权益。(G-Star:AtomGit 最具影响力开源项目) ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/1f90c61528ad410d8d66f9d0e3707a5a.png) 咨询 G-Star 项目申请 2️⃣ 技术经验体系化沉淀 踩坑合集、最佳实践总结、工具链实战、CI/CD 流水线搭建、代码重构与架构演进。 🖊️ 示范选题: ●提了 50 个 PR 后,我总结的开源协作避坑清单 ●一次重大重构复盘:把单体拆成可维护的模块 3️⃣ AI 赋能开源的实战成果 AI 编程助手实战测评、基于开源模型的微调与应用开发、AI 辅助研发提效流水线。 🖊️ 示范选题: ●我用 AI 编程助手把提 PR 效率翻了 3 倍 ●基于开源大模型搭了个 XX 工具(附完整教程) 4️⃣ 开源共建笔记|文档、社区与布道 开源文档写作与翻译、issue 互助经验、组织 meetup、用开源项目做教学与分享。 🖊️ 示范选题: ●一个优秀开源项目,文档应该怎么写 ●我用开源项目做了个线上 Workshop ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/23e83ceebc594c379f7fc6aa8dcfa40c.png) 扫码加入码动四季投稿交流群,和更多伙伴一起交流技术!

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

  • 文章

  • 专栏

  • 代码仓

  • 资源

  • 收藏

  • 关注/订阅/互动

  • 社区

  • 帖子

  • 问答

  • 课程

  • 视频

搜索 取消

嵌入式云平台一些基础概念的理解

我自己的理解就似乎,SDK也就是软件开发工具包,他会为其使用者提供一些封装好的接口,使用者在使用时直接调用想使用的接口就可以去实现相应的功能,无需自己在编写代码。我自己的理解是,IOT就是一个设备平台,通过各种传感器和无线传输技术,将捕捉到的信息上传到特定的服务器或者云中,然后云通过判断这些数据做出一些相应的处理。我们这时候就需要泛化来看这个场景,边缘代理+设备本体是一个物模型,单体的设备本身也是一个物模型,只是单体设备这个物模型是由边缘代理进行管理调度的。->直到一方关闭连接,多是客户端关闭连接。
原创
博文更新于 2023.11.03 ·
584 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

一些编程规范注意事项

1.说明性文件(如头文件.h文件、.inc文件、.def文件、编译说明文件.cfg等)头部应 进行注释,注释必须列出:版权说明、版本号、生成日期、作者、内容、功能、与其它文件的 关系、修改日志等,头文件的注释中还应有函数功能简要说明。1.设计结构时功能结构要单一,不要一个结构实现多个功能,并且每个结构里的功能都是有关联的,弱关联的功能分为一个新的结构里去使用;2.结构中元素的个数应适中。1.:标识符的命名要清晰、明了,有明确含义,同时使用完整的单词或大家基本可以理解的 缩写,避免使人产生误解。
原创
博文更新于 2023.11.01 ·
537 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

SPI通讯简介

SPI是串行外设接口(Serial Peripheral Interface)的缩写,是美国摩托罗拉公司(Motorola最先推出的一种同步串行传输规范是一种单片机外设芯片串行扩展接口,是一种高速、全双工、同步的串行通信总线SPI有主、从两种模式,通常由一个主模块和一个或多个从模块组成(SPI不支持多主机),主模块选择一个从模块进行同步通信,从而完成数据的交换。SPI通信原理很简单,需要至少4根信号线,单向传输是3根线;
原创
博文更新于 2023.09.27 ·
3024 阅读 ·
5 点赞 ·
0 评论 ·
17 收藏

Boa服务器与Cgi简介

我们想要实现的是网页端下发命令控制A9端,网页端使用的是html,而想要控制a9端则使用的是c语言,想要实现这两种语言的互通就需要借助CGI,CGI会接收html下发的数据并将其转换成A9端可以识别的数据,也可以将A9端的数据转换成html数据供网页端使用。负责html端和cgi互相通信的查找和转发信息,在boa服务器启动后,如果想访问网页端boa就会去其.conf文件里你设定的目录中去查找对应的html文件,cgi文件也是如此。分析数据,并自动校正一些有缺陷的浏览器发来的数据;提供数字字段的边界检查;
原创
博文更新于 2023.08.31 ·
1110 阅读 ·
1 点赞 ·
0 评论 ·
6 收藏

开搞嵌入式之vi编译器!

嵌入式第一章vi编译器!
原创
博文更新于 2023.08.24 ·
227 阅读 ·
0 点赞 ·
1 评论 ·
0 收藏

嵌入式开发就业所需要的准备

发布资源 2023.08.13 ·
pdf

Linux设备树简介

减少垃圾代码减轻驱动开发工作量驱动代码和设备信息分离参考Open Fireware设计用来记录硬件平台中各种硬件设备的属性信息。
原创
博文更新于 2023.08.10 ·
431 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Linux驱动——input子系统

Linux内核为了两个目的:简化纯输入类外设(如:键盘、鼠标、游戏杆、轨迹球、触摸屏。。。等等)的驱动开发统一输入类外设产生的数据格式(struct input_event),更加方便应用层编程设计了输入子系统事件处理层:接收来自核心层上报的事件,并选择对应的handler(事件处理器 struct input_handler)去处理。内核维护着多个事件处理器对象,每个input_handler对象专门处理一类事件,所有产生同类事件的设备驱动共用同一个handler。
原创
博文更新于 2023.08.10 ·
339 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

static和volatile关键字的作用

static修饰全局变量时,他的作用域由整个工程都可以使用变成了只能在其所定义的模块中使用,例如我们在将许多个编写好的.c文件编译生成一个可执行文件时,如果这些.c文件中有全局变量定义的名字是相同的,这时候编译就会报错,因为最终要生成的可执行文件不知道要去使用哪个变量。volatile关键字的作用就是告诉编译器该变了是易变得,在编译时不能进行优化,主要使用在arm编程中,防止要读的寄存器中存放的数据由于硬件改变而随之改变后,编译器还按照其优化方式去编译而导致的数据错误。
原创
博文更新于 2023.08.03 ·
728 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

error: implicit declaration of function ‘xxx’ [-Werror=implicit-function-declar]的解决方法

编译就成功了,并且试了一下声明时加不加extern都是可以编译成功的,也不知道为什么需要再次声明,有懂的大佬也可以为我解答一下。4.这也是我今天遇到的错误原因,头文件没打错,我还去源码中查看了一下这个.h文件结果里面也有对应的声明,后来。而确在引用时不小心敲错或者敲反了几个字母而导致的错误,这种就需要细心程度来降低错误率了。,比如platform_get_resource()函数的头文件引用应该为。,这时只需要找到其对应的头文件并且引用即可,也有可能是。1.首先,最常见的就是我们上面说的使用的。
原创
博文更新于 2023.07.26 ·
5855 阅读 ·
1 点赞 ·
1 评论 ·
3 收藏

驱动程序中的原子变量、自旋锁、互斥锁mutex的介绍

的特殊整型变量,他是一种多线程编程中常用的同步机制,它能够确保对共享变量的操作在执行时不会被其他线程的操作干扰,从而避免竞态条件(race condition)和死锁(deadlock)等问题。原子变量可以看作是一种特殊的类型,它具有类似于普通变量的操作,但是这些操作都是原子级别的,即要么全部完成,要么全部未完成。//成功获得自旋锁立即返回,否则自旋在那里直到该自旋锁的保持者释放。//测试addr的第nr位是否为1。自旋锁:他的机制就是他的名字——自旋,也就是一直在获得自旋锁的位置停留直到他被释放。
原创
博文更新于 2023.07.17 ·
429 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

驱动设备的IOCTL

已知成员的地址获得所在结构体变量的地址:container_of(成员地址,结构体类型名,成员在结构体中的名称)cmd组成dir(direction),ioctl 命令访问模式(属性数据传输方向),占据 2 bit,可以为IOC_NONE、IOC_READ、IOC_WRITE、IOC_READ | _IOC_WRITE,分别指示了四种访问模式:无数据、读数据、写数据、读写数据;
原创
博文更新于 2023.07.16 ·
513 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

申请和注销设备号的方法

linux的文件种类:-:普通文件d:目录文件p:管道文件s:本地socket文件l:链接文件c:字符设备b:块设备Linux内核按驱动程序实现模型框架的不同,将设备分为三类:字符设备:按字节流形式进行数据读写的设备,一般情况下按顺序访问,数据量不大,一般不设缓存块设备:按整块进行数据读写的设备,最小的块大小为512字节(一个扇区),块的大小必须是扇区的整数倍,Linux系统的块大小一般为4096字节,随机访问,设缓存以提高效率网络设备:针对网络数据收发的设备总体框架图: 内核用设备号来区分同类里不同的设备
原创
博文更新于 2023.07.10 ·
332 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

select实现IO多路复用

select函数参数和返回值:maxfd:监视对象文件描述符数量。readfds:将所有关注“是否存在待读取数据”的文件描述符注册到fd_set变量,并传递其地址值。writefds: 将所有关注“是否可传输无阻塞数据”的文件描述符注册到fd_set变量,并传递其地址值。exceptfds:将所有关注“是否发生异常”的文件描述符注册到fd_set变量,并传递其地址值。timeout:调用select后,为防止陷入无限阻塞状态,传递超时信息。返回值:错误返回-1,超时返回0。
原创
博文更新于 2023.06.26 ·
361 阅读 ·
0 点赞 ·
0 评论 ·
3 收藏

字符设备驱动

设备的操作函数如果比喻是桩的话(性质类似于设备操作函数的函数,在一些场合被称为桩函数),则:驱动实现设备操作函数 ----------- 做桩insmod调用的init函数主要作用 --------- 钉桩rmmod调用的exitt函数主要作用 --------- 拔桩应用层通过系统调用函数间接调用这些设备操作函数 ------- 用桩。
原创
博文更新于 2023.06.22 ·
698 阅读 ·
0 点赞 ·
1 评论 ·
1 收藏

内核空间与用户空间

为了彻底解决一个应用程序出错不影响系统和其它app的运行,操作系统给每个app一个独立的假想的地址空间,这个假想的地址空间被称为虚拟地址空间(也叫逻辑地址),操作系统也占用其中固定的一部分,32位Linux的虚拟地址空间大小为4G,并将其划分两部分:0~3G 用户空间 :每个应用程序只能使用自己的这份虚拟地址空间3G~4G 内核空间:内核使用的虚拟地址空间,应用程序不能直接使用这份地址空间,但可以通过一些系统调用函数与其中的某些空间进行数据通信。
原创
博文更新于 2023.06.19 ·
1839 阅读 ·
1 点赞 ·
0 评论 ·
5 收藏

内核模块代码解析与模块的传参和依赖

Linux内核的插件机制——内核模块类似于浏览器、eclipse这些软件的插件开发,Linux提供了一种可以向正在运行的内核中插入新的代码段、在代码段不需要继续运行时也可以从内核中移除的机制,这个可以被插入、移除的代码段被称为内核模块。主要解决:单内核扩展性差的缺点减小内核镜像文件体积,一定程度上节省内存资源提高开发效率不能彻底解决稳定性低的缺点:内核模块代码出错可能会导致整个系统崩溃。
原创
博文更新于 2023.06.19 ·
407 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

向内核模块中添加新功能

即新功能源码与内核其它代码一起编译进uImage文件内新功能源码与Linux内核源码在同一目录结构下给新功能代码配置Kconfig#进入要添加的新功能的同级目录,这里用添加一个名为MY_HELLO的驱动做演示#cd到linux源码中driver文件下的char文件中,修改其Kconfig文件,#在其中可以发现他们长的都差不多,我们在里面添加如下内容,在内容中解析每个都是什么意思config MY_HELLO //添加新功能MY_HELLO。
原创
博文更新于 2023.06.19 ·
429 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

计算机系统层次结构与操作系统和驱动的定义

狭义的操作系统:给应用程序提供运行环境的裸机程序,也被称为操作系统内核广义的操作系统:一组软件集合,它包含:最核心的一个裸机程序 ----------内核 (kernel)app开发常用的一些功能库(如:C语言标准函数库、线程库、C++标准类库、QT类库等等)一些管理用的特殊app(如桌面、命令行、app包管理器、资源管理器、系统设置、一些常用后台服务程序)英文:Device Driver简称:驱动(Driver)
原创
博文更新于 2023.06.19 ·
1165 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

tftp服务器环境搭建与nfs服务器环境搭建

服务器的工作目录,即客户端要下载的文件需要放到该目录下。服务器的工作目录,即客户端要访问的文件需要放到该目录下。、 打开一个命令行终端,执行如下命令查看是否已安装。、 打开一个命令行终端,执行如下命令查看是已否安装。、 创建服务器工作目录并设置为最高的权限。、 创建服务器工作目录并设置为最高的权限。、 若未安装,执行如下命令安装(确保。、 若未安装,执行如下命令安装(能上网),若已安装直接执行步骤。文件,若获得到则表示安装成功。若显示如下信息表示未安装。),若已安装直接执行步骤。若显示如下信息表示未安装。
原创
博文更新于 2023.06.15 ·
1226 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多