- 博客(119)
- 资源 (26)
- 收藏
- 关注
原创 GitHub中已开源项目汇总
GitHub中已开源项目汇总QT 端软件输入法串口工具AIIOT网络协议安卓音频工具嵌入式端软件协议类引导升级类音频类QT 端软件输入法基于谷歌拼音输入法库串口工具串口助手AI百度AI,语音识别,图片识别OpenCV人脸检测demoIOT基于QMQTT的MQTT界面库网络协议TCP UDP传输demo安卓安卓BLE调试工具 待完善中…音频工具多通道音频文件生成工具 - 算法调试嵌入式端软件协议类软件I2C实现引导升级类STM32F103ZET6_Bootloader
2022-02-13 14:41:51 3577 1
原创 MDK 代码烧录到RAM区运行
有一个需求,除了IAR以及GCC的版本工程还需要MDK版本,为了实现最小的工程环境,flash烧录算法也没有,这时需要直接跑在RAM中这里以一个最小的平台为例(不含外设驱动)
2024-06-17 16:54:42 392
原创 QT析构崩溃问题
析构函数崩溃的原因可能有很多,但通常是由于在析构函数中访问了已经被删除或释放的对象指针或内存区域引起的。可能是由于以下原因导致析构函数崩溃:对象被重复删除:如果您在程序中多次删除同一个对象,可能会导致析构函数崩溃。确保您只在需要时删除对象,并且只删除一次。对象指针为空:如果您在析构函数中访问一个空指针,程序就会崩溃。确保在访问对象指针之前,该指针已经被正确初始化。内存泄漏:如果您的程序中存在内存泄漏,可能会导致析构函数崩溃。确保您在程序中正确管理内存,并在不需要时释放对象。
2023-06-05 15:07:19 1707
转载 bss段,data段、text段、堆heap和栈stack
bss段,data段、text段、堆heap和栈stackbss段data段text段堆(heap)栈(stack)bss段bss段(bss segment)通常是指用来存放程序中未初始化的全局变量的一块内存区域。bss是英文Block Started by Symbol的简称。bss段属于静态内存分配。data段数据段(data segment)通常是指用来存放程序中已初始化的全局变量的一块内存区域。数据段属于静态内存分配。text段代码段(code segment/text segme
2022-10-31 16:56:26 3067 2
原创 RISC-V内核中科蓝讯BT8922开发
RISC-V内核中科蓝讯BT8922B开发开发工具准备IDE安装SDK下载编译工具链安装工具使用源码阅读SDK源码文件说明时钟配置GPIO配置蓝牙配置开发工具准备IDE安装SDK下载编译工具链安装工具使用源码阅读SDK源码文件说明时钟配置GPIO配置蓝牙配置.........
2022-08-30 11:05:16 6262 3
原创 一级指针、二级指针,或是多级指针访问
简述代码测试地址:https://www.nhooo.com/tool/c/https://rextester.com/https://www.tutorialspoint.com/codingground.htmhttps://www.codechef.com/ide#include <stdio.h>#include <stdint.h>#include <string.h>/* 5行8列 */static int xx[5][8] = {0
2022-03-11 11:07:33 521 1
原创 DSP Math加速优化整理
平方根魔数优化float MagicSqrt(float x){ if (x < 0) { return -1; } else { float xhalf = 0.5f * x; int i = *(int*)&x; i = 0x1fbd1df5 + (i >> 1); x = *(float*)&i; x = 0.5f * x + x
2021-10-19 09:01:05 1083
原创 Visual Studio编译问题
最近在用vs 跑下精简后的数学库,验证输出结果的,结果在其他ide上编译通过,在vs上不行,出现了一堆莫名其妙的错误。问题现象#if /endif 不匹配 实际是匹配的xxx变量未声明 实际是声明并定义的等等诸如此类问题…解决处理参考这里文章所说总结下,文件编码的原因,中文注释出现的异常,导致编译异常。注释写法:/* 使用此中文注释头尾各有一个空格 *//*不使用这样的注释形式*/...
2021-10-15 22:32:41 1799
原创 安森美RSL10开发-DSP
安森美RSL10开发-DSP资料下载最近开发RSL10的芯片,目前测试下,该平台在低功耗表现出色,双核ARM+DSP,在测试主频6MHz下功耗仅为3mA资料下载安森美官网
2021-09-23 09:58:50 2131
原创 IAR代码溢出问题处理section placement failed
问题现象unable to allocate space for sections/blocks with a total estimated minimum size of 0x45af bytes (max align 0x8) in <[0x2000'0000-0x2000'5fff]> (total uncommitted space 0x3ffc). 处理方法找到生成的.map文件打开IAR的链接脚本文件(建议使用code 打开,在商店中搜索:ext:icf安装即可,此时
2021-08-25 17:21:15 6140 2
原创 蓝牙通用外观设置
蓝牙通用外观设置961//设置外观为键盘<Format>16bit</Format><Enumerations><Enumeration key="0" value="Unknown" description="None"/><Enumeration key="64" value="Generic Phone" description="Generic category"/><Enumeration key="128" valu
2021-08-24 14:48:49 1762
翻译 KEIL的分散加载文件
KEIL的分散加载文件使用分散文件指定堆栈和堆创建root执行区使用 FIXED 属性创建根区域在特定地址放置函数和数据使用分散加载显式放置命名部分使用.ANY模块选择器放置未分配的段使用 __at 在外设寄存器上放置预留一个空区域在分散文件中使用预处理命令在分散文件中使用表达式求值以避免填充使用分散文件指定堆栈和堆ARM C 库提供了该函数的多种实现__user_setup_stackheap(),并且可以从分散文件中提供的信息中自动为您选择正确的一种。要选择两个区域内存模型,请在名为ARM_LIB
2021-08-22 23:27:02 2946 2
原创 安森美RSL10开发-ARM-M3
安森美RSL10开发资料下载开发环境配置代码时钟配置关于Systick串口操作I2C操作PDM操作OD操作Flash操作BLE配置基于RSL10的Bootloader资料下载安森美官网开发环境配置以IAR8.32为例代码时钟配置使用内部RF48Mhz晶振,分频系数为1关于Systick附图地址:硬件参考手册Page73Systick时钟源,由寄存器CLCSOURCE确定以下代码,初始化时钟到48MHz,也可以初始化到8MHz的主频,使用DIO5作为恢复按键,当程序异常跑飞,无
2021-08-22 14:42:10 2258
原创 函数指针与指针函数区别
简述最近看到安森美芯片的boot的部分代码,如下,写的不易观看,可能C萌新,不易理解,这涉及到指针函数,函数指针的相关概念。typedef enum{ BOOTROM_ERR_NONE = 0x0, BOOTROM_ERR_BAD_ALIGN = 0x1, BOOTROM_ERR_BAD_SP = 0x2, BOOTROM_ERR_BAD_RESET_VECT = 0x3, BOOTROM_ERR_FAILED_START_APP = 0x6, BOOT
2021-07-30 13:13:46 168
原创 SystemviewV3.3工具使用
SystemviewV3.3工具使用工具下载移植使用方法工具下载Systemview下载地址移植以不带操作系统的移植方式为例移植源码位于:工程加入以下文件:使用方法int main(void){ /*硬件的初始化*/ /*工具初始化并启动*/ SEGGER_SYSVIEW_Conf(); SEGGER_SYSVIEW_Start(); while (1) { SEGGER_SYSVIEW_RecordEnterISR(); HAL_Dela
2021-07-06 21:19:29 848
原创 STM32 USB DFU功能
STM32 USB DFU功能CubeMX上配置DFU的全称为:DownLoad Firmware Update即固件升级以下配置以STM32F103ZET6为例。CubeMX上配置开启USB外设配置中间件,USB协议栈这里配置使用默认即可,暂时先不改,原始配置烧录进设备后,USB应枚举成功,请求描述符失败情况应注意堆栈调整堆栈设置,因为DFU默认使用了1K的缓冲区(USBD_static_malloc),所以栈区的大小一定大于2K才能不会出现问题,这里大小设置可以编译后查看map文件,查
2021-06-11 10:46:33 5209
原创 BLE蓝牙模块HC-08和BLE-103驱动
BLE蓝牙模块HC-08和BLE-103驱动驱动代码使用方法需要注意的是,两款蓝牙芯片都不是默认波特率为115200,都是以AT指令进行配置修改,所以驱动做了修改,自动切换自身波特率进行通讯,修改波特率参数后,调回115200。驱动主要做了以下工作:1、修改蓝牙名称2、修改波特率到1152003、配置打包机制4、设置从站模式驱动代码/** * @file Bluetooth_Port.c * * @date 2021-02-26 * * @author aron566 *
2021-04-21 23:21:55 1701
原创 QT绘制时间轴图表不显示问题处理
问题的现象建立并初始化时间轴图表后,设置几个点但是未能在表中绘制出来。代码 splineSeries = new QSplineSeries(this); splineSeries->setName("spline"); QPen red(Qt::red); red.setWidth(3); splineSeries->setPen(red); chart = new QChart(); chart->legend()->hid
2021-04-16 21:40:53 1519 1
原创 单片机MPU9250/6050陀螺仪芯片驱动
单片机MPU9250/6050陀螺仪芯片驱动CubeMX配置驱动代码项目需要陀螺仪检测设备位置角度信息,所以就有了本文章,代码借鉴了github上大佬写的应用了卡尔曼滤波。CubeMX配置配置好I2C即可。驱动代码/** * @file MPU6050_Driver.c * * @date 2021-03-14 * * @author aron566 * * @copyright Copyright (c) 2021 aron566 <aron566@163.com
2021-04-07 17:55:02 905
原创 CS43L21 DAC芯片驱动
CS43L12 DAC芯片驱动CubeMX配置如下驱动代码音频数据通过MIC采集上来后有的的PDM数据有的直接是PCM数据,CS43L12做的就是将PCM数据播放出来。CubeMX配置如下音频数据传输I2S接口开DMA双缓冲芯片配置I2C通讯驱动代码/** * @file CS43L12_Driver.c * * @date 2021-03-10 * * @author aron566 * * @copyright Copyright (c) 2021 aron56
2021-04-07 17:47:47 503
原创 制作录音文件转PCM格式单片机播放
制作录音文件到单片机播放准备相关工具软件制作录音文件将WAV文件转换为PCM数据用ffmpeg播放pcm文件:制作录音数据播放准备相关工具软件录音工具:Audacity格式转换工具:ffmpeg工具下载地址制作录音文件将WAV文件转换为PCM数据ffmpeg -i xxx.wav -f s16le -ar 16000 -ac 1 -acodec pcm_s16le pcm16k.pcm其中:-f为存储类型s16le指的是16位整形数据le代表的是小端序,对应的是be大端序,一般默认
2021-03-25 11:45:11 1278
原创 嵌入式部分名词缩写含义
嵌入式部分名词缩写含义AcronymDescriptionADCAnalog-to-Digital ConverterBLEBluetooth Low EnergyBOMBill of MaterialsCMODModulator CapacitorCMPComparatorCTANKShield tank capacitorDACDigital to Analog ConvertorDPDTDouble-Pole, Doubl
2021-03-15 10:32:19 568
原创 电源管理芯片MAX17048驱动
电源管理芯片MAX17048驱动芯片功能电路配置代码最近调试MAX17048,做个简单的记录。基于STM32H743芯片功能MAX17048为小尺寸、微功耗电池电量计,用于手持及便携产品的锂离子(Li+)电池。MAX17048配置工作在单节锂电池,MAX17049配置工作在2节串联锂电池,两者都是标准I2C接口通讯。电路配置打开图形化配置工具Cubemax,选择快速模式以支持400Khz,7Bit地址,开启中断,GPIO上拉代码/** * @file Voltameter_P
2021-03-09 17:36:28 5184 33
原创 单片机通用Bootloader框架
通用Bootloader框架终端控制台预览flash分区APP分区固件制作设置中断向量表设置flash起始地址加入升级成功标识写入生成可烧写bin文件固件升级与上载更新固件上载固件升级方式最近搞了Bootloader,春节没回家一直在完善,目前测试在STMH743和STM32F407上测试完毕,具有较高的移植性。整个Bootloader依赖开源FAL和LetterShell无其他依赖,移植方法参考之前的博文,对片内Flash使用FAL分区管理,形成统一接口。目前已实现Ymodem协议的文件传输,并留有自
2021-02-21 21:26:33 3502 2
原创 单片机上使用shell控制台
单片机上使用shell控制台效果移植方法IAR代码定位到指定段的设置,修改icf文件加入文件到工程完善接口测试代码单片机控制台第一次使用是在RTthread上的Finsh组件,当时感觉挺好,但也一直没移植到其他单片机芯片平台,主要是一直搞Linux的开发,最近看了下刚准备搞,发现有个开源的做的不赖。LetterShell开源项目地址效果移植方法目前3.06版本的IAR测试存在问题,定位到指定段(shellCommand),需要增加编译器关键字__rootIAR代码定位到指定段的设置,修改icf文
2021-02-03 02:34:55 1281 3
COV_TOOL.7z
2021-03-25
STM32H743VIT6_Bootloader.7z
2021-02-21
FFMPEG4.2.3库文件和Nginx1.19.6源码及编译文件.7z
2020-12-25
F103ZET6_PRJ_Freemodbus_TEST.7z
2020-10-21
MyVirtualKeyboard.7z
2020-08-17
ucGUI3_9.7z
2020-05-10
QT串口工具First_pro.7z
2019-12-18
LoRa_Gateway——MT7628AN开发笔记.docx
2019-09-25
利用AUTOIT制作的自动Jlink循环下载脚本2增加标题匹配选项和时间统计
2019-03-12
RC滤波电路计算工具
2019-03-12
常规小工具_去除文本空格脚本文件_未按要求关闭_会不死哈哈
2019-03-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人