logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

树莓派基于Linux内核驱动开发详解

一、驱动认知首先理解Linux内核框图文件系统认知,Linux内核框图驱动认知的参考文章:LINUX驱动学习之什么是驱动1、什么是驱动linux内核驱动。软件层面上的驱动 广义上是指:这一段代码操作了硬件去动,所以这一段代码就叫硬件的驱动程序。狭义上驱动程序就是专指操作系统中用来操控硬件的逻辑方法的部分代码。而我们这里讲的驱动就指的是这个狭义上的驱动。2、Linux驱动的体系架构分离、分层思想驱动

#linux
实现树莓派基于Linux内核驱动GPIO

首先理解树莓派基于Linux内核驱动流程和框架树莓派基于Linux内核驱动开发详解一、树莓派基于Linux内核驱动GPIO前提工作树莓派能够执行自己做好的设备文件(设备文件由驱动加载得到),那我们就可以往驱动里加入对GPIO操作,实现点灯,PWM,I2C,SPI等等对GPIO操作,那我们就需要有芯片手册、板子的电路图。对树莓派来讲,芯片手册已经写的足够详细了 所以没用到电路图。我们要点灯,所以要看

#linux
树莓派Linux内核源码

前期工作配置好交叉编译工具链交叉编译工具链详细教程树莓派Linux内核源码下载查看树莓派操作版本命令:uname -r源码下载一、嵌入式裸机和带操作系统启动过程了解C51,stm32启动过程:c直接操控底层寄存器实现相关业务,业务流程型的裸机代码x86,Intel----windows 启动过程:电源–>BIOS–>windows内核–>C,D盘–>启动程序嵌入式产品 树莓

#linux
文件系统认知,Linux内核框图

一、什么是文件系统文件系统是操作系统用于明确存储设备组织文件的方法,就是一个用于管理系统的方法。这个方法就是文件管理系统,简称文件系统。可以理解为是在硬件上跑着很多个不同的程序二、文件系统的种类有哪些FAT VFATNTFSEXT1/2/3/4HFSBRTFS …树莓派查看文件系统命令:df -Tvfat:与boot代码相关的系统(bootloader,dernel)ext4:根目录tmpfs:内

#linux
Linux Sockt服务器和客户端开发示例

Sockt特点1)传输数据为字节级,传输数据可自定义,数据量小(对于手机应用讲:费用低)2)传输数据时间短,性能高3)适合于客户端和服务器端之间信息实时交互4)可以加密,数据安全性强Sockt相关APIsocket——创建一个socket描述符bind——把地址和端口号组合赋给socketlisten——监听socketaccept——接收连接请求connect——发出连接请求一、socket——

#linux#c语言
Linux API-信号:signal、sigaction、sigqueue

信号特征信号本质——是软件层次上对中断的一种模拟信号来源——(1)程序错误,如非法访问内存(2)外部信号,如按下了CTRL+C(3)通过kill或sigqueue向另外一个进程发送信号信号没有优先级,所有的信号都是平等的进程可对信号有不同的响应通过kill -l可查看所有信号信号APIsignal——捕捉信号并作出指定反应sigaction——接收信号函数sigqueue——发送信号函数一、sig

#linux#c语言
Linux API-信号量:semget、semctl、semop

信号量特点本质是一个计数器,内存中有多少个临界资源,信号量的数字就是多少信号量基于操作系统的 PV操作,程序对信号量的操作都是原子操作信号量用于进程间同步,若要在进程间传递数据需要结合共享内存信号量APIsemget——创建信号量semctl——控制信号量semop——对信号量进行PV 操作一、semget——创建信号量表头文件#include <sys/types.h>#includ

#linux#c语言
树莓派基于Linux内核驱动开发详解

一、驱动认知首先理解Linux内核框图文件系统认知,Linux内核框图驱动认知的参考文章:LINUX驱动学习之什么是驱动1、什么是驱动linux内核驱动。软件层面上的驱动 广义上是指:这一段代码操作了硬件去动,所以这一段代码就叫硬件的驱动程序。狭义上驱动程序就是专指操作系统中用来操控硬件的逻辑方法的部分代码。而我们这里讲的驱动就指的是这个狭义上的驱动。2、Linux驱动的体系架构分离、分层思想驱动

#linux
Linux API-消息队列:msgget、msgsnd、msgrcv、msgctl

消息队列特性消息队列存在于Linux内核中,可以使数据双向流动数据在内核中,即使进程结束数据依然存在消息队列实际上是消息链表,每个队列都有自己的标识符消息队列APImsgget——创建一个消息队列msgsnd、msgrcv——添加数据到消息队列、从消息队列获取数据msgctl——控制消息队列一、msgget——创建一个消息队列1.原函数表头文件#include <sys/types.h&gt

#linux#c语言
Linux API-共享内存:shmget、shmat、shmdt、shmctl

共享内存特性共享内存存在于Linux内核中,可以使数据双向流动系统内核的所有进程都可共享此内存空间进程可直接访问共享内存,通信速度快、效率高通常用信号量来实现进程对共享内存同步访问的控制共享内存APIshmget——创建/打开共享内存shmat——将共享内存与当前进程相关联shmdt——将当前进程与共享内存间脱离关联shmctl——操控共享内存一、shmget——创建/打开共享内存1.原函数表头文

#linux#c语言
到底了