- 博客(27)
- 收藏
- 关注
原创 【TCP/IP协议栈】4. 传输层协议(TCP、UDP)
协议森林07 傀儡 (UDP协议) - Vamei - 博客园TCP和UDP详解(非常详细)_tcp udp-优快云博客我们已经讲解了物理层、连接层和网络层。最开始的连接层协议种类繁多(Ethernet、Wifi、ARP等等)。到了网络层,我们只剩下一个IP协议(IPv4和IPv6是替代关系)。进入到传输层(transport layer),协议的种类又开始繁多起来(比如TCP、UDP、SCTP等)。
2025-03-04 13:29:33
2036
原创 【TCP/IP协议栈】【传输层】端口号、套接字、多路复用/分解、网络字节序
套接字是一个通用的通信接口抽象不仅限于TCP/IP协议族作为应用层和传输层之间的桥梁支持多种通信方式和协议族在 TCP 或者 UDP 发送具体的报文信息前,需要先经过一扇门,这个门就是套接字(socket),套接字向上连接着应用层,向下连接着网络层。在操作系统中,操作系统分别为应用和硬件提供了接口(Application Programming Interface)。而在计算机网络中,套接字同样是一种接口,它也是有接口 API 的。
2025-03-04 13:28:56
916
原创 【TCP/IP协议栈】3. 网络层协议(IP、ARP、RARP、ICMP)
协议森林03 IP接力赛 (IP, ARP, RIP和BGP协议) - Vamei - 博客园网络层(network layer)是实现互联网的最重要的一层。正是在网络层面上,各个局域网根据IP协议相互连接,最终构成覆盖全球的Internet。更高层的协议,无论是TCP还是UDP,必须通过网络层的IP数据包(datagram)来传递信息。操作系统也会提供该层的socket,从而允许用户直接操作IP包。IP数据包是符合IP协议的信息(也就是0/1序列),我们后面简称IP数据包为IP包。
2025-03-04 13:28:26
1641
原创 【TCP/IP协议栈】【网络层】子网划分、子网掩码
我们都知道,IP地址是以网络号和主机号标识网络上的主机的,只有在同一网络号下的主机才可以“直接”互通,不同网络号的主机要通过网关互通。C类地址,21位标识网络号,8位标识主机号,要将其划分为4个子网,则需占用2位原来的主机标识位。此时,网络号由之前的21位变为23位,子网掩码为:255.255.255.224。将IP地址和子网掩码进行 “按位与” 操作, 得到的结果就是网络号。网络号和主机号的划分与这个IP地址是A类、B类还是C类无关。将一个网络划分为多个子网,网络号就要占用原来的主机位。
2025-03-04 13:27:48
331
原创 【TCP/IP协议栈】2. 网络接口层协议(以太网、令牌环、PPP 等)
网络接口层协议介绍(以太网、令牌环、PPP 等)TCP/IP 支持多种不同的网络接口层协议以太网以太网是当今现有局域网采用的最通用的通信协议标准。该标准定义了在局域网(LAN)中采用的电缆类型和信号处理方法令牌环令牌环网(Token Ring)是一种 LAN 协议,定义在 IEEE802.5 中,其中所有的工作站都连接到一个环上,每个工作站只能同直接相邻的工作站传输数据。通过围绕环的令牌信息授予工作站传输权限。FDDI。
2025-03-04 13:27:15
1106
原创 【TCP/IP协议栈】1. TCP/IP协议栈概述(体系、四/五层模型、IP、MAC)
区分一下协议栈、协议族协议栈更加宏观协议栈指的是协议栈里的具体协议TCP/IP 协议是针对Internet开发的一种体系结构和协议标准TCP/IP 协议是国际互联网Internet采用的协议标准TCP/IP 是一组通信协议的代名词,是由一系列协议组成的协议簇如应用层(HTTP/FTP/...)、传输层(TCP/UDP)、网络层(IP/ICMP/ARP)、网络接口层(以太网/WiFi/PPP)
2025-03-04 13:25:52
1734
原创 【单片机开发 - STM32(H7)】启动流程、方式、烧录方式详解
安富莱:本章教程主要跟大家讲 STM32H7 的启动过程,这里的启动过程是指从 CPU 上电复位执行第 1 条指令开始(汇编文件)到进入 C 程序 main()函数入口之间的部分。启动过程相对来说还是比较重要的,理解了这个过程,对于以后分析程序还是有些帮助的,要不每次看到这个启动过程都会跳过,直接去看主程序了。还有就是以后打算学习 RTOS 的话,对于这个过程必须有个了解,因为移植的时候涉及到中断向量表。
2025-01-15 04:35:17
1268
原创 【MDK应用】Keil高阶调试技术(一)
命令输入时候会有提示的,会告诉你下一步应该输入的语法。MDK5断点调试,有时候断点乱跳,就有可能是用jlink调试 断点设置多了,jlink会修改flash内容,这个时候如果直接拔掉jlink,flash中就会保存断点信息,会影响正常运行而且下次调试时如果没有更新程序,mdk里面不会显示该断点,但是断点信息已经在flash中了,执行到对应语句依然会暂停。最上面的断点是手动打的,双击该断点,会看到 Expression 会显示该断点的信息,修改 Count 的值为 10,点击 Define,然后关闭该窗口。
2024-12-06 13:57:55
1596
原创 【单片机开发】MCU三种启动方式(Boot选择)[主Flash/系统存储器(BootLoader)/嵌入式SRAM]
IAP 下载工具开始发送烧录程序(hex 文件),由单片机的 BootLoader 程序(利用对应通信接口)一一接收,然后逐个刷新到 Flash 上(Flash memory-主 Flash[0x0800 0000 - 0x0807 FFFF = 512KB 标定大小 ]),存储器指可以存储数据的设备(FLASH/SRAM/ROM),本身没有地址信息,对存储器分配地址的过程称为存储器映射。【BootLoader】当选择系统存储器启动,从 0x0000 0000 跳转至对应地址启动(映射),
2024-12-06 13:50:57
2570
原创 【知识】内存概念(ROM(PROM)、RAM、FLASH(广义ROM)等)
eXecute In Place,即芯片内执行,指应用程序可以直接在flash闪存内运行,不必再把代码读到系统RAM中。flash内执行是指nor flash 不需要初始化,可以直接在flash内执行代码。但往往只执行部分代码,比如初始化RAM.(注:片内执行不是说程序在存储器内执行哦,CPU的基本功能就是取指、译码和执行。norflash能在芯片内执行,就是指CPU的取指模块能够直接从norflash中把指令取出来,供后面的译码和执行模块使用)
2024-12-06 12:49:05
975
原创 【单片机外设】MPU及Cache学习与开发
设置不同存储区域的存储器访问权限(特权级、用户级)设置存储器(内存和外设)属性(可缓存、可缓冲、可共享)Cache:高级缓存,结合MPU使用(由MPU来指定内存区域的Cache策略)F4有MPU但是没有Cache,所以一般不用MPUCache:高级缓存(因为处于CPU中,主频与CPU一致)可实现Cache分为:数据缓存D-Cache可解决CPU加速访问SRAMSRAM主频<CPU主频指令缓存I-CacheCache操作:由MPU指定区域的Cache策略使能禁止清空。
2024-12-06 12:34:35
1265
原创 【单片机基础知识】STM32H7的TCM,SRAM等五块内存的基础知识、使用方式
外接的主控是 D1-to-D2 AHB 总线,AHBP 总线,DMA1,DMA2,Ethernet MAC,SDMMC2,USB HS1 和 USB HS2。正常情况下,系统上电后,CPU 要访问的外设是需要使能对应的时钟位,但是下面这几个,CPU 上电即可访问,而且芯片没有对应的寄存器使能位。外接的主控是 LTDC,DMA2D,MDMA,SDMMC1,AXIM 和 D2-to-D1 AHB 总线。,AHB1,AHB2,APB1,APB2,D2-to-D1 AHB总线和D2-to-D3 AHB 总线。
2024-12-05 14:25:13
1581
原创 【单片机基础知识】基础知识(CortexM系列、STM32系统框架、存储器映射、寄存器映射)
1. CortexM系列介绍ARM官方资料:📎Arm Cortex-M4 Processor Datasheet.pdf📎Arm-Cortex-M7-Processor-Datasheet.pdf📎Arm Cortex-M Comparison Table_v3.pdf📎Arm Cortex-M3 Processor Datasheet.pdf课程资料:📎Cortex-M系列介绍(课堂总结).pdf📎体系结构(ARM架构版本)与其对应的ARM处理器内核.pdf📎Cortex-M系列介绍.pp
2024-12-05 14:23:18
1275
原创 【单片机基础知识】MCU三种启动方式(Boot选择)[主Flash/系统存储器(BootLoader)/嵌入式SRAM]——老版
可能的原因有以下几点(参考资料《ARM Cortex M3 & M4权威指南》15.7节。还是将 0x0800 0000 映射到 0x0000 0000(由 AHB 总线映射)还是将 0x2000 0000 映射到 0x0000 0000(由 AHB 总线映射)
2024-12-05 14:21:11
1812
原创 【LWIP】STM32H743/750+AC5/AC6+裸机/FreeRTOS+(ETH)LWIP2.1.2+DP83848/LAN8720/42——创建可ping模板(用于正点原子学习)
教程一直到19讲【【正点原子】手把手教你学lwIP网络编程协议】第9讲 以太网DMA描述符程序解析(阿波罗、北极星)_哔哩哔哩_bilibiliHAL库版本,影响了标识符管理的对象例程/开发工程参考包这个参考开发指南来介绍的实操。
2024-11-28 15:07:05
871
原创 【LWIP】STM32H743/750+CubeMX+AC5/AC6+裸机/FreeRTOS+(ETH)LWIP+DP83848/LAN8720/42——创建可ping模板
借鉴的基于STM32CubeMX创建的STM32H743+DP83848+LWIP网络通信程序调试_20221127算是胎教级教程了_h743 cubemx lwip-优快云博客。
2024-11-26 00:30:10
1626
3
原创 【LWIP】STM32H7开发LWIP时遇到的问题(2024-11)
说明对于 H7 来说不止要改两个接口文件(之前参考一篇配置 F4 的文章),这里 H7 因为以太网 DMA 描述符的地址问题,涉及到了数组定义指定 SRAM 问题,用到了汇编,但是又因为 AC5/6 的汇编改变问题,所以要多改一个地方!在lwip.c的头文件下找到lwipopt.h,加入debug代码,这样就能在串口看到你的网络出什么问题了(注意在实际工程中要关闭debug代码,否则打印太耗资源,ping通时间会长达100ms,关闭后就正常1ms ping通了)参考其他例程,改一下汇编试试!
2024-11-26 00:11:02
1837
原创 【CAN学习】CAN(CAN2.0/bxCAN)、FDCAN(CAN-FD)概念补充
一文搞懂CAN和CAN FD总线协议_fdcan-优快云博客STM32中FDCAN和传统的bxCAN的区别:很多情况下称 为 可以向下兼容 最大的变化在于数据段,一帧最大可以传输64字节,并且数据段波特率可以和其他部分不一样,最大可以到8000kbps。控制器局域网总线(CAN,Controller Area Network)是一种用于实时应用的串行通讯协议总线,它可以使用双绞线来传输信号,是世界上应用最广泛的现场总线之一。 CAN协议用于汽车中各种不同元件之间的通信,以此
2024-10-29 16:53:39
2017
原创 【CAN开发】STM32 FDCAN(CAN-FD) Controller(FDCAN控制器)外设开发
介绍STM32 FDCAN外设:这里主要是讲FDCAN与CAN的区别STM32H7 FDCAN兼容普通CAN使用 基于CubeMX配置_stm32cubeide h7配置fdcan作为普通can-优快云博客STM32 CAN使用记录:FDCAN基础通讯_stm32 canfd-优快云博客CAN基础概念_can时钟40mhz-优快云博客STM32H7系列FDCAN配置成经典CAN的经验教程和注意事项_stm32h7 can-优快云博客。
2024-10-29 16:47:27
3734
原创 【CAN开发】STM32 CAN(bxCAN/CAN2.0) Controller(CAN控制器)外设开发
介绍STM32 CAN外设:STM32CAN外设的硬件组成,运行原理,实现方式42. CAN—通讯实验 — [野火]STM32库开发实战指南——基于野火霸道开发板 文档STM32H7 FDCAN兼容普通CAN使用 基于CubeMX配置_stm32cubeide h7配置fdcan作为普通can-优快云博客秀!靠这篇我竟然2天理解了CAN协议!实战STM32F4 CAN!_can协议的命令表怎么理解-优快云博客STM32 CAN使用记录:bxCAN基础通讯_rtos stm32 can-优快云博客。
2024-10-29 16:45:33
1292
原创 【CAN学习】CAN(CAN2.0)协议
CAN 是控制器局域网络 (Controller Area Network) 的简称,它是由研发和生产汽车电子产品著称的德国 BOSCH 公司开发的,并最终成为国际标准(ISO11519以及ISO11898),是国际上应用最广泛的现场总线之一。
2024-10-29 16:43:14
1721
原创 【MDK应用】MDK编译器(AC5/AC6)选择、及其工程创建(CubeMX&&RTOS/裸机)
【MDK应用】MDK编译器(AC5/AC6)选择、及其工程创建(CubeMX&&RTOS/裸机) · 语雀
2024-10-27 15:31:25
498
原创 【CAN协议】超详细CAN协议原理,以及STM32 CAN/FDCAN外设原理与开发,后续更新QT&CAN开发(持续更新)
CAN/FDCAN开发
2024-10-24 22:33:33
221
1
原创 【以太网模块】W5500模块使用 - 看这篇就够了【基本都有 - 中断/非中断工作方式/寄存器使用/官方库移植使用】
参考了很多文章,但是感觉很多都写的或多或少的,得去看数据手册或官方源码研究。整理,研究了很久,基本的配置都摸索清楚了,特此分享,有问题希望能够指出。《W5500/以太网传感器(基于W5500官方驱动库+HAL库)》
2024-10-08 17:32:46
4509
8
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人