自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

明明德

应无所住,而得其心!

  • 博客(1635)
  • 资源 (10)
  • 论坛 (1)
  • 收藏
  • 关注

原创 BSP及驱动开发笔记-56 按键中去抖动及up,down实现

按键去抖程序static struct key_info{ // key-1, 定义key_info结构体,实现按键去抖动程序 int status; // 定义按键状态,弹起up = 0, 按下down = 1 int type; // 定义按键类型,短按 short = 0,长按 long = 1 int code; // 定义键值}.

2021-06-14 21:58:46 4

原创 BSP及驱动开发笔记-55 time list定时器

#include <linux/timer.h> //TL-1, 添加头文件static struct timer_list my_time; //TL-2 定义timer_list全局变量my_time.function = time_fun; //TL-3 在模块加载的地方填充函数的内容static void time_fun(unsigned long data) //TL-4, 定义定时回调函数{}init_timer...

2021-06-14 19:11:42 4

原创 BSP及驱动开发笔记-54 内核延时接口介绍

linux启动过程中,内核的每一条打印信息都会有一条时间戳下面举个例子,打印HZ,jiffes显示,此处HZ=1000,延时3秒之前,jiffies=1737191,延时后jiffies=1740196. 不是精准的3秒。可能执行过程中还有其它延时。jiffies可能会溢出,有风险可以直接调用延时函数,效果更佳,更精确。在程序执行期间,用top指令查看进程运行状态,发现此时CPU处于运行状态,故delay属于忙等待。基于上面的代码,如果把mdelay()换成msleep()发.

2021-06-14 18:19:32 4

原创 BSP及驱动开发笔记-53 自旋锁应用

公共资源,多个进程同时访问同一个公共资源,刚好一个任务读,另一个任务刚好再写的时候,才会发生竞争。此时,就可采用自旋锁、信号量,避免冲突。信号量:适用于不常使用的资源,如按键按下。资源开销比较大。自旋锁:不用睡眠,效率高于信号量。资源开销比较小自旋锁、信号量是两个极端情况。#include <linux/spinlock.h> //SP-1, 添加头文件static struct spinlock my_spinlock; //SP-2

2021-06-14 17:49:45 4

原创 BSP及驱动开发笔记-52 信号量代码实现

为了解决前面提到的,内核产生大量数据,应用程序来不及处理的问题。硬件方式,通过 //gpio_request(unsigned gpio,const char * label) // 信号量实现-1 GPIO硬件资源可以通过gpio_request来实现保护, 如果此处调用了gpio_request,使用完后必须release,一旦它调用request,别的地方再调用request就会失败。此处不考虑该方法。全局变量,一般保护即可读也可写,且反复使用的对象,这里认为该区域就是需要保护

2021-06-14 17:11:09 5

原创 BSP及驱动开发笔记-51 信号量介绍

2021-06-11 14:46:44 10

原创 BSP及驱动开发笔记-50 内核同步与互斥概念

2021-06-11 14:30:20 8 1

原创 BSP及驱动开发笔记-49 异步数据处理kfifo实现

/** debug: * ` kfifo可以缓存数据,当应用获取数据处理时间较长时,可以缓存消息不被丢失* */#include <linux/module.h> /* module_init */#include <linux/fs.h> /* file_operations */#include <linux/device.h> /* class device */#include <linux/sched.h> /* curre

2021-06-11 13:50:24 9

原创 BSP及驱动开发笔记-48 kfifo介绍

上例,https://wesley.blog.csdn.net/article/details/117789126当应用程序有延迟时,会导致内核的数据丢失,来不及读取。如何处理?引入了循环队列,即内核提供的kfifo如果循环对列长度为N,则in = 实际数据长度 % N,即当数据长度大于N时,由于取模,又从1开始下一轮,即队列永远不会溢出。...

2021-06-10 20:42:53 8

原创 BSP及驱动开发笔记-47异步数据问题分析

驱动#include <linux/module.h> /* module_init */#include <linux/fs.h> /* file_operations */#include <linux/device.h> /* class device */#include <linux/sched.h> /* current */#include <linux/mount.h> /* struct vfsmount */#i

2021-06-10 18:30:37 8

转载 802.11ax简要笔记

802.11ax,又称Wi-Fi 6,是IEEE 802.11推出的下一代802.11工作标准,是继802.11n之后第二个能够同时工作在2.4GHz与5GHz频段下的WiFi标准。其平均吞吐量能够比Wi-Fi 5(即802.11ac)提高至少4倍,并发用户数提升3倍以上,其速度能够达到600Mbit/s,是5G移动通信标准的有力竞争者。一、各项对比• 基本信息对比• 空间流对比:即AP天线数。• Symbol与GI对比:Symbol为时域信号、GI为时域信号空隙。• 编码方式对比:即调制技

2021-06-10 16:59:24 3

原创 1. RFID介绍

应用场景RFID工作原理

2021-06-10 12:41:25 9 1

原创 1. 第一个C程序

2021-06-10 12:21:03 8 1

转载 802.11a OFDM symbol

好久没更新了,前段时间是在工作组的空间内更新一些内容,比较杂乱,有一些有价值的内容还是整理的博客上。这里整理的主要是802.11a的symbol的结构,因为这一块除了一些外文书和协议本身有写,总结的倒不多,而且也没有补充图示,所以这里补充下(画图花了不少时间,如果转载的话还请注明下转自偶这,辛苦辛苦,如有错误,还请指出)。Written by Edward Xu(http://blog.csdn.net/rs_network)在802.11系列协议中,除了最早的802.11b和802.11这两个版本有

2021-06-08 19:17:58 21

原创 BSP及驱动开发笔记-46工作队列中实现底半部

工作队列:创建好后就一直存在,类似与一个进程app.c#include <stdio.h> /* FILE */#include <fcntl.h>/* O_RDWR */#include <linux/fb.h>#include <sys/mman.h>/* PROT_READ,PROT_WRITE,MAP_SHARED */#include <string.h>/* memset() */#include &lt.

2021-06-08 19:10:33 11

原创 BSP及驱动开发笔记-45 中断对系统调度的影响

由于涉及到多核,会导致中断无法正确执行。比如程序由CPUx执行,CPUy上面产生的中断将不会对CPUx上面的程序产生影响。作为demo代码,采取的方式是关闭其它几个CPUCPU1已经被关闭同理,关闭其它几个CPU应用程序...

2021-06-08 07:08:30 13

原创 BSP及驱动开发笔记-44 按键中断程序开发流程

应用程序该程序只负责阻塞,让中断不退出。加载驱动,按键每按下一次,计数器加1添加中断头文件用request_irq来申请中断request_irq函数的第一个参数是 中断号:由转换的对象去转换(gpio_to_irq(PAD_GPIO_A+28))request_irq函数的第2个参数是 中断处理函数(demo_handler)request_irq函数的第3个参数是中断属性,用于设置什么样的触发方式。此处设置为下降沿触发 IRQ_TYPE_EDGE_FAILINGreque...

2021-06-07 21:38:39 9

原创 BSP及驱动开发笔记-43 中断服务相关接口

单片机:中断向量表Linux:Request_IRQ接口传入IO编号,返回中断编号

2021-06-04 09:53:12 14

原创 射频微波测量基础 - 频谱分析仪

现在的频谱仪,一般都同时具有fft与扫频两种工作模式。矢量信号分析仪在中频带宽的单一频点上信号幅度/相位分析。信号的EVM,码率,功率等。适合复杂的突发/突变信号分析。频谱仪中需要的是差频信号,即中频信号。RBW可调,影响到频谱仪的速率/分辨率略...

2021-06-03 18:14:45 15

原创 BSP及驱动开发笔记-42 中断基本概念

2021-06-03 06:22:01 16

原创 BSP及驱动开发笔记-41 简单按键驱动实现

该范例,仅仅控制一个按键,SW6,对应的GPIO引脚为GPIOA28按键按下同时,LED灯亮。#include <linux/module.h>#include <linux/fs.h>#include <linux/device.h>#include <linux/uaccess.h>#include <mach/devices.h> //PAD_GPIO_A+namespace#include <mach/so..

2021-06-02 21:47:54 12

原创 BSP及驱动开发笔记-40 LED操作

查看开发板上LED灯的电路图,此处以D3为例,实现对LED灯的控制。GPIOC11对应的功能为Function1echo 0 > /dev/demo_dev88 实现将LED灯点亮,echo 1 > /dev/demo_dev88 实现将LED灯熄灭LED灯闪烁应用程序设置data初值为0,标示点亮, sleep 300毫秒以后,再熄灭,依此类推,实现循环点灯。#include <linux/module.h>#include <linux/fs.h&g

2021-06-02 21:03:54 16

原创 BSP及驱动开发笔记-39 GPIO配置接口介绍

配置GPIO引脚功能配置引脚输入、输出配置读输入高低电平配置输出高低电平

2021-06-02 20:02:49 13

原创 BSP及驱动开发笔记-38 设备号的应用

pfile:当前访问进程信息通过pinode提取主从设备号实现一个主设备号,多个次设备号、 多个设备创建加载驱动后,就发现这些设备已经创建,每隔设备都可显示主、次设备号将代码第49行得到的demo_major,替换之前代码的固定值242,则新的驱动就可以自动分配主设备号。 register_chrdev(0,“demo_char”,&fops) 第一个参数为0,标示自动分配主设备号...

2021-06-01 21:04:01 13

原创 BSP及驱动开发笔记-37 字符设备驱动与应用程序数据交互

驱动中发数据给应用程序应用程序写数据给驱动在这里插入代码片#include <linux/module.h>#include <linux/fs.h>#include <linux/device.h>#include <linux/uaccess.h>static struct class *demo_class; //全局变量static int demo

2021-06-01 20:29:27 10

原创 BSP及驱动开发笔记-36 字符设备驱动创建设备文件并访问驱动

前面的驱动加载以后,设备会存在,只是没有设备文件。cat /proc/devices 设备存在没有设备文件,可以手动创建对字符设备文件最简单的访问,用cat (open - read - write到控制台 - 关闭, 这里write会有点问题,因为write是到控制台,而open/read/close是本设备)发现,open/read/release都被执行,没有写。可以用echo的方式写发现,不停的写。 实际只要求写入5个字符 (4个x 加 尾0),原因是驱动的写接口函数返回0.

2021-06-01 18:17:39 16

原创 BSP及驱动开发笔记-35 字符驱动模块框架

```c#include <linux/module.h>#include <linux/fs.h>static int demo_open(struct inode *pinode,struct file *pfile) //首先需要实现open这个接口函数{ printk(KERN_WARNING "L%d->%s()\n",__LINE__,__FUNCTION__); //KERN_WARNING 可以被打印出来。__LIN...

2021-05-31 18:10:41 17

原创 BSP及驱动开发笔记-34 三步实现一个内核模块

源码之间建立关联,makefile与kconfig

2021-05-31 10:47:51 18

原创 BSP及驱动开发笔记-33 Linux内核模块简介

2021-05-30 22:16:29 12

原创 BSP及驱动开发笔记-32 Linux驱动分类及特点

主设备号用户区分不同的设备。次设备号用于区分不同的接口应用ls -l 查看的是普通文件

2021-05-30 22:01:53 11

原创 BSP及驱动开发笔记-31 Linux驱动基本概念

2021-05-30 05:56:44 13

原创 BSP及驱动开发笔记-30 Linux根文件系统etc配置文件总结

2021-05-29 21:55:39 15

原创 BSP及驱动开发笔记-29 Linux根文件系统制作

https://wenku.baidu.com/view/070e35d8d15abe23482f4d8a.htmlhttps://blog.csdn.net/weixin_46065254/article/details/104686006https://blog.csdn.net/weixin_38251305/article/details/107342523

2021-05-29 21:42:25 26

原创 BSP及驱动开发笔记-28 Linux系统启动过程

1号进程linuxrc 映射到busyboxbin目录下的命令映射到busybox1、STEP 1:构建目录结构创建根文件系统目录,主要包括以下目录/dev /etc /lib /usr /var /proc /tmp /home /root /mnt /bin/sbin /opt /sys /media执行:#mkdir $HOME/rootfs#cd $HOME/rootfs#mkdir dev etc lib usr var proc tmp home ...

2021-05-29 21:32:32 13

原创 BSP及驱动开发笔记-27 Linux系统启动流程

/bin/ash: 监听子进程状态,属于杀不死的小强,kill以后马上由initrc创建另一个(respawn)

2021-05-29 12:46:29 15

原创 BSP及驱动开发笔记-26 Linux根文件系统目录结构

bin目录:bin为binary的简写主要放置一些系统的必备执行档例如:cat、cp、chmod df、dmesg、gzip、kill、ls、mkdir、more、mount、rm、su、tar等。/usr/bin目录:主要放置一些应用软件工具的必备执行档例如c++、g++、gcc、chdrv、diff、dig、du、eject、elm、free、gnome*、 zip、htpasswd、kfm、ktop、last、less、locale、m4、make、man、...

2021-05-28 13:29:44 15

原创 BSP及驱动开发笔记-25 Linux虚拟文件系统

2021-05-26 10:14:26 15

原创 BSP及驱动开发笔记-24 Linux文件系统分类

2021-05-26 10:02:25 10

原创 BSP及驱动开发笔记-23 Linux文件系统概念

2021-05-26 09:49:58 29

原创 BSP及驱动开发笔记-22 Linux内核移植

移植linux3.4内核到24401. 下载内核源码https://www.kernel.org/pub/linux/kernel/2. 交叉环境搭建(只要编译不出错,一般都可以使用,如果出现汇编错误,升级gcc版本即可)工具下载最新版下载 在/usr/local/下建立交叉编译器的安装目录armsudo mkdir /usr/local/arm 将下载的交叉编译器包解压到/usr/local/arm目录下sudo tar jxvf cross-4.2.2-eabi....

2021-05-26 09:44:17 14

项目01商铺数据加载及存储.ipynb

项目01商铺数据加载及存储,项目01商铺数据加载及存储.ipynb.ipynb

2019-09-02

1.Python基础_1.6_模块与包.ipynb

1.Python基础_1.6_模块与包.ipynb,1.Python基础_1.6_模块与包.ipynb

2019-09-02

1.Python基础_1.7_数据读写.ipynb

1.Python基础_1.7_数据读写.ipynb,1.Python基础_1.7_数据读写.ipynb

2019-09-02

项目02基于Python的算法函数创建.ipynb

项目02基于Python的算法函数创建.ipynb

2019-09-05

1.Python基础_1.4_条件判断及循环语句.ipynb

1.Python基础_1.4_条件判断及循环语句.ipynb,1.Python基础_1.4_条件判断及循环语句.ipynb

2019-09-02

1.Python基础_1.5_函数.ipynb

1.Python基础_1.5_函数.ipynb,1.Python基础_1.5_函数.ipynb

2019-09-02

1-Python基础_1.3_字典映射.ipynb

1-Python基础_1.3_字典映射.ipynb,1-Python基础_1.3_字典映射.ipynb

2019-09-02

变量与数据类型.ipynb

1.1 Python 数据类型笔记,ipynb文档 个人学习练习笔记

2019-08-17

云计算与分布式系统

云计算与分布式系统__________从并行处理到物联网

2014-08-04

1.Python基础_1.2_序列及通用操作.ipynb

1.Python基础_1.2_序列及通用操作,完整学习笔记,完美收藏

2019-08-20

VDSL2技术标准

发表于 2019-07-26 最后回复 2019-07-26

空空如也

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

TA关注的人 TA的粉丝

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