自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 逻辑链路控制与适配协议层(L2CAP,Logical Link Control and Adaptation Protocol)

逻辑链路控制与适配协议通常简称为L2CAP(Logical Link Control and Adaptation Protocol),它向上连接host,向下连接controller,起到host与controller之间适配的作用,使上层应用操作无需关心控制器的数据处理细节。经典蓝牙的L2CAP层比较复杂,它实现了协议复用、数据分段与重组、封装调度等操作,使得主机能够支持LE和BR/EDR不同的控制器,实现音频数据流传输等高级功能。 BLE的L2CAP层是经典蓝牙L2CAP层的简化...

2021-01-01 11:55:44 1996 1

转载 超强vim安装、配置和插件的添加使用

1、超强vim配置文件2、运行截图3、简易安装方法:打开终端,执行下面的命令就自动安装好了:wget https://raw.github.com/ma6174/vim/master/setup.sh -O ma6174_vim_setup.sh && bash ma6174_vim_setup.sh4、自己手动安装:(以ubuntu为例)安装vimsudo apt-get install vim 安装ctags:sudo apt-get install..

2020-10-31 12:00:48 585

原创 蓝牙BLE协议随笔(二)

在本文的开篇我们先抛砖引玉先将BLE的基本数据传输的列出来,再根据每一层逐一讲解physical channel(物理信道) physical channel在整个传输体系里为最底层,类似地基的存在,用过射频的同学知道,两个射频设备想要通信,最基础的条件是两个射频设备的频段需要一致,但是这只是包含了物理信道的一部分概念 1、频段相同 BLE物理信道:BLE工作在2.5Ghz GSM频段,一共有40个可用信道,每个信道的间隔为2M 广播信道:37、38、...

2020-07-22 19:32:35 1189 1

转载 掌握10个关键点,让你在ARM下进行高效的C编程

通过一定的方法来编写C程序,可以帮助C编译器生成执行速度更快的ARM代码。下面就是一些与性能相关的关键点:1.对局部变量、函数参数和返回值要使用signed和unsigned int类型。这样可以避免类型转换,而且可高效地使用ARM的32位数据操作指令。2.最高效的循环体形式是减计数到零(counts down to zero)的do-while循环。3.展开重要的循环来减少循环的开销。4.不要依赖编译器来优化掉重复的存储器访问。指针别名会阻止编译器的这种优化。5.尽可能把函数参数的个数

2020-07-16 17:26:11 214

原创 蓝牙BLE协议随笔(一)

我记得我看过一本书叫verilog HDL那些事,作者文笔轻松,文风有趣,不像那些传统的大牛文风严谨,看着就想睡觉,我在网上看了大牛关于蓝牙协议架构的博客、文章,因为协议本身就是一个枯燥乏味的东西,大部分内容需要的是记忆,所以感觉看着脑袋都大了,所以我萌发了一种,用轻快简单的文风刨析蓝牙协议架构的想法,可能写的会很糟糕,但是我觉得就算只有自己看着开心也是足够的;什么是BLE 记得我还是小白的时候BT、BLE傻傻稳步清楚,有大牛就说了BLE就是低功耗蓝牙、BT就是经典蓝牙,就算他这么说我...

2020-07-16 11:33:50 1105

原创 微处理器flash及ram内容详解

做嵌入式工程师很多年了,有的同事经常ram和flash傻傻分布清楚,只知道ram里有堆栈,不知道RO-data、RW-data和.bss段.data段有什么联系,这里我做了一个系统的归纳,仅针对微处理器的flash以及ram的内存分配进行讲解; 在讲解之前先说一下哈佛结构和冯·诺依曼架构一、 哈佛架构和冯·诺依曼架构 为什么开题要讲一下这连个架构呢,因为不同的架构决定着实际ram和flash中内容分配有不同策略 哈佛架构 (英语:Harvard ...

2020-07-13 14:58:36 1355

原创 linux进程调度详解(一)

在详细描写linux进程调度原理之前在这里先明确几个基本概念抢占:调度程序决定什么时候停止一个进程的运行以便其他进程又能够得到执行的机会,这个强制挂起的动作叫做抢占时间片:进程在被强占之前预先设置的能够运行的时间。 从上面的两个概念就可以看出来,调度程序的一个功能就是计算每个进程占用的时间片合理每个进程运行时间,调度程序是采用动态算法计算时间片的,linux内核采用的是O(...

2019-06-03 10:03:15 1412

原创 关于platform driver的一些宏知识

我在写platform驱动的时候参考了一些linux已有的platform driver代码发现了一些我不知道的知识点在这里和大家分享一下。(一)宏module_platform_driver 在platform_device.h 中定义我们继续追踪 module_driver, 在device.h中有下定义那么module_platform_driver(...

2019-03-18 18:32:55 111

原创 NanoPi M4 spidev 支持

NanoPi M4提供的资料中,只有android提供了spi的支持,friendlycore以及friendlydesktop却没有开启对spi的支持,这篇文章主要是针对friendlycore以及friendlydesktop spi支持的配置。 kernel默认的spidev驱动已开启,但是查看/dev发现并没有spidev,主要是dtb中以及存在了spidev的相关描述,但...

2019-03-18 17:06:14 1239

空空如也

空空如也

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

TA关注的人

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