最近遇到一个C++工程内存泄漏的问题,经过排查,发现原来是 map 的使用有问题,本文记录了排查的过程,并给出一个类似的工程代码。起因某日,运维反馈生产环境某台设备出现问题,经组长排查,有两个工程服务占用内存较多,出现 OOM 被 Linux 系统干掉了。其中一个是我接手的工程,竟达到了 6GB,随即安排我排查。排查首先在本地虚拟机用 cppcheck、valgrind 测试,但没有发现容易看得懂
转载
2024-09-25 12:31:04
133阅读
文章目录一、STM32定时器是什么?二、STM32定时器的功能1.计时&&中断2. PWM产生3.输入捕获三、总结 一、STM32定时器是什么?定时器顾名思义就是可以用来定时的,我们可以设置想要的定时时间,然后去做很多事情。STM32的定时器功能很强大,可以用来定时、计数、PWM产生、输入捕获以及定时器中断等。下面就一一介绍一下这些功能。二、STM32定时器的功能1.计时&
转载
2024-03-25 15:35:47
139阅读
arduino一直以来深受广大极客的喜爱,丰富的库以及外围扩展,但是Atmega328已经比较老旧了,STM32相比而言,性能要比arduino强大了太多,因此我们选择用STM32F103C系列来代替arduino开发下面跟随我们一起在arduino IDE中搭建stm32开发环境吧1硬件准备:STM32F103C8T6 蓝色开发板 x 1(如图) 软件准备:Arduino开发环境操作步
转载
2024-03-01 15:58:39
129阅读
What is the state of machine learning at the edge today? What tools can help engineers collect data and run inferences? Where can you find ST MEMS, and how can they make a difference in real-world pro
转载
2023-12-27 10:12:31
70阅读
STM32 | STM32使用固件库点亮LED
原创
精选
2023-03-26 20:34:13
467阅读
写在前面: 本文章旨在总结备份、方便以后查询,由于是个人总结,如有不对,欢迎指正;另外,内容大部分来自网络、书籍、和各类手册,如若侵权请告知,马上删帖致歉。 目录一、程序安装二、CubeMX工程生成三、VSCode环境部署四、工程编译五、编译清除六、其他 一、程序安装1、VSCode:https://code.visualstudio.com/Download好用到爆的文本编辑器,配合强大的插件,
转载
2024-08-20 13:30:04
1055阅读
AMBA AMBA(Advanced Microprocessor Bus Architecture)是ARM公司提出的一种开放性的SoC总线标准,现在已经广泛的应用于RISC的内核上了。 AMBA定义了一种多总线系统(multilevel busing system),包括系统总线和等级稍低的外设总线。 AMBA支持32位、64位、128位的数据总线,和32位的地址总线,同时
转载
2024-05-20 07:43:56
181阅读
一、DMA相关知识介绍1、什么是DMA?DMA 全称Direct Memory Access,即直接存储器访问,作用是将数据从一个地址空间复制到另一个地址空间。但是这个传输的动作不需要CPU参与,而是通过DMA控制器进行控制(硬件控制,通过硬件为RAM和IO设备开辟一条直接传输数据的通道)。在CPU初始化完成这个动作以后,在数据需要进行传输时会直接进行这个动作,使得CPU的效率大大提高。除此之外,
STM32低功耗+lora调试1. 使用符合《输变电设备物联网传感器数据规范》的lora协议规定汇聚节点有两个信道(控制信道+业务信道)控制信道默认为1,业务信道根据自己的实际情况可以进行设置,汇聚节点上电后首先将izji的业务信道进行设置,设置相关参数后需要使用命令进行lora的重启。当GD20(传感器节点)申请组网时候汇聚会收到相关的通知命令。2. 使用stm32单片机作为主控使用stm32单
过程还是很简单的,重要参考
http://blog.chinaunix.net/u1/50394/showart_411514.html
只是遇到的问题有所不同,可能由于我使用的版本不同 首先是Openssl 1、到
http://www.openssl.org/source/
下载openssl-1.0.0a.tar.gz,并解压 2、到
http://www.active
启动方式常用的为第一种启动方式除内核之外的部件被称为核外外设或片上外设,如:GPIO、USART(串口)、I2C、SPI等都叫片上外设1. ICode 总线 ICode 中的 I 表示 Instruction,即指令。我们写好的程序编译之后都是一条条指令,存 放在 FLASH 中,内核要读取这些指令来执行程序就必须通过 ICode 总线,它几乎每时每刻 都需要被使用,它是专门用来取指的。2、DCo
前言在中国,熟悉单片机的人士大多会听说过STM32。这是意法半导体(STMicroelectronics, 简称ST)的32位微控制器(MCU)家族,基于ARMCortex-M内核。2007年,STM32F1诞生。这是业界首款搭载ARM Cortex-M3内核的32位MCU,采用180nm闪存工艺,配有128KB闪存和20KB RAM,运行主频为72MHz,在当时属于相当高的配置。随后的10年内,
STM32的ADC模块采用了逐次逼近型,速度快,最高可达几十MHz工作频率。一般,为了获得较为准确的采样结果,ADC采样速率建议6分频,不要超过14MHz。通常情况下,芯片包括3个12bit的ADC模块,每个模块具有1个ADC控制器,ADC1和ADC2均有16个外部采样通道和2个内部采样通道,ADC3有8个外部通道和5个内部采样通道。3个模块复用16个外部采样输入引脚,也就是说同时最多支持16路外
转载
2024-09-02 09:30:42
322阅读
GPIOx_CRL(x=A~E) 地址偏移:端口配置的初始地址加上偏移地址就是该特殊寄存器的地址 GPIO通用输入输出8种工作模式 1.浮空输入模式: (1)当GPIOx_CRL或GPIOx_CRH寄存器的CNF[1:0]位设置为01,并且MODE[1:0]位设置为00时 (2)STM32复位之后默 ...
转载
2021-04-08 13:51:00
891阅读
2评论
总线矩阵 上图为stm32f4的总线矩阵,其中主控总线有8条,被控总线有7条,主设备和从设备通过各自的总线两两相交连接,图中两条总线相交且为圆圈的地方,表示这两条总线对应的主设备可以访问从设备,如I总线(指令总线),只有跟 M0、M2和M6这三根被控总线交叉的时候才有圆圈,就表示I总线只能跟这三根被控总线通信,这样就可以知道stm32f4的启动有三种分别是FLASH、内部SRAM、外部存储FSM
转载
2023-07-12 23:35:55
475阅读
本文讲述的是如何从零开始,使用keil建立一个简单的STM32的工程,并闪烁LED灯,给小白看。第零步,当然首先你得有一个STM32的板子,其IO口上接了一个LED。。。第一步,建立一个文件夹0.0第二步,打开keil,建立工程在弹出来的对话框中选择你所用的STM32的芯片。在接下来弹出来的对话框中选择是,这样keil就帮我们建立好了启动文件。 第三步,新建一个main.c文件,并添加到
转载
2023-06-19 15:27:24
969阅读
stm32在freertos系统下使用串口DMA接收方式对接freemodbus-rtu协议栈 文章目录stm32在freertos系统下使用串口DMA接收方式对接freemodbus-rtu协议栈前言码农工程师,人狠话不多,大家多看图和代码!!!一、准备工作cubemx配置dma初始化的一个注意点二、拆解freemodbus1.porttimer.c文件不再使用(不使用定时器判断接收完成),接口
转载
2024-03-17 00:43:12
1171阅读
点赞
1评论
一、SysTick基础简介:SysTick系统定时器是 CM3 内核中的一个外设,内嵌在 NVIC 中。系统定时器是一个 24bit 的向下递减的计数器,计数器每计数一次的时间为 1/SYSCLK,一般我们设置系统时钟 SYSCLK等于 72M。当重装载数值寄存器的值递减到 0 的时候,系统定时器就产生一次中断,以此循环往复。因为 SysTick 是属于 CM3 内核的外设,所以所有基于 CM3
转载
2024-05-16 14:20:13
528阅读
STM32:嵌入式开发的强大选择在嵌入式系统开发领域,STMicroelectronics推出的STM32系列微控制器凭借其出色的性能和丰富的功能,已成为工程师们的首选之一。作为基于ARM Cortex-M内核的32位微控制器,STM32系列提供了从入门级到高性能的完整产品线,满足各种应用场景的需求。强大的硬件特性STM32系列最显著的特点是它的多样性。从低功耗的STM32L系列到高性能的STM3
背景在使用PyTorch深度学习框架的时候,不管是训练还是测试,代码中引入PyTorch的第一句总是: import torch 在Gemfield前述专栏文章里,我们已经得知,torch/csrc/stub.cpp链接libshm.so、libtorch_python.so、libcaffe2_gpu.so生成了_C.cpython-37m-x86_64-linux-gnu.s
转载
2024-06-22 15:38:58
248阅读