- 博客(14)
- 资源 (4)
- 收藏
- 关注
原创 SEGGER IDE生成.a库文件
博主使用的是riscv架构的芯片,使用工具riscv-nuclei-elf-gcc-ar.exe生成,具体命令如下,这样就可以生成.a文件。3.添加要生成库的文件,然后编译,编译通过后会有.o文件,找到对应文件名字的.o文件。2.右键工程,选择options弹出如下截图,配置工程类型为library。4.使用芯片对应架构的gcc工具链,将.o文件编译为.a文件,通用命令如下.1.根据实际使用芯片的型号创建一个segger IDE的工程。
2024-03-14 08:57:19 441
原创 解决nRF52840虚拟串口不能正常使用的bug
nRF52840虚拟出来的串口,用sscom软件打开后,在52840端却检测不到串口已经被打开,原因是因为在打开串口后需要勾选sscom的DTR选项,如下图所示。
2023-08-14 13:25:05 420
原创 解决nRF52840调试代码自动擦除协议栈的问题
每次断电后再次调试nRF52840,jlink就会自动将蓝牙协议栈擦除,导致程序不能正常运行,需要再次下载蓝牙协议栈才能正常调试。
2023-05-12 16:24:36 682
原创 SPI读取时间过长的原因
最近在调试SPI驱动,对速率又较高的要求,调试中发现SPI读取很耗费时间,与SPI的32M理论速率相差较远,最后发现是因为在spi读写函数中申请的临时变量太大导致的,函数里申请的临时变量有4000多个字节,所以导致程序在跳转到读写函数中时,出现了较大的延迟(大概有200us),当减小申请的临时变量后,这个SPI读取速率就会提上来。
2023-05-06 16:35:57 1022
原创 WireShark ble sniffer -- packet creation error
一、环境系统:win11(win7可能会识别不了dongle的串口)WireShark:Version 3.6.3nRF Sniffer for Bluetooth LE:刚开始为3.1.0_7cc811f 后来升级为4.1.0二、问题现象使用蓝牙dongle和wireshark软件进行蓝牙数据抓包,按照网上的教程一步步进行安装和更新,一切都很顺利,结果到最后一步抓包,wireshark工具就是抓不出来数据,用串口工具打开串口确实是有数据,现象如图1所示,点击图1右上角的...
2022-04-11 11:53:47 560
原创 CC1312开发板OAD外部FLASH升级笔记
开发环境:Windows 7硬件工具:LAUCHXL-CC1312R1开发板 两个软件工具:Python version 2.7.15(尽量装这个版本,高版本可能会不兼容低版本的语法);Code Composer Studio 7.4.0.00015; SDK:simplelink_cc13x2_sdk_2_20_00_71;UniFlashPython组件的安装:一般先给Pytho......
2022-03-20 08:34:11 410
原创 解决蓝牙耳机自动暂停播放音乐的问题
有时候蓝牙耳机会莫名的暂停和播放音乐,这是因为这个耳机有红外感应功能,当蓝牙耳机检测到你摘下耳机时就暂停音乐,但是如果这个功能做的不好,就会自动暂定和播报放音乐,解决办法:打开音乐播放器或者手机声音设置 找到设置里的“耳机线控切歌”,将这一项功能关闭即可。...
2021-05-06 09:32:48 79860
原创 C语言慎用#pragma pack(1)命令
在我们在按字节传输一些数据的时候,肯定会定义一些结构体,但是结构体的字节对齐方式可能在不同的编译器中不一样,这样会在数据传输过程中增加冗余的数据。 为了方便数据传输,我们可以用#pragma pack(1)命令,将结构体里的变量强制进行1字节对齐,但是我们在用完这个命令后,一定要在定义的数个结构体后加一个取消自定义字节对齐的命令:#pragma pack(),如果不取消就可能导致整个程序都会有问题,因为这个命令会影响到其它的结构体的字节对齐方式,但并不会全部全部影响(推测)。正确用法是:#pr...
2021-03-25 09:31:45 4479
原创 读取nRF52xx芯片定时器值的方法
52832的定时器的值保存在counter中,在instance里没有这个寄存器,无法读取。可以使用函数 nrfx_timer_capture(nrfx_timer_t const * const p_instance, nrf_timer_cc_channel_t cc_channel);其中第一个参数是要读取的timer实例,第二个是要把这个值复制到哪一个cc_channel里(CC[cc_channel]),然后再从这个寄存器里读...
2021-03-04 10:27:04 984 3
原创 Invalid ROM Table解决办法
出现这种问题的原因一般是在对STM32时钟初始化的过程中,配置的时钟频率不对导致的,所以需要再重新确定下给STM32配置的频率是否正确。但一般出现了这种错误,就不能通过正常的手段给芯片更新程序了,可以使用ST-Link Utility工具来擦除芯片内的程序,步骤如下:1. 打开ST-link软件后点击Taget->setting进入到下图所示的界面,将Mode改为Connect Under Reset模式,设置完成后点击OK,如果芯片正常供电而且与调试器连接正常就能够读取到芯片内的数据。
2020-06-09 15:34:56 6041 1
NordicSemiconductor.nRF-DeviceFamilyPack.8.45.0.pack
2023-05-12
ARM.CMSIS.5.6.0+NordicSemiconductor.8.35.0.rar
2021-10-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人