- 博客(59)
- 资源 (4)
- 收藏
- 关注
原创 I.MX6ULL裸机开发之时钟篇
在嵌入式开发中,时钟配置是至关重要的一部分。它影响整个系统的运行速度、定时和能耗等多个方面。作为一位合格的嵌入式开发工程师,总不能连内核、外设、总线各自的频率都不清晰吧?
2024-08-01 09:29:01 764
原创 哈希表简介
哈希表(Hash Table)是一种非常高效的数据结构,广泛应用于需要快速插入、删除和查找操作的场景中。哈希表是一种将键(Key)映射到值(Value)的数据结构。其核心思想是通过一个哈希函数将键转化为哈希值,然后将该哈希值映射到表中的索引位置。
2024-07-17 11:11:30 371
原创 内联汇编简介
在C语言中嵌入汇编(Assembly)代码,可以使用内联汇编(Inline Assembly),这在一些需要精确控制硬件或者优化性能的场合非常有用以下是关于ASM语法的介绍,主要基于GCC(GNU Compiler Collection)提供的内联汇编特性。
2024-06-03 10:30:12 184
原创 Makefile+OpenOCD开发STM32
下可找到,第一个是调试器的配置文件,第二个是芯片的配置文件,可以合二为一。平台:Windows11(Linux,MAC同理)下载对应平台工具链并添加到环境变量,使用。打印空间信息即编译成功,否则日志中会报错。第三个是上一节编译出的hex文件。是执行完成后退出OpenOCD。是下载成功后复位芯片。
2024-03-15 09:45:16 823
原创 STM32移植SFUD
SFUD是一款开源的串行 SPI Flash 通用驱动库。由于现有市面的串行 Flash 种类居多,各个 Flash 的规格及命令存在差异, SFUD 就是为了解决这些 Flash 的差异现状而设计,让我们的产品能够支持不同品牌及规格的 Flash,提高了涉及到 Flash 功能的软件的可重用性及可扩展性,同时也可以规避 Flash 缺货或停产给产品所带来的风险。
2024-03-15 09:44:20 993
原创 GCC中常用的内建函数
GCC(GNU Compiler Collection)是一个包含多个编程语言的编译器集合,而内建函数通常是为了提高代码性能或者实现一些特定功能而在编译器层面提供的函数。
2024-01-08 16:15:19 651
原创 MobaXterm自定义关键字高亮(解决绿色不亮问题)
终端中的一些关键字高亮可以提高我们的效率,本文是解决在部分关键字没有高亮的情况下,添加自定义关键字使其高亮
2023-12-28 16:38:30 2885
原创 Cortex-M与RISC-V区别
Cortex-M以STM32H750为代表,RISC-V以芯来N305为代表RTOS版本为RT-Thread 4.1.1
2023-11-24 16:34:18 1841 2
原创 STM32驱动QSPI Flash
W25Q64存储容量共64M-bit/ 8M-byte,32768页(pages)、每页256-bytes,最大一次可编程256-bytes一次擦除大小可以为16页(4KB)、128页(32KB)、256页(64KB)或者全擦除W25Q64JV有2048个可擦除扇区(sectors),或者可以说有128个可擦除块(blocks关系 1 Block = 16 sectors;1 sector = 4KB,所以算起来能达到8M-byte编程即写数据,由于Flash的特性,只能从1编程0。
2023-11-24 16:22:25 1663 1
原创 栈回溯之CmBacktrace
(Cortex Microcontroller Backtrace)是一款针对 ARM Cortex-M 系列 MCU 的错误代码自动追踪、定位,错误原因自动分析的开源库。支持的错误包括:断言(assert)故障(Hard Fault, Memory Management Fault, Bus Fault, Usage Fault, Debug Fault)故障原因自动诊断:可在故障发生时,自动分析出故障的原因,定位发生故障的代码位置,而无需再手动分析繁杂的故障寄存器;输出错误现场的。
2023-11-08 13:27:41 917
原创 STM32+FreeRTOS 使用SystemView监控系统
本文以STM32F407ZET6 + FreeRTOS V9.0作为演示,其它的Cortex M芯片同样可以参考此文,其他内核和RTOS理论上也支持,本文暂时不做研究。所以开始阅读本文前,需要一块能运行FreeRTOS的Cortex M芯片,如果没有移植好操作系统,可以参考我的另一篇文章《STM32F103移植FreeRTOS完整过程》本文打包提供FreeRTOS V9.0源码SystemView安装包STM32F407ZET6示例工程
2023-07-11 17:30:47 2284 1
原创 通过DAPLink和STLink使用RTT输出日志
由于`SEGGER RTT` 自带的 `JLinkRTTViewer.exe` 只支持自家的`J-Link`,所以使用`DAPLink`和`STLink`我们得另辟蹊径,这里我们选择得是PyOCD
2023-07-06 09:14:00 4442 4
原创 基于J-Link RTT Viewer输出日志(适用于JLink DAPLink STLink)
通过RTT输出日志,可以不占额外的引脚和外设,速度非常快,几乎不影响程序的实时性
2023-07-04 19:39:51 2537
原创 STM32F103移植RT-Thread完整过程
RT-Thread官网有很多通过IDE一键移植的方法,本文选择的是手动移植,文末提供移植好的完整工程。
2023-06-28 13:55:32 3197 1
原创 在MDK(ARMCC)中使用 $Sub$$ 和 $Super$$
如果一个函数位于一个外部库或ROM中,但是你又想替换它时怎么办呢?答案是可以使用$Sub$$ 和 $Super$$
2023-06-28 13:44:15 453
原创 SPI简介与实例分析
SPI 协议是由Motorola提出的通讯协议 (Serial Peripheral Interface) ,是一种高速全双工的串行通信总线。
2023-02-17 18:00:40 1351
原创 基于mbedtls的AES加密(C/C++)
高级加密标准(Advanced Encryption Standard,AES),是一种对称加密方式。AES支持三种加密方式:AES128,AES192,AES256,AES128标识密钥长度为128bit,AES128运算速度最快,AES256安全性最佳,三种方式的本质区别是加密轮数不同。
2022-12-06 15:23:09 2223 2
原创 基于OpenSSL的AES加密(C/C++)
高级加密标准(Advanced Encryption Standard,AES),是一种对称加密方式。AES支持三种加密方式:AES128,AES192,AES256,AES128标识密钥长度为128bit,AES128运算速度最快,AES256安全性最佳,三种方式的本质区别是加密轮数不同。
2022-11-14 11:18:19 6078 10
原创 POSIX消息队列详解与示例
详解mq_open()#include<fcntl.h>#include<sys/stat.h>#include<mqueue.h>mqd_t mq_open(const char *name, int oflag, mode_t mode, struct mq_attr *attr);// 返回消息队列描述符,失败返回-1在fork()中子进程会接收其父进程的消息队列描述符的副本,并且这些描述符会引用同样 的打开着的消息队列描述符。子进程不会继承其父
2022-05-16 20:57:25 2485
原创 计算机网络之TCP数据格式(二)
数据格式序列号确认应答号数据偏移即TCP首部的长度。如果该字段的值为5,那说明从TCP包的最一开始到20字节为止都是TCP首部 ,余下的部分为TCP数据。保留一般为0,不为0也不丢弃数据。控制位窗口大小校验和见文末的Wireshark实例分析。紧急指针选项类型2——MSS表示最大段长度类型3——WS表示窗口比例,窗口大小只有2字节,最大只有64KB,对于现在的技术来说太小了。所以实际窗口大小= 窗口大小 * 2^WS例如窗口大小为8212 WS
2022-01-19 17:01:23 3656 4
IIC学习之SHT30温湿度传感器(基于STM32)配套资料
2024-01-12
STM32+FreeRTOS 使用SystemView监控系统
2023-07-11
STM32F103-FreeRTOS基础工程,0错误0警告 FreeRTOS V9.0源码
2023-07-11
J-Link驱动V7.60 64位版本
2023-07-04
mqttfx-1.7.1-windows-x64.rar
2020-07-05
求解STM32H750 SPI1作为从机回复错误的问题
2024-08-16
请教OpenSSL中AES_cbc加密的问题
2022-11-11
TA创建的收藏夹 TA关注的收藏夹
TA关注的人