- 博客(60)
- 收藏
- 关注
原创 解决STM32使用J-Link可以擦除和读取但是无法烧录问题
使用J-Link烧录模组固件,出现可以读取和擦除,但是无法烧录的问题,使用STM32CubeProgrammer更改选项字节中的Read Out Protection解决。
2024-08-22 18:02:24 602
原创 Ubuntu网络服务无法启动问题
解决Ubuntu20.04卡死重启后网络服务打不开,没有网络图标,无法通过sudo service network-manager restart命令重启网络服务问题。
2024-08-20 10:06:31 475
原创 STM32裸机和RTOS中的线程安全问题及STM32cubeMX中的线程安全策略
线程安全问题并不只存在于基于RTOS的应用程序中;裸机应用程序中也存在这个问题。C库函数可以进行不那么明显的调用(隐式调用)导致类似的问题。例如,printf()可以调用malloc()。使用STM32cubeMX生成工程时,可选的线程安全策略有五种,如果选择Default,不直接制定,那么裸机应用会自动选择策略2,RTOS应用会自动选择策略4。
2024-08-15 22:53:18 803
原创 Lwip使用RAW API进行TCP连接的tcp_err问题
在连接上发生致命错误时会调用tcp_err_fn定义的回调函数。调用的目的是通知应用程序当前连接发生了致命错误,之后tcp的pcb会被自动释放。
2024-08-05 15:19:00 314
原创 Ubuntu能联网,只有IPV6地址,没有IPV4地址
Ubuntu突然只显示IPV6地址,没有IPV4地址,可以正常上网。Windows下FTP 客户端使用 FileZilla,主机的地址好像只能填IPV4地址。将IPV4地址由自动改为手动,使用静态IP,同时禁用IPV6。
2024-05-16 21:32:31 963
原创 Qt6.6添加多媒体模块Multimedia报错问题
解决Qt6.6添加多媒体模块Multimedia报Unknown module(s) in QT: multimedia错误问题,添加其他模块同理。
2024-04-01 22:52:07 1378 1
原创 泰凌微(Telink)8258配置串口收发自定义数据
泰凌微(Telink)8258配置串口收发自定义数据,通过缓冲队列进行收发数据,包含全部实现过程。
2023-12-07 18:27:31 1114
原创 Eclipse切换中文环境
Eclipse切换中文环境,下载时要选择跟自己Eclipse版本一致的包,比如我的Eclipse启动界面如下,我就要找Helios的包。
2023-11-17 16:45:15 1449
原创 蓝牙Mesh专有DFU
专有的mesh DFU协议优化为尽可能有效地更新网络中的所有设备。尽管它与nRF5 SDK Bootloader和DFU模块共享一些工具和代码模块,但在协议和操作方面存在一些差异,以便尽可能轻松地更新大量设备。
2023-09-11 16:09:14 640
原创 基于nRF52840 Dongle配合Wireshark对Mesh网络抓包并解析(Nordic)
基于nRF52840 Dongle配合Wireshark对Mesh网络抓包,以通用开关模型为例,通过添加AppKey和NetKey对Mesh消息解析。
2023-09-01 15:51:44 1730 2
原创 蓝牙Mesh设备配网过程及抓包分析
蓝牙Mesh设备配网过程主要分为五个阶段:①信标阶段;②邀请阶段;③交换公钥阶段;④身份认证阶段;⑤分发配网数据阶段。
2023-08-21 15:09:10 2502 18
原创 解决SEGGER Embedded Studio无法显示Nordic MCU外设寄存器问题
解决SEGGER Embedded Studio无法显示Nordic MCU外设寄存器问题。
2023-08-20 18:12:14 591
原创 STM32使用QUADSPI读写外部Nor Flash(以W25Q64为例)
STM32使用QUADSPI读写外部Nor Flash(以W25Q64为例),通过QUADSPI三种模式(间接模式,轮询模式和内存映射模式)的使用来操作W25Q64。
2023-06-13 18:35:35 3162
原创 基于Keil生成外部Nor Flash下载算法,并使用J-Flash直接烧录(以W25Q64为例)
基于Keil生成外部Nor Flash下载算法,并使用J-Flash直接烧录(以W25Q64为例),包括参考文档介绍,下载算法实现过程,避免踩坑。
2023-05-10 23:55:39 5963 2
原创 分别使用软件和硬件SPI驱动1.28寸LCD屏幕刷新时间对比(驱动IC为GC9A01)
分别使用软件和硬件SPI驱动1.28寸LCD屏幕刷新时间对比(驱动IC为GC9A01)
2023-04-24 18:40:59 2723 2
原创 CmBacktrace库在工程中的添加和应用
CmBacktrace库在工程中的添加和应用,包括断言和故障的使用,全局变量的打印,故障函数的修改,串口和软件看门狗的处理等。
2023-04-19 22:02:26 1223 1
原创 使用RT-Thread Studio搭配STM32CubeMX新建RT-Thread项目
使用RT-Thread Studio搭配STM32CubeMX新建RT-Thread项目避坑。
2023-04-11 11:36:29 2421 2
原创 使用Nordic的nrf52832控制指定从机(一主多从)
1.主机能连接多个从机(主机作为控制器,从机作为节点)。2.主机能使用不同的按键控制不同的节点(按键和节点一一对应,与从机的连接顺序无关)。3.主机扫描过滤器使用设备全称,记录和从机的连接句柄,并进行控制。
2023-01-05 11:01:49 2512 2
原创 使用Nordic的nrf52832进行主从机连接抓包分析
对nrf52832主从机连接过程中产生的数据包进行抓包分析,包括对空中数据包格式分析和主从机交互过程中SN和NESN变化分析。
2022-12-28 16:59:46 1847
原创 使用Nordic的nrf52840实现蓝牙DFU过程
使用Nordic的nrf52840实现蓝牙DFU过程,包括软件的安装、公私密钥的生成、DFU包制作、HEX文件编辑和升级演示等。
2022-12-22 14:10:17 3170 3
原创 使用Nordic的nRF52840 Dongle配合Wireshark对蓝牙设备抓包(BLE)
使用Nordic的nRF52840 Dongle配合Wireshark对蓝牙设备抓包(BLE)。
2022-12-15 14:10:09 7246 1
原创 (二)基于STM32L431的Liteos低功耗Runstop模式的实现优化(退出stop2模式后任务相关Tick补偿优化)
基于STM32L431的Liteos低功耗Runstop模式的实现优化(退出stop2模式后任务相关Tick补偿优化),描述了Liteos的任务延时和调度相关的原理。
2022-10-21 14:50:34 1144
原创 (一)基于STM32L431的Liteos低功耗Runstop模式的实现
使用Liteos的develop版本,基于STM32L431的Liteos低功耗Runstop模式的实现,stop2模式下功耗2.8uA。
2022-10-19 21:58:57 2360 5
原创 基于STM32L431的Liteos低功耗Tickless模式的使用
Liteos的Tickless模式通过在执行空闲任务时改变Systick的Reload值来改变systick的中断时间,以此来拉长MCU进入睡眠模式的时间。文中包括相关部分源码的解析(个人理解)。
2022-10-12 17:11:32 1544
原创 Liteos静态内存管理的使用
Liteos静态内存管理的使用,包括申请、清除和释放内存。可以通过计算来合理分配内存池的大小,写入数据时不能超过内存块的大小。
2022-10-08 17:57:25 819
原创 国民技术N32G45x双ADC规则同步模式配置
双ADC为主从模式,ADC1(主)和 ADC2(从),ADC3(主)和 ADC4(从)可以组成双 ADC 模式,一共有6种模式,还可以组合使用6种模式。
2022-08-17 18:43:15 1939
原创 国民技术N32G45X低功耗问题之更改全局变量和栈在RAM中的地址
最近项目中用的MCU是国民技术的N32G45X,MCU的资源很丰富,RAM也很大,配套的库和例程也比较全,用起来还是不错的,但是在调试低功耗的时候还是费了不少劲。首先由于项目低功耗需要,只能选择停机模式2(STOP2)。根据数据手册的描述,在此模式下外部低速时钟开启, RTC运行, R-SRAM保持,所有I/O状态保持,独立看门狗处于关闭状态,25℃的条件下电流为10个微安。用的这款MCU的RAM是144KB,分为SRAM(128KB)和R-SRAM( Retention SRAM – 16KB),如果
2022-05-30 17:23:22 1527
原创 STM32Nucleo-64-P板子配置使用HSE时钟
最近拿了一个Nucleo-L433RC-P的板子,板子如下:板子使用Micro USB供电,板子上半部分是ST-Link,可以通过CN2两个跳线帽的状态,来选择是给下方的L433烧写程序还是给外部的MCU用烧写程序,移除跳线帽就可以给外部MCU烧写使用。使用前要先安装ST-LINK驱动。驱动下载地址上电后保持板子的初始状态,会发现LD4闪烁,可以下载一下其他官方例程测试一下。此时的板子还不能使用外部时钟,只能使用HSI和MSI。本来以为使用外部时钟需要自己增加晶振,结果从用户手册中发现如果不增加晶振
2021-11-21 21:23:08 1104
原创 STM32用SW下载提示T-bit of XPSR is 0 but should be 1. Changed to 1/Could not start CPU core.(ErrorCode:-1)
最近使用SW模式对STM32L431下载程序时,出现以下三种情况的报错:①:***JLink Error: Could not start CPU core. (ErrorCode: -1)***JLink Error: Can not read register 15 (R15) while CPU is running**JLink Warning: CPU could not be halted***JLink Error: Could not read memory location 0x
2021-11-15 15:05:42 4449 1
原创 解决STM32因字节对齐问题导致读写Flash失败进入HardFault的问题
背景:项目中使用的MCU是STM32L431,在进行升级时需要往Flash中写数据,其他业务代码都是可以正常读写,但是在写升级数据时进入HardFault_Handler,程序跑飞。由于项目需要,获取升级包的文件所有结构体采用一字节对齐,解析升级包采用指针偏移的方式。进入Flash未进行擦除操作前的参数如下:要写入的长度和地址都是没问题的,但是buf指针的在RAM中的地址为0x200053D2,在此状态下擦除和写操作一定会进入HardFault_Handler。计算后发现0x200053D2不是4字
2021-10-22 14:35:50 4548
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人