- 博客(603)
- 资源 (12)
- 问答 (1)
- 收藏
- 关注
原创 归并排序算法及其在算法中的应用
将当前数组从中间分成两个子数组,递归地对这两个子数组继续进行分解,直到每个子数组只包含一个元素(此时子数组自然有序)。递归地对分解得到的子数组进行排序。由于每个子数组最终会被分解到只包含一个元素,因此排序操作实际上是在合并过程中完成的。将两个已排序的子数组合并成一个有序数组。这是归并排序的核心操作,需要比较两个子数组的元素,按顺序放入新的数组中。
2025-06-09 22:50:24
516
原创 ARM A64 LDR指令
https://developer.arm.com/documentation/ddi0487/fcLoad Register (immediate) loads a word or doubleword from memory and writes it to a register. The address that is used for the load is calculated from a base register and an immediate offset. The Unsigned
2025-05-16 00:00:28
683
1
原创 arm CPS指令解释
Some PSTATE fields can be accessed using the Special-purpose Current Program Status Register (CPSR). The CPSR can be directly read using the MRS instruction, and directly written using the MSR (register) and MSR (immediate) instructions.某些 PSTATE 字段可通过专用当
2024-12-13 23:55:55
1127
3
原创 ARM A32多数据处理汇编指令理解分享
在ARM A32多数据处理汇编指令分为多数据存储指令和多数据加载指令:1,多数据存储指令:push, STMFD(STMDB), STMED(STMDA) , STMFA(STMIB), STMEA(STMIA);2,多数据加载指令:pop,LDMF(LDMIA), LDMFA(LDMDA), LDMEA(LDMDB), LDMED(LDMIB);
2024-12-05 23:58:31
1522
1
原创 FreeRTOS之ARM CR5栈结构操作示意图
下面以FreeRTOS源码中arm cortex-r5处理器的栈处理为例来介绍栈结构操作前后变化。
2024-12-03 20:09:21
638
1
原创 FreeRTOS之vTaskDelete实现分析
TaskHandle_t xTaskToDelete 要删除任务的句柄,但这个句柄其实就是我们申请任务时创建的TCB,这个参数在传入的时候可以设置为NULL,表示要删除的是自己当前的任务。
2024-11-22 23:33:49
628
1
原创 FreeRTOS之xTaskCreate实现分析
TaskFunction_t pxTaskCode 任务的处理函数const char * const pcName 任务的名字const configSTACK_DEPTH_TYPE uxStackDepth 当前任务栈的大小,栈的实际大小为uxStackDepth * sizeof(StackType_t)void * const pvParameters 传入到任务处理函数的参数UBaseType_t uxPriority 当前任务的优先级。
2024-11-21 23:58:53
802
2
原创 objdump命令的常见用法
objdump 是一个在类Unix系统中广泛使用的命令行工具,它是GNU Binutils套件的一部分,主要用于显示编译后的对象文件、可执行文件、共享库等二进制文件的详细信息。objdump 是一个极其灵活和多功能的工具,对软件开发者、安全研究人员以及任何想要深入了解二进制文件内部结构的人来说都非常有用。
2024-07-22 22:36:12
4027
2
原创 PCIe 5.1-Transaction Layer Specification
该文章基于《5.0-1.0-PUB — PCI Express® Base Specification Revision 5.0 Version 1.0》翻译和理解。
2024-07-18 23:14:40
1275
2
原创 kpatch dynamic kernel patching
kpatch 是一种 Linux 动态内核补丁的基础架构,它允许你在不重启或重新启动任何进程的情况下为运行中的内核打补丁。它能让系统管理员立即为内核打上重要的安全补丁,而不必等待长时间运行的任务完成、用户注销或预定的重启窗口。它能在不牺牲安全性或稳定性的情况下,对正常运行时间进行更多控制。
2024-07-08 22:03:29
1361
2
原创 kpatch Patch Author Guide
由于 kpatch-build 比较容易使用,人们很容易认为补丁模块构建成功意味着补丁可以安全应用。但事实上,这是一个非常危险的假设。创建实时补丁时可能会遇到许多陷阱。本文件试图为补丁创建过程提供指导。本文正在编写中。如果您觉得有用,请作出贡献!
2024-07-04 23:47:16
1275
4
原创 arm64虚拟化-CPU虚拟化
本篇博客是基于对苯叔《ARM64高级特性专题》的学习而总结的,大家如有需要可以去淘宝或者奔跑吧linux社区去购买对应的课程。
2024-05-26 19:42:05
1890
4
原创 io_uring的使用示例及其解释
这几个系统调用接口都在io_uring.c文件中。liburing 是io_uring的实现者Jens Axboe为了简化用户使用io_uring所实现的一个用户空间的 C 库,用于简化在 Linux 系统上使用 io_uring 的开发。它提供了一组简洁而强大的 API,使开发者可以更轻松地利用 io_uring 的高性能异步 I/O 功能,而无需深入了解 io_uring 的内部工作原理。
2024-05-12 22:31:03
1670
3
原创 epoll的使用示例及其解释
epoll 是 Linux 下的一个 I/O 多路复用机制,用于高效地监听多个文件描述符上的 I/O 事件。相较于 select 和 poll,epoll 在处理大量连接时具有更好的性能。
2024-04-09 21:51:36
2929
4
原创 简明conan教程
Conan的目标是解决C/C++项目中的依赖管理问题,这在C/C++开发中是一个非常复杂和常见的问题。Conan是一个C/C++的依赖管理工具,它的名称来源于《柯南·道尔探案全集》中的名侦探柯南,这是因为Conan的开发者希望这个工具能够帮助用户“侦查”和解决C/C++项目中的依赖问题。依赖定义:Conan允许开发者在conanfile.py或conanfile.txt中定义项目所需的依赖库,包括库的名称、版本、构建选项等信息。描述:调用你的本地 conanfile.py 的 package() 方法。
2024-03-28 11:05:16
2499
5
原创 conanfile.py-Methods-package_info()
本文是基于对conan官方文档翻译而来, 更详细的信息可以去查阅conan官方文档。
2023-12-17 21:49:09
816
8
原创 conanfile.py-Methods-source()/build()/package()
本文是基于对conan官方文档source(),build(),package()翻译而来, 更详细的信息可以去查阅conan官方文档。
2023-12-16 18:30:25
2977
33
原创 创建conan包-打包方法
因此,如果有一个软件包配方可以构建一个 "hello "库,那么就会有一个软件包包含 "hello.lib "库的发布版本,另一个软件包包含该库的debug版本(在图中表示为 “hello_d.lib”,这只是为了更加清楚,其实是没有必要使用不同的名称)。这种类型的软件包可以包含不同配置的不同工件,并可用于在同一软件包中包含一个库的release版本和debug版本。一种典型的方法是为每个包含工件的软件包设置一个配置。例如,使用这种方法,debug预编译库与release预编译库将放在不同的软件包中。
2023-12-15 23:32:13
646
16
原创 ubuntu如何远程ssh登录Windows环境并执行测试命令
paramiko是一个用于在Python中实现SSH(Secure Shell)协议的模块,它提供了客户端和服务器的功能,使得你能够在网络上安全地执行命令、传输文件等。
2023-12-12 22:45:42
2296
39
原创 创建conan包-Understanding Packaging
本文是基于对conan官方文档翻译而来, 更详细的信息可以去查阅conan官方文档。
2023-12-04 23:44:58
569
63
原创 创建conan包-打包现有二进制文件
本文是基于对conan官方文档Packaging Existing Binaries翻译而来, 更详细的信息可以去查阅conan官方文档。
2023-12-04 23:14:48
1034
4
原创 使用conan包 - 调试软件包
本文是基于对conan官方文档的翻译而来, 更详细的信息可以去查阅conan官方文档。本节将介绍如何使用 Conan 设置项目和管理依赖关系(即安装现有软件包)。
2023-11-28 06:00:00
386
24
原创 使用conan包 - 工作流程
本文是基于对conan官方文档的翻译而来, 更详细的信息可以去查阅conan官方文档。本节将介绍如何使用 Conan 设置项目和管理依赖关系(即安装现有软件包)。
2023-11-28 05:00:00
841
3
原创 使用conan包 - 使用配置文件
本文是基于对conan官方文档的翻译而来, 更详细的信息可以去查阅conan官方文档。本节将介绍如何使用 Conan 设置项目和管理依赖关系(即安装现有软件包)。
2023-11-27 23:02:14
747
原创 使用conan包 - 安装依赖项
本文是基于对conan官方文档的翻译而来, 更详细的信息可以去查阅conan官方文档。本节将介绍如何使用 Conan 设置项目和管理依赖关系(即安装现有软件包)。
2023-11-27 22:36:04
1445
1
原创 cmake install接口常用方式介绍
cmake这会将 my_directory 及其内容安装到 /path/to/install 目录下,并为该目录设置权限。这只是 install 指令的一些常见用法示例。具体的使用方式会根据项目的结构和需求而有所不同。下面文章的内容是基于cmake官方文档的install章节翻译总结而来。指定在安装时运行的规则。
2023-11-25 23:48:34
1672
28
原创 repo init报error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed
在ubuntu执行repo init的时候报了repo init报error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed这种错误,解决方法是需要更新本地证书。
2023-11-23 21:38:02
2097
18
原创 ubuntu 20.04如何切换gcc/g++/python的版本
当系统同时存在gcc-9以及gcc-10时该如何切换让当前的系统gcc版本指向gcc-9或是gcc-10呢?g++也同样如此。面临更严重问题的python更是如此,ubuntu 目前默认安装的python版本是2.7,而我们经常使用的版本为3.xx。
2023-11-22 22:36:56
1696
30
原创 ubuntu 20.04 搭建crash dump问题分析环境
确保您拥有系统的 GPG 密钥。,其中 XXX 是内核版本。文件,添加下面的配置以支持。包含调试信息的文件名为。
2023-11-21 21:55:45
4197
33
原创 Windows conan环境搭建
conan在windows上最新的版本是2.xx的,conan的1.xx版本和2.xx版本的差异非常大,我们在开发时目前需要的是conan 1.xx版本去做代码库管理工作,在安装时需要制定要安装的1.xx的conan版本号。,需要注意的是Visual Studio Community 2022对应的MSVC是17而不是2019版的16,如果使用msvc16去编译需要对应的适配一个msvc17的profile配置文件。下载对应的windows版本的git去安装使用。打开Microsoft Store中搜索。
2023-11-14 23:05:46
2570
42
CoAP_rfc7252.pdf
2020-12-04
Real-Time Embedded Multithreading--Using ThreadX.7z
2019-08-20
openocd-2020-12-23.pdf
2020-11-24
busybox-1.31.0.tar.bz2
2020-07-08
_install.tar.gz
2020-07-08
Inside the C++ Object Model_english&chinese;
2018-07-27
See mips run
2018-03-17
简明 Python 教程_cn_en
2018-09-04
nand操作时page_size = 2048;
2014-11-25
TA创建的收藏夹 TA关注的收藏夹
TA关注的人