Yuxxxxxxxxxx's Blog
  • 首页
  • 归档
  • 分类
  • 标签
  • 关于

BLE 协议之传输层

[toc] 在 BLE 协议中,传输层位于 Host 和 Controller 之间,提供一种无需知道数据内容便可以传输数据的能力。其主要是通过硬件传输介质(如:UART、SDIO、USB 等),传输上层数据。 上图即是 UART 传输层的功能框图。 一、HCI 简介 Core5.4 P1728 该图展示了两个设备之间的数据传输路径。Host 通过 HCI Driver 和 Control
2024-10-25
通信协议 > BLE
#通信协议 #BLE

STM32 调试之栈回溯和 CmBacktrace 的使用

[toc] 一、栈回溯1、寄存器知识在 Cortex-M 上弄清楚栈的布局,就必须理解 Cortex-M 上的压栈入栈的机制和原理。下面从该体系架构上说说 Cortex-M 上比较重要的细节。 按照 ARM Cortex-M 的设计,一共有 32 个寄存器。 13 个通用寄存器,r0-r12 2 个不同模式下使用的 SP PSP(SP_process) MSP(SP_main) 1 个链
2024-10-24
嵌入式 > STM32
#嵌入式 #STM32 #调试

动态链接过程分析

[toc] 上文 静态链接过程分析 讲解了静态链接的过程,尤其强调了重定位的过程。本文将继续介绍动态链接的过程。 一、前言静态链接得到的可执行程序,被操作系统加载之后就可以直接执行。 因为在链接的时候,链接器已经把所有目标文件中的代码、数据等 Section,都组装到可执行文件中了。并且把代码中所有使用的外部符号(变量、函数),都进行了重定位(即:把变量、函数的地址,都填写到代码段中需要重定位的
2024-10-23
Linux
#Linux #动态链接

静态链接过程分析

@toc 本文测试环境为 ubuntu20.04 + gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.2) 一、开始首先,编写两个简单的文件用于待会儿的分析: 123456789101112131415161718192021// swap.cint shared = 1;void swap(int *a, int *b){ in
2024-10-22
Linux
#Linux #静态链接

ESP32-IDF 非易失存储 NVS

@toc 零、前言NVS(Non-volatile storage,非易失存储),意思是掉电后能依然能持久化保存数据。在我们应用 NVS 时,一般用于存储一些配置数据、状态数据等,一般不会用来存储存放大量的数据量。 在嵌入式系统中,NVS 主要是在 Flash 进行==键值对==的存储。举个例子,假设我们要把东西存到 Flash 中,按照底层的操作习惯,我
2024-10-21
嵌入式 > ESP32
#嵌入式 #ESP32

ESP32-IDF 分区表

[toc] 一、基本介绍使用时要添加头文件 #include "esp_partition.h"。 1、配置结构体1.1 esp_partition_t1234567891011typedef struct { esp_flash_t* flash_chip; /*!< SPI flash chip on which the par
2024-10-20
嵌入式 > ESP32
#嵌入式 #ESP32

ESP32-IDF 通用定时器 GPTimer

@toc 一、基本介绍1、配置结构体1.1 gptimer_config_t1234567891011121314typedef struct { gptimer_clock_source_t clk_src; /*!< GPTimer clock source */ gptimer_count_direction_t direction; /*!<
2024-10-19
嵌入式 > ESP32
#嵌入式 #ESP32

ESP32-IDF USART 专题

@toc 第一节主要介绍 ESP32-IDF 相关 API,在第二节介绍如何在 ESP32 上使用 USART,第三节为实例演示。 一、基本介绍 API 参考路径 esp-idf/components/esp_driver_uart/include/driver/uart.h。 1、配置结构体1.1 uart_config_t1234567891011121314typedef struc
2024-10-18
嵌入式 > ESP32
#嵌入式 #ESP32

ESP32-IDF GPIO 专题

[toc] 一、基本介绍 API 参考路径 esp-idf/components/esp_driver_gpio/include/driver/gpio.h。 ESP-IDF 由多个组件组成,组件中包含专门为 ESP 芯片编写的代码或第三方库(即第三方组件)。对于某些第三方库,ESP-IDF 提供专用的包装器和接口,以简化对第三方库的使用,或提高其与 ESP-IDF 其他功能的兼容性。某些情况
2024-10-17
嵌入式 > ESP32
#嵌入式 #ESP32

CMake 教程(三)添加库的使用要求

@toc 一、实例——添加库的使用要求目标参数的使用要求可以更好地控制库或可执行文件的链接和包含行,同时还能在 CMake 内部更好地控制目标的传递属性。利用使用要求的主要命令有: target_compile_definitions() target_compile_options() target_include_directories() target_link_directories()
2024-10-16
工具 > CMake
#CMake #工具
1…45678…13

搜索

Hexo Fluid