- 博客(18)
- 收藏
- 关注
原创 LwIP——快速笔记TCP协议
首部长度字段占据4bit空间 最大能记录15*4=60字节窗口大小:它用于给发送方一个指示:接收方还能接收多少数据URG:首部中的紧急指针字段标志,如果是1表示紧急指针字段有效。ACK:首部中的确认序号字段标志,如果是1表示确认序号字段有效。PSH:该字段置一表示接收方应该尽快将这个报文段交给应用层。RST:重新建立TCP连接。SYN:用同步序号发起连接。FIN:中止连接。 刚开始连接,序号是随机的可能是0~4294967295之间的任意值在完成握手后,客户端与服务器就建立了连接,同时双方都得到了彼此的窗
2022-06-28 17:16:22
548
原创 LwIP——有操作系统移植
首先准备一份移植好的LWIP无系统基本文件 LWIP无操作系统https://blog.youkuaiyun.com/weixin_42066633/article/details/124575333?spm=1001.2014.3001.5502在LWIP无系统基本文件里面移植FreeRTOS进去,FreeRTOS移植后还需要修改大量文件FreeRTOS移植https://blog.youkuaiyun.com/weixin_42066633/article/details/119455828?spm=1001.2014
2022-06-23 18:20:38
1739
原创 LWIP--无操作系统移植笔记
移植项目使用的是正点原子战舰V3开发板,网卡采用DM9000,DM9000属于链路层(PHY层+MAC层);LWIP属于互联层和传输层;应用层就是用户自己根据自己想要的功能实现,例如MQTT协议、HTTP协议等。运行LWIP需要十几KB的RAM和40K左右的ROM............
2022-06-09 15:56:59
3719
1
原创 LWIP--ARP协议快速笔记
ARP协议就是用来处理ARP缓存表处理ARP缓存表处理ARP缓存表地址解析协议(Address Resolution Protocol,ARP)是通过解析IP地址得到数据链路层地址的,是一个在网络协议包中极其重要的网络传输协议,它与网卡有着极其密切的关系,在TCP/IP分层结构中,把ARP划分为网络层,为什么呢,因为在网络层看来,源主机与目标主机是通过IP地址进行识别的,而所有的数据传输又依赖网卡底层硬件,即链路层,那么就需要将这些IP地址转换为链路层可以识别的东西,在所有的链路中都有着自己的一套...
2022-06-09 15:41:42
2983
原创 FreeRTOS快速笔记——信号量
信号量的阻塞时间单位是系统的节拍周期configTICK_RATE_HZ为100,则系统节拍时钟周期为10ms,设置0就是不等待,设置1~无限就是按时钟节拍算时间,设置portMAX_DELAY等到有信号量有为止xSemaphoreGive(XX)-----任务级信号量释放函数xSemaphoreGiveFromISR(XX)-----中断级信号量释放函数不管二值信号量、计数型信号量以及互斥信号量都是用xSemaphoreGive释放信号量xSemaphoreTake(XX,阻塞时间)-..
2022-04-26 15:12:24
4043
2
原创 FreeRTOS快速笔记————队列
队列(任务之间“全局变量”)在实际的应用中,常常会遇到一个任务或者中断服务需要和另外一个任务进行“沟通交流”, 这个“沟通交流”的过程其实就是消息传递的过程.在没有操作系统的时候两个应用程序进行 消息传递一般使用全局变量的方式,但是如果在使用操作系统的应用中用全局变量来传递消息 就会涉及到“资源管理”的问题.FreeRTOS 对此提供了一个叫做“队列”的机制来完成任务与 任务,任务与中断之间的消息传递.队列简介队列是为了任务与任务,任务与中断之间的通信而准备的,可......
2022-04-24 16:07:42
526
原创 freeOS笔记-----列表与列表项
(2)uxNumberOfItems 用来记录列表中列表项的数量.(3)pxIndex 用来记录当前列表项索引号,用于遍历列表.(4)列表中最后一个列表项,用来表示列表结束,此变量类型为 MiniListItem_t,这是一个 迷你列表项,关于列表项稍后讲解.(1) 和 (5) ,这两个都是用来检查列表完整性的,需要将宏 configUSE_LIST_DATA_INTEGRITY_CHECK_BYTES 设置为 1,开启以后会向这两个地方分别 添加一个变量 xListIntegrity...
2022-02-10 16:46:27
701
原创 FreeRTOS上Flash模拟EEPROM无法实现的问题
最近在用STM32F103C8T6这块芯片做东西,开发板是自己画的,但是发现参照原子的FLASH模拟EEPROM实验的代码进行读写操作时,读取Flash中的数据全都是乱的,很多-1,但是相同的Flash读写函数在无操作系统的情况下,是可以正常使用的。已解决:可能是芯片flash不充足 有互相占用flash地址 将freeRTOS总堆栈设置变小...
2021-12-27 10:12:58
1038
4
原创 freeOS快速笔记-----任务4种状态
运行态当一个任务正在运行时,那么就说这个任务处于运行态,处于运行态的任务就是当前正在 使用处理器的任务.如果使用的是单核处理器的话那么不管在任何时刻永远都只有一个任务处于运行态.就绪态处于就绪态的任务是那些已经准备就绪(这些任务没有被阻塞或者挂起),可以运行的任务, 但是处于就绪态的任务还没有运行,因为有一个同优先级或者更高优先级的任务正在运行!阻塞态如果一个任务当前正在等待某个外部事件的话就说它处于阻塞态,比如说如果某个任务调 用了函数 ......
2021-10-15 11:25:02
2147
原创 STM32的经典缩略语
首先,在学习Cortex-M3时,我们必须要知道必要的缩略语。整理如下:AMBA:先进单片机总线架构 ADK:AMBA设计c9200446619921FFCa4b252220c1fe2aAHB:先进高性能总线 AHB-AP:AHB访问端口APB:先进外设总线ARMARM:ARM架构参考手册ASIC:行业领域专用集成电路ATB :先进跟踪总线BE8:字节不变式大端模式 CPI:每条指令的周期数DAP:调试访问端口 DSP:数字信号处理(器)DWT:数据观察点及跟踪 ETM:嵌入
2021-09-24 17:00:38
184
原创 freeOS-----primask faultmask basepri中断屏蔽寄存器
primask暂时屏蔽中断寄存器在许多应用中,需要暂时屏蔽所有的中断一执行一些对时序要求严格的任务,这个时候就 可以使用 PRIMASK 寄存器,PRIMASK 用于禁止除 复位、NMI(不可屏蔽中断) 和 HardFalut(硬故障寄存器) 外的所有异常和中断.faultmask寄存器FAULTMASK比PRIMASK更狠,它可以连HardFault都屏蔽掉,使用方法和PRIMASK类似,FAULTMASK会在退出时自动清零。basepri优先级屏蔽中断寄存...
2021-09-23 18:04:15
1995
1
原创 Altium Designer DRC规则报错
DRC全称design rule check 设计规则检查Un-Routed Net ConStraint报错的原因 找一下是否有开路这个error致命Silk To Solder Mask Clearance Constraint报错的原因这是因为丝印层到阻焊层的间距不满足规则这个error不致命Un-Routed Net ConStraint报错的原因指元器件间的安全距离,设计规则需要修改这个error不致命 但最好修改下...
2021-08-26 18:00:20
12179
1
原创 树莓派——串口配置
前言树莓派从大的方向来说一共出了3代,每一代的CPU外设基本相同,但内核不同,外设里面一共包含两个串口,一个称之为硬件串口(/dev/ttyAMA0),一个称之为mini串口(/dev/ttyS0)。硬件串口由硬件实现,有单独的波特率时钟源,性能高、可靠,mini串口性能低,功能也简单,并且没有波特率专用的时钟源而是由CPU内核时钟提供,因此mini串口有个致命的弱点是:波特率受到内核时钟的影响...
2021-08-09 10:31:29
951
原创 FreeRTOS移植STM32
第一步:FreeRTOS官网https://www.freertos.org/第二步:OS移植文件 复制 FreeRTOSv202104.00\FreeRTOS\Source中的所有文件.portable 文件夹,我们只需要留下 keil,MemMang 和 RVDS 这三个文件夹,其他的都可以删除掉.RVDS文件夹下的ARM_CM3中的port.c文件是Cortex-M3的FreeRTOS内核.MemMang.........
2021-08-09 10:29:49
3121
转载 OSI网络模型
OSI将计算机网络体系结构(architecture)划分为以下七层:物理层: 将数据转换为可通过物理介质传送的电子信号相当于邮局中的搬运工人。数据链路层: 决定访问网络介质的方式。在此层将数据分帧,并处理流控制。本层指定拓扑结构并提供硬件寻址,相当于邮局中的装拆箱工人。网络层: 使用权数据路由经过大型网络 相当于邮局中的排序工人。传输层: 提供终端到终端的可靠连接 相当于公司中跑邮局的送信职员。会话层: 允许用户使用简单易记的名称建立连接 相当于公司中收寄信、写信封与拆信封的秘书.
2021-06-08 09:41:20
178
转载 STM32 FMSC类总线概念详解 (转载)
第一个角度理解STM32有FSMC(其实其他芯片基本都有类似的总线功能),FSMC的好处就是你一旦设置好之后,WR(写)、RD(读)、DB0-DB15这些控制线和数据线,都是FSMC自动控制的。打个比方,当你在程序中写到:*(volatile unsigned short int *)(0x60000000)=val;那么FSMC就会自动执行一个写的操作,其对应的主控芯片的WE、RD这些脚,就会呈现出写的时序出来(即WE=0,RD=1),数据val的值也会通过DB0-15自动呈现..
2021-06-01 08:50:51
2836
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人