自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 问答 (1)
  • 收藏
  • 关注

原创 延时发送消息删除处理方法

延时发送的消息,如果在消息未生成时,执行取消消息发送操作。可能此时延时发送的消息已经发出,但是在序列中排队等待处理。此时执行延时消息取消发送操作可能无效,因为对应的消息已经存储在消息队列中。软件框架的消息处理机制原生支持,将消息从待处理队列中删除的操作。这种方法是最安全的处理方式。实现一个状态检查函数,在消息处理函数中使用状态检查函数去检查当前是否需要执行对应的消息处理。

2023-08-17 20:21:03 161 1

原创 物联锁项目失败原因分析

总结公司物联锁项目失败的原因

2022-06-24 18:51:44 151 1

原创 FlashDB 文件系统

FlashDB文件系统支持片上存储、外部存储器、操作系统文件系统接口。FlashDB文件系统支持的底层接口有:FAL、C语言标准文件操作接口、POSIX 标准文件接口。FlashDB 主要适用于少量数据存储的应用场景在MCU的移植过程中主要使用FAL作为底层接口。FAL存储底层接口说明FAL 的作用是实现存储系统分区管理,可以对指定分区进行读写访问操作。FAL 可以同时支持多个类型的存储器:片上FLASH、外部Nor Flash、等其他类型的存储器。FAL移植步骤:1.定义F

2022-01-04 10:28:24 2928

原创 MCU 常用的文件系统

MCU 文件系统

2021-12-31 15:45:05 2172 1

原创 cortex M3/M4内核 特权级与用户级详解

一 、程序运行为什么要有用户级与特权级区分用户级和特权级的实现是为了给存储器提供一种保护机制,让用户代码不能访问特定的存储区域。只有特权级级代码才能有权限访问特定的存储区域。防止用户代码或者应用代码意外或恶意访问操作系统的数据存储区域。一般情况下特权级模式会配合MPU一起使用,通过MPU设定只有特权级才能访问的存储空间。二、特权级与用户级作用的范围中断应用程序必须是特权级的,主程序可以是特权级的也可以是用户级的。处理器复位后在特权级模式下运行。在特权级模式下可以通过修改CONTROL 寄存器进入用户

2020-07-28 22:54:25 3088 2

原创 Nordic 官方FIFO代码精髓

Nordic FIFO 官方代码的wr_index rd_index是uint32_t 类型的,在FIFO 中元素的大小FIFO_SIZE的必须是2的倍数。其精髓在于以下三点:1.执行wr_index 与 rd_index 自加操作时,当数值达到 FIFO_SIZE时,无需执行跳转至0。当rd_index == FIFO_SIZE时跳转至0的操作,不是原子操作。一般FIFO 在中断中写入数据,在主函数中读取数据。如果rd_index在等于 FIFO_SIZE时产生中断,在中断中使用rd_index会出现

2020-07-28 21:40:40 574

原创 婚后的日子

像我这种月入15000,就应该被社会达尔文主义给淘汰掉。就别再祸害父母,祸害下一代了。也许有一个女朋友都是奢侈的,为什么我要找个女朋友???

2020-06-25 01:20:23 165

原创 freeRTOS LIST代码解读 (二)

freeRTOS 采用的是双向链表头文件定义内容其他宏定义configLIST_VOLATILE 可以不用定义,因为结构体成员的修改只在临界区内进行修改。所以不需要定义为volatile。/* * The list structure members are modified from within interrupts, and therefore * by rights should be declared volatile. However, they are only modified

2020-06-16 17:36:35 319

原创 freeRTOS 平台差异部分代码定义(一)

以下内容解读protmacro.h与port.c代码

2020-06-16 10:17:49 364

原创 CM3 内核存储器访问属性及DMB DSB ISB隔离操作

存储器访问属性可否缓冲(bufferable)可缓冲属性,一半用于数据写入操作,由于CPU执行速度与外部存储的速度之间存在差距,所以在存储器外部加入了buffer,导致数据写入存储器会延迟。可否缓存 (cacheable)缓存属性,即CPU是否具有cache,cache可以进行高速读写,将存储器中的指令或者数据读取到cache中供cpu使用。关于缓存存在以下三个个属性WT(write-through)、WB(write-back) 、WBWA。以下定义只适合Cortex-M3 and Cortex

2020-06-16 09:24:11 1224

原创 环形FIFO 使用注意事项

环形FIFO使用注意事项FIFO 读取操作与FIFO写入操作代码段 1代码段 2代码段 3环形FIFO多线程操作关于8位机或16位机 32位机以下内容主要说明环形FIFO 的在多线程环境下的使用注意事项。FIFO 读取操作与FIFO写入操作FIFO读取操作或FIFO 写入操作过程中,当达到分配的内存空间尾部时需要进行跳转操作。如果代码段1所示,如果在write_index++ 后 且wri...

2020-04-23 17:27:48 323

原创 NRF518522 DFU升级步骤

1.安装 micro-ecc1.首先下载版本为 4.9-2015-q3-updata 的GCC编译器。2.安装 MinGW ,将MinGW/bin 安装目录加载到 系统环境变量中。 安装MinGW msys组件。3. 将下载好的micro-ecc 文件拷贝到 D:\Nordic\nRF5_SDK_12.2.0_f012efa\external\micro-ecc\micro-e

2017-06-13 09:28:23 3213

空空如也

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

TA关注的人

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