自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 通信质量测试方法

丢包率:数据包丢失的百分比,直接影响 TCP 吞吐量。时延:数据包从发送到接收所需的时间(RTT,Round-Trip Time)。抖动:时延的变化程度,即连续数据包 RTT 的差值绝对值(|RTTₙ - RTTₙ-1|)。

2025-11-26 10:28:51 869

原创 LVGL 之将位图 bin 数据存储在外部 Nor Flash

① 将图片数据转为 C 数组添加到代码中,在代码的链接文件中分配 RO 数组存储范围为外部 Flash。优:该方法操作简单方便,图片数据随代码一起烧录,可直接调用图片数据缺:需要对应外部 Flash 的烧录算法,每次下载 MCU 代码时会重复烧录图片数据,特别是图片较多时会导致每次下载代码很慢② 将图片数据转为 .bin 文件并以文件形式存储在外部 Flash 的文件系统中。优:图片管理清晰明了,方便增删改查,下载 MCU 代码时,无需重复写入图片数据。

2025-11-05 17:24:11 895 1

原创 jlink烧录原理

首先,我们需要理解一个核心概念:烧录器(如 J-Link)本身并不知道如何与成千上万种不同的 Flash 存储器芯片打交道。因此,烧录算法的核心作用就是充当 J-Link 与目标芯片片上 Flash 存储器之间的“翻译官”或“驱动程序”。它是一段预先编写好的、能够在目标芯片的 CPU 上运行的机器代码,专门用于执行擦除、编程、校验等针对特定 Flash 存储器的操作。

2025-10-18 14:20:19 1453

原创 nordic BLE

最上面是应用程序。这是用户通过API与之交互来使用BLE协议的层。应用层的重要部分包括。下一层组成主机,它本质上决定了BLE设备之间如何存储和交换数据。最后,控制器构成了较低的层,其中最引人注目的部分是物理无线电,它产生无线电波并用数据对信号进行编码Zephyr蓝牙主机实现了所有这些层,并为应用程序提供了API。本课程中使用的Controller是在nRF Connect SDK中的SoftDevice控制器。SoftDevice控制器和Zephyr蓝牙主机构成了完整的蓝牙LE协议栈。

2025-03-15 13:53:35 793

原创 freertos注意事项

在 ISR 中调用 xSemaphoreTakeFromISR 时,如果该互斥量已经被某个任务持有,ISR 将无法成功获取该互斥量。在FreeRTOS中,如果一个任务持有了一个互斥量(mutex),并且在中断服务例程(ISR)中调用 xSemaphoreTakeFromISR 来尝试获取同一个互斥量,通常情况下,这种操作是会失败的。总结来说,如果在 ISR 中尝试获取一个已经被任务持有的互斥量,xSemaphoreTakeFromISR 将会失败,返回 pdFALSE。

2024-11-26 17:09:14 323

原创 nrf52840 USB CDC ASM

为什么要在open时调用一次read?参考https://devzone.nordicsemi.com/f/nordic-q-a/68136/where-does-usb-cdc-acm-data-get-read。

2024-11-23 17:24:32 349

原创 FreeRTOS中断相关

数以千计的应用程序在 ARM Cortex-M 核心上运行 FreeRTOS。但很少有用户 针对 RTOS 和 ARM Cortex CPU 核心这一组合请求技术支持。大多数出现的问题 都是中断优先级设置不正确 导致的。这可能是意料之中的, 因为尽管 ARM Cortex-M 核心使用的中断模型非常强大, 但对于那些习惯了常规中断优先级方案的工程师来说,这种模型有些笨拙和 有悖直觉。本页旨在描述 ARM Cortex-M 的中断优先级机制,以及如何 与 RTOS 内核一起使用。

2024-11-13 11:04:07 1793

原创 MII接口

当PHY层芯片收到有效的载波信号后,CRS_DV信号变为有效,此时如果FIFO中还没有数据,则它会发送出全0的数据给MAC,然后当FIFO中填入有效的数据帧,数据帧的开头是“101010—”交叉的前导码,当数据中出现“01”的比特时,代表正式数据传输开始,MAC芯片检测到这一变化,从而开始接收数据。PHY在发送数据的时候,收到MAC过来的数据(对PHY来说,没有帧的概念,对它来说,都是数据)然后把并行数据转化为串行流数据,再按照物理层的编码规则把数据编码,再变为模拟信号把数据送出去,收数据时的流程反之。

2023-10-30 11:49:37 1120 1

原创 《TCP/IP详解 卷1:协议》第4章ARP:地址解析协议

数据链路如以太网或令牌环网都有自己的寻址机制(常常为48 bit地址),这是使用数据链路的任何网络层都必须遵从的。当一台主机把以太网数据帧发送到位于同一局域网上的另一台主机时,是根据48 bit的以太网地址来确定目的接口的。

2023-10-12 16:25:29 137

原创 《TCP/IP详解 卷1:协议》第三章 IP:网际协议

例如,A类的某个地址为 12.10.10.3/8,这里的最后一个”8”说明该地址的子网掩码中的”1”有8位,即255.0.0.0,而199.42.26.0/28表示网络199.42.26.0的子网掩码中“1”的位数有28位。前面我们讲过,IP可以分为网络号和主机号,进一步的,我们可以对主机号进行划分,得到子网号和新的主机号,这样子,就可以把我们的网络进一步划分为更小的网络了。简单的IP路由选择机制:如果源和目的直接相连或者在同一个共享网络中,则直接发送到目标主机,否则发到默认的路由器,由路由器进行转发。

2023-10-11 15:58:08 291

原创 TCP/IP 第二章 链路层

链路层的主要目的:(1)为IP模块发送和接收IP数据报。(2)为ARP(地址解析协议)模块发送ARP请求和接收ARP应答。(3)为RARP(逆地址解析协议)发送RARP请求和接收RARP应答。

2023-10-11 15:48:25 144

原创 TCP/IP详解 第一章 概述

网络协议通常分不同层次进行开发,每一层分别负责不同的通信功能。一个协议族,比如TCP/IP,是一组不同层次上的多个协议的组合。TCP/IP通常被认为是一个四层协议系统,如图1-1所示。

2023-10-11 15:30:40 209

原创 链接脚本section格式

格式section [address] [(type)] : [AT(lma)] [ALIGN(section_align) | ALIGN_WITH_INPUT] [SUBALIGN(subsection_align)] [constraint] { output-section-command output-section-command … } [>region] [AT>lma_region] [:phdr :phdr …] [=fill

2022-03-25 17:04:10 285

原创 汇编伪指令

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言什么是汇编伪指令GNU arm 汇编伪指令总结前言提示:这里可以添加本文要记录的大概内容:记录汇编伪指令的一些知识提示:以下是本篇文章正文内容,下面案例可供参考什么是汇编伪指令1、没有对应机器指令的汇编指令,主要用于协助汇编程序进行汇编。2、在计算机中直接运行的程序所对应的语言叫机器语言(指令),如果直接按二进制表示出来就是一系列 0 和 1 。当然,用机器语言编写程序的时代一般都使用八进制或十六进制,它们和.

2022-03-25 14:56:28 1912

image-convert-tool.7z

lvgl image转换工具

2025-10-18

OpenFlashloader-CortexM-Template-EmbeddedStudio.zip

jlink open flashloader模板

2025-10-18

空空如也

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

TA关注的人

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