自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

雨落子衿的博客

青青子衿,雨落我心。

  • 博客(39)
  • 资源 (6)
  • 收藏
  • 关注

原创 TLSF内存管理算法原理详解

一二级索引表中,二级索引表是一个无符号整形一维数组,进一步将内存块等级范围进行细分,其一维下标就是一级索引值,对应的就是该一级索引下各内存块进一步划分,划分方式为等分,划分依据是通过一个颗粒度变量决定通常取一个经验值,32位平台下通常为2^5 /2^4 即划分为32份,例如一级索引值为8时,一级索引范围为2^8 ~2^9 = 256 ~ 512之间,划分32份每份为256/32=8字节,二级进一步细分为32个8字节,各内存块根据大小放入对应的细分等级下管理。

2023-10-25 16:52:53 314

原创 TLSF内存管理算法源码详解(1)- 内存池创建及初始化

TLSF在初始化后,存储区域组成分布表如下,包括TLSF控制器、主空闲块、哨兵块

2023-10-08 18:27:58 638

原创 TLSF内存管理算法源码详解-TLSF_LOG2_CEIL(n)宏:计算最高非零位

TLSF_LOG2_CEIL这个宏在TLSF(Two-Level Segregated Fit)分配器中经常用于计算内存块的大小类别,TLSF分配器使用一种分级的内存块管理方式,将不同大小的内存块分配到不同的内存池中,TLSF_LOG2_CEIL宏可以帮助确定一个内存块的大小类别,以便将其分配到正确的内存池中。

2023-09-20 18:55:24 291

原创 HID协议详解 - Report Descriptor报告描述符构建与解析

本文共12000字,提供详细理解HID Report Descriptor的机会。HID Report Descriptor报告描述符就是描述连接建立之后设备端发送给主机端的数据,每一字节(bytes)每一位(bits)所代表的意义。

2023-03-02 14:52:06 6204

原创 Visual Studio 好用的插件

Visual Studio 好用的插件

2023-01-22 14:25:49 7208

原创 Git:合并提交节点到其它分支的详细操作[git cherry-pick]

git cherry-pick:合并提交节点到其它分支,将指定的提交(commit)应用于其他分支。

2023-01-14 14:32:33 2586

原创 GIT: 撤销git commit && git add操作

撤销git commit && git add操作

2023-01-09 16:39:42 725

原创 从GitHub完整克隆项目及其依赖项子模块(submodule,recursive)

从GitHub完整克隆项目及其依赖项子模块

2023-01-05 23:34:18 3777

原创 GIT: 修改已提交的commit以及已push到远程的任意未合并节点[commit -amend/rebase]

GIT: 修改已提交的commit 信息和内容,包括已经push到远程的任意未合并节点。[commit -amend/rebase]

2022-12-07 18:08:45 2912

原创 source insight 4.0 Load configuartion setting

source insight 4.0 可以通过 Load configuartion 加载个人全局配置信息

2022-09-27 15:37:11 249

原创 VS自定义代码段 - 新建头文件

VS自定义代码段 - 新建头文件

2022-08-27 23:25:01 617

原创 win11 右键菜单回退win10风格 & 从win10风格回到win11风格(脚本)

win11 右键菜单回退win10风格 & 从win10风格回到win11风格(脚本)

2022-08-20 13:26:09 429

原创 解决:VS通过ClangFormat进行格式设置时出现错误 error:Got empty plain scalar

VS通过ClangFormat进行格式设置时出现错误 error:Got empty plain scalar

2022-08-08 22:51:23 1907

原创 嵌入式专业一些比较好用的工具型软件

嵌入式专业一些比较好用的工具型软件

2022-07-12 14:30:09 354

原创 keybindings.json for vscode

keybindings.json for vscode

2022-06-01 14:24:49 769

原创 setings.json for vscode

setings.json for vscode

2022-06-01 14:23:37 205

原创 git about

Git相关的应用技巧及错误处理记录

2021-12-02 11:41:30 590

原创 1.3. ANCS(Apple notification center service) profile描述及应用

用于对接苹果通知中心BLE服务 ANCS服务特征 Characteristic UUID Authorization Notification Source 9FBF120D-6301-42D9-8C58-25E699A21DBD notifiable Control Point 69D1D8F3-45E1-49A8-9821

2021-10-13 18:02:32 1186

原创 1.2 AMS(Apple Media Service) Profile 描述及应用

AMS(Apple Media Service) Profile 描述及应用

2021-10-13 18:00:35 882 1

原创 nrf52+RFX2401的PA+LNA方案,基于softdevice驱动

copy from nordic官方论坛文章:https://devzone.nordicsemi.com/nordic/nordic-blog/b/blog/posts/pa-lna-support-in-s132BLE MCU:nrf52840PA:RFX2401C用于 nRF52 的 S132 SoftDevice 支持使用 GPIO 引脚启用/禁用外部功率放大器 (PA) 和低噪声放大器 (LNA) 的切换。这是在 S132 版本 2.0.0-7.alpha 中引入的。在 nRF5

2021-07-23 17:24:07 1592

原创 nordic/nrf52 SDK主机设置short name filter(简称过虑)

平台:nordicnrf5283x系列SDK版本:nRF5 17.02问题:在主机中根据示例设置short_name filter,正常编译运行,但过滤策略不起作用解决:通过咨询nordic社区,获得解答:nordic Q&A链接 :https://devzone.nordicsemi.com/f/nordic-q-a/74026/how-to-filter-the-scanned-broadcasters-by-short-name1.确保正确设置了从机广播设置(adverti..

2021-04-22 18:30:53 668

原创 clang-format在接收返回的函数调用时需要换行,不在赋值符后换行

《clang-format在接收返回的函数调用时需要换行,不在赋值符后换行》clang版本:V12.0.0验证环境:VScode设置条件:# 在二元运算符前换行: None(在操作符后换行), NonAssignment(在非赋值的操作符前换行), All(在操作符前换行)BreakBeforeBinaryOperators: None#违反赋值运算符的惩罚,在接收返回的函数调用时需要换行,换行不允许在赋值符后,而应在函数参数换行PenaltyBreakAssignment: ...

2021-04-20 18:23:04 855

原创 clang-format 禁止在函数返回类型后换行

《clang-format 禁止在函数返回类型后换行》clang版本:V12.0.0验证环境:VScode设置条件:# false表示所有形参要么都在同一行,要么都各自一行BinPackParameters: false# 总是在返回类型后换行: None, All, TopLevel(顶级函数,不包括在类中的函数),# AllDefinitions(所有的定义,不包括声明), TopLevelDefinitions(所有的顶级函数的定义)AlwaysBreakA...

2021-04-20 16:40:09 1465

原创 插入排序C语言实现 - 源码详解

插入排序时间复杂度:O(N²)稳定性:稳定排序原理: 插入排序适合数据已大致有序了的场合 假定一个初始有序数列(初始设定首元素为有序数列),后边的元素都是待插入数据,一次插入一个, 在有序数列中找待插入数据的位置,然后在将该位置后的有序数据后移,空出位置,然后插入。 以此类推直到所有数据插入完成。适用场景: 数据相对有序、算法时间要求低稳定性好的场景中,选排是一个比较好的选择...

2019-10-12 15:25:23 1538

原创 快速排序C语言实现 - 源码详解

取初始基准值,将数组中其它元素与基准值比较,根据大小分别放置在基准值的左右。 一轮比较后,确定该基准值在数组中的确切位置。再将该位置前后所有元素分成两个数组,重复上述过程,直到最后只剩下一个数进入下一轮,则重复完毕。

2019-10-12 15:10:35 3613 2

原创 选择排序C语言实现 - 源码详解

时间复杂度:O(N²) 稳定性:不稳定 排序原理: 从前往后遍历,每一次遍历都从待排序数列的剩余数列中,选择最大(最小)数出来放置在数列前方 排序过程:(大到小) 1.从前向后遍历数组 2.初始假定已排序数列为data[0],从后面的数据中查找最大值所在位置(下标) 3.将找到的最大数与已排序的后...

2019-10-12 14:51:33 1030

原创 冒泡排序C语言实现 - 源码详解

冒泡排序 时间复杂度:O(N²) 稳定性:稳定 排序原理: 从前往后依次比较相邻的两个数据(如0:1 1:2 2:3 3:4 ... n:tail), 根据排序方向,将最大(最小)值移到最后面,一次遍历浮出一个数据, N次遍历之后,就将所有数据排序完成了。 排序过程: 见源码及注释...

2019-10-12 14:31:39 8319

原创 C语言可变参数函数实现原理解析 - 重写printf

可变参数基于函数调用及参数传递的方式实现前题本文部分内容参考此文:https://blog.csdn.net/yexiangCSDN/article/details/83900366在C语言中,函数调用有4个主流的调用惯例,cdecl、stdcall、fastcall、pacall,它们之间主要的区别在于参数传递时的压栈顺序以及参数栈清理方。如下表: 调用惯例 ...

2019-10-12 11:33:49 1297

原创 关于结构体内存对齐 - 自然对界 理论知识以及实验验证理解

关于结构体内存对齐 - 自然对界理论知识以及实验验证理解自然对界:既结构体内存对齐时各成员变量所占内存对齐时的边界。结构体内存对齐:结构体各成员变量默认会向占内存最大成员变量靠齐。如果结构体中包含其它结构体变量时,默认边界对齐时,寻找最大成员变量的范围会包含该结构体中的成员变量。栗子如下:struct A { char variableA;...

2019-08-15 14:00:42 324

转载 win10——microsoft同步用户主题桌面背景的本地位置、默认背景位置、双屏双背景图设置

漫游的桌面背景(把地址直接复制到文件管理系统地址栏中ENTER即可直达)是针对用户帐户而言的,所以所有通过microsoft帐户同步过来的数据基本都在当前用户目录下,即“%userprofile%或%homepath%”目录下;当前用户主题目录:%localappdata%\microsoft\windows\themes当前用户主题文件:%localappdata%\microsof...

2019-04-17 22:20:49 7396 1

原创 stm32使用XR20M1172详细攻略·SPI转UART串口

1.XR20M1172总结概述 XR20M1172是一块高性能的2通道通用异步接收器和发送器,通常用于串口不够用或外设模块只支持串口的场景中,其输入端有SPI和IIC两种协议可选,输出端两路UART,既可以SPI转串口或IIC转串口。XR20M1172的协议可定制化程度很高,利用寄存器配置可以很灵活的设置各种所需要的场景,如波特率设置、RTS、奇偶校验、特殊字符匹配、发送接收中断...

2019-04-04 09:55:52 9789 1

原创 版本管理器SVN初探:服务器与客户端从下载安装到使用

前文折腾了一天,总算初步搞定了局域网内的SVN服务器与客户端的搭建,系统环境以及版本配置如下:服务器所在操作系统:win7 + 64位SVN服务器版本:VisualSVN-Server-3.9.1-x64       下载地址:https://www.visualsvn.com/server/download/SVN客户端版本以及语言包:TortoiseSVN-1.10.1.2...

2018-08-27 14:28:52 1069

原创 关于stm32f4家的两只看门狗WWDG和IWDG剖析

独立看门狗IWDG    stm32f4的独立看门狗IWDG,是一个拥有独立时钟驱动、自由运行递减计数器的外设,用于检测并解决由软件错误导致的故障。    IWDG被开启后IWWDG_RLR寄存器中的值写入计数器并会自动从0xFFF开始递减计时,当递减到0x000时产生一个复位信号并自动复位,复位处理器啊兄die。(将0xCCCC写入关键字寄存器IWDG_KR开启独立看门狗/硬件看门狗使能后会上电...

2018-07-11 14:52:07 1786

原创 C语言关于const、static、volatile、sizeof、extern关键字的深度剖析

Const(恒定不变的)       被Const关键字修饰的变量、数组、指针、函数返回值,在编译时告诉编译器这是一个只读变量,且在定义时不会分配内存空间给变量,此时编译器无法得知它的值,只有在运行过程中它是一个全局的只读变量,被存放在静态区。       Const与宏define有点相似,都不具有可变性(不能在使用过程中修改它的值),都需要在定义同时初始化。但define是只做简单的替换,相当...

2018-07-09 15:38:41 357

原创 QT —— 如何让QTableWidget表格行列填满整个窗口(mainwindow)

最近在用QT画一个只有一个表格的界面,界面继承的mainwindow。为了整个表格能整体自适应整个窗口的变化,试了各种办法,网上比较多的解决办法是通过Layout布局管理器,但这个只适合行列单元格没有固定的情况,在单元格固定的时候,Table会跟随窗口,但单元格是拖不动的,所以在适配各种不同分辨率的屏幕时,这个方法不能简单的套用。在mainwindow中,直接setlayout会报这样一个错误:Q...

2018-03-06 09:38:14 33015 4

原创 关于Altium Designer一言不合就出现错误报告的解决方案

>>>背景最近在使用Altium Desiger 时总是会弹出这种提交错误报告的问题,最近更新了AD2017,特意去网上各论坛和博客大神家里看了看相关问题,发现这个貌似不是个例,有网友说这个可能是AD“道板”的通病,所以特意结合各大神的解决方案写一份解决方案给遇到同样问题的额童鞋们一个明灯,免去各位童鞋再像我一样到处去溜达找资料和解决方案之苦。>>>环境系统:win10版本

2017-11-07 21:00:17 23817 1

原创 同一系统下,keil 4和keil 5以及keil c51共存的解决方案

keil 5和keil 4以及keil c51同系统并存。keil 5打开keil 4的工程不稳定容易死机。

2017-09-23 21:29:48 9905 6

原创 vim8.0中文帮助文档安装教程 - 实时更新

总所周知vim自带的帮助手册是英文的, 对平时编程的人来说没有多大阅读困难, 但还是不太习惯满篇中文(其实是英文水平不好), 所以当升级vim8.0之后,帮助文档理所当然的也得跟上来。我百度了一下,没有vim8.0中文文档相关的明确教程,所以写一篇向我这样想体验vim8.0的新鸟普及一下。安装方法简易靠谱: 在下面的网站下载最新的中文帮助的文件包: http://vimcdoc.sf.net 这

2017-09-12 10:22:06 1669

原创 Windows右键添加cmd命令提示符快捷方式的两种方法

Windows右键添加cmd命令提示符快捷方式的两种方法第一种:shift+右键 这个最方便了,随时随地直接从当前目录进入cmd终端。第二种:注册表方式添加 1、win+R进入运行终端 2、regedit进入注册表 3、依次进入HKEY_CLASSES_ROOT\Folder\shell 4、在shell右键新建子项命名“命令提示符”(也可以其他名字

2017-09-09 19:08:38 3472

tm4c123ae6pm - cortex-m4内核权威指南.rar

tm4c123ae6pm芯片的权威手册,内涵cortex-m4内核的权威资料,哪里不懂查哪里,老师傅再也不用担心我的学习。

2019-08-29

《Linux内核源代码情景分析》全书带书签

《Linux内核源代码情景分析》全书带书签,高清全书签版本

2018-01-31

understand4.0.89-win64bit-带破解工具及说明

understand-4.0.891-windows-64bit-带破解工具及说明.亲测可用

2018-01-31

行业简历模板-根据行业选择适合自己的简历

行业简历模板-根据行业选择适合自己的简历,选择最适合自己行业的简历为自己面试加分。

2017-11-15

简历模板-囊括几乎所有专业

这是一份超过200份的专业简历模板-囊括几乎所有专业,200种风格200种感觉,适合应届毕业生也适合老鸟,还有其他的模板自己随便用

2017-11-15

CH340驱动 win7/win10通用

CH340/CH341的USB转串口WINDOWS驱动程序的安装包,支持32/64位 Windows 10/8.1/8/7/VISTA/XP,SERVER 2016/2012/2008/2003,2000/ME/98,通过微软数字签名认证,支持USB转3线和9线串口等,用于随产品发行到最终用户.............................................................................................................................

2017-11-15

空空如也

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

TA关注的人

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