- 博客(13)
- 收藏
- 关注
原创 wireshark抓包工具详细说明及操作使用
wireshark是非常流行的网络封包分析软件,功能十分强大。可以截取各种网络封包,显示网络封包的详细信息。使用wireshark的人必须了解网络协议,否则就看不懂wireshark了。 为了安全考虑,wireshark只能查看封包,而不能修改封包的内容,或者发送封包。 wireshark能获取HTTP,也能获取HTTPS,但是不能解密HTTPS,所以wireshark看不懂HTTPS中的内容,总结,如果是...
2021-12-09 00:09:06
1314
原创 mqtt协议--理解
MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的“轻量级”通讯协议,该协议构建于TCP/IP协议上,由IBM在1999年发布。1.摘自RT_Thread-组件-网络组件-net组件AT 命令一开始并没有那么丰富,一开始是用作拨号的功能,也就是电话业务方面的内容。后来随着时间发展,AT 命令的范围也一步步进行了扩展,而逐渐支持了网络的一些功能,例如 TCP ,UDP 的功能;而到现在
2021-10-25 23:29:17
147
原创 bin、hex、axf和elf这四种格式的文件
关注+星标公众号,不错过精彩内容 作者 | strongerHuang 微信公众号 | 嵌入式专栏 在嵌入式软件开发中,bin、hex、axf和elf这四种格式的文件很常见。 之前我分享的STVP、ST-LINK Utility、STM32CubeProg这些下载编程工具的时候,都用到了bin、hex格式的文章。 作为普通嵌入式软件开发者,可能只知道如何使用他们,并不会在意这...
2021-10-19 23:34:49
558
原创 手把手教你查找stm32 HardFault_Handler调试及问题方法
版权声明:本文为博主原创文章,未经博主允许不得转载。https://blog.youkuaiyun.com/u013184273/article/details/84440177 在编写STM32程序代码时由于自己的粗心会发现有时候程序跑着跑着就进入了HardFault_Handler中断,导致异常的原因很多,例如:直接使用未分配空间的指针、栈溢出等一场非法操作便会使程序进入HardFault异常状态。按照经验来说进入Har...
2021-10-19 23:29:12
12138
3
原创 在MDK(Keil)下STM32进入“HardFault”异常错误查错调试方法
1、导致异常的原因有很多,例如:直接使用未分配空间的指针、栈溢出等异常非法操作便会使程序进入“HardFault”异常状态。 接下来在MDK工程中,编译代码,并debug,之后全速运行,可以看到如下图所示程序进入HardFault异常。 如下所示我们找到SP寄存器,0x200045B8即为栈地址,栈里面的值依次为R0~R3、R12、PC(Return address)、xPSR(CPSR或SPSR)、L...
2021-10-10 21:15:15
943
原创 KEIL软件中编译时出现的Error L6200E: symbol xxx multiply defined ...的解决方法
KEIL软件中编译时出现的Error L6200E: symbol xxx multiply defined …的解决方法问题描述:因为要使用CAN进行数据传输,因此在主程序“test.c”中采用#include “can.h”,调用“can.h”中的函数和变量。结果编译后出现许多Error L6200E: symbol xxx multiply defined ...原因:因为在“can.h”中定义了许多变量,“can.c”文件中采用#include “can.h”,调用“can.h”中的变量
2021-09-29 21:13:43
6102
原创 [RTOS]uCOS、FreeRTOS、RTThread、RTX等RTOS的对比之特点
最近正好又重新回顾了一下这几款OS,心里一直有个疑问,明明这几款RTOS是这么像,为什么还要搞出这么多个来呢,最后的结论就是,管他呢,反正哪个用的顺手用哪个。 本篇博客就来细数这几个RTOS的特点。 以下内容均来自官方网站或者官方手册Feature的Google翻译的加了我的一些调整,没有任何主观成分。 未经同意禁止转载,尊重别人的劳动成果!!!https://blog.youkuaiyun.com/wangyijieonline/article/details/77584726 1. FreeRT..
2021-09-25 00:52:27
2653
原创 FreeRTOS与uCOS II的比较(嵌入式实时系统)
目前嵌入式主流实时系统(RTOS)有uCOS、FreeRTOS,之所以很多第三方库都有在FreeRTOS上的应用Demo,是因为FreeRTOS免费。不要钱是真的厉害呀!然而说实话,论源码规范,我还是喜欢uCOS。 一、FreeRTOS比uCOS II优胜的地方: 1。内核ROM和耗费RAM都比uCOS 小,特别是RAM。 这在单片机里面是稀缺资源,uCOS至少要5K以上, 而FreeRTOS用2~3K也可以跑的很好。 2。FreeRTOS 可以用协程(Co-routine),减少RAM消耗(共用S.
2021-09-25 00:48:09
3103
原创 【C语言】typedef(自定义数据类型)与#define(宏定义)用法比较
不管是在C语言还是在C++中,typedef这个词都不少见,当然出现频率较高的还是在C代码中。typedef和#define有些相似,但更多的是不同,特别是在一些复杂的用法上,就完全不同了。 1.宏定义(#define) 宏定义又称为宏代换、宏替换,简称“宏”。 格式:#def...
2021-09-01 21:42:59
205
原创 while(1)死循环与for(;;)死循环的区别
while(1)死循环与for(;;)死循环的区别两者区别:区别一:for式死循环更加高效一点区别二:编译出的程序代码大小不同结果:引言:单片机的编程中经常用到while(1)死循环来进行轮寻操作,但分析Linux内核源代码时却经常见到for(;;)作为死循环的条件。两者区别:区别一:for式死循环更加高效一点for(;;)死循环里的两个;;代表两个空语句,编译器一般会优化掉它们,直接进入循环体,不用进行判断。while(1)死循环里的1被看成表达式,每循环一次都要判断常量1是不是等于零。即,
2021-09-01 17:47:31
1004
原创 IP地址与MAC地址的区别
IP地址是指互联网协议地址(Internet Protocol Address),是IP Address的缩写。IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。 MAC地址又称为物理地址、硬件地址,用来定义网络设备的位置。网卡的物理地址通常是由网卡生产厂家烧入网卡的,具有全球唯一性。MAC地址用于在网络中唯一标示一个网卡,一台电脑会...
2021-08-24 22:33:34
140
原创 RT_Thread自动初始化机制--__attribute__((section(x)))
关于__attribute__中section部分的一些了解一、__attribute__介绍:二、RT_Thread的自动初始化机制:问题:1.什么是RTI 符号段?2.为什么通过这些宏声明的函数会加入到RTI符号段?3.RT_Thread的RTI符号段的结构是什么?4.RTI符号段函数怎么样去自动调用?无论是GNU还是ARM的编译器, 都支持 __attribute__所指定的编译属性,这里着重讲解一下在KEIL 环境下__attribute__中的section的使用方法。一、__attribut
2021-05-25 22:19:53
748
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人