自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

原创 单片机的启动流程——以STM32为例

单片机的启动流程——以STM32为例一、简介   本文以STM32为例,介绍单片机的启动流程。二、BOOT启动方式   要知道单片机的启动流程,首先要找到对应的芯片手册,以STM32F207为例,芯片手册2.4章中描述了单片机根据不同BOOT引脚电平初始化的方式。   此芯片支持FLASH,系统内存,内部SRAM三种启动方式。阅读单板电路图,可知默认BOOT0引脚都是低电平,对应从FLASH启动的方式。   进而查看内存映射,可知FLASH对应的地址为0x8000000。三、STM3

2022-02-09 10:21:28 4903 2

原创 lwIP源码解析---httpd(二)

lwIP源码解析—httpd(二)一、简介   1.1 lwip版本   lwip 2.1.2   1.2 代码范围   在lwip中包含了http服务端的实现,文件路径: lwip-2.1.2\src\apps\http\httpd.c   在源码案例中,只实现了GET方法的例子,POST方法还需要自己增加例子。文件代码两千七百行左右。二、源码分析  2.1 初始化函数  2.2 接收函数  2.3 发送函数...

2021-10-28 14:53:57 2084 2

原创 lwIp源码解析--udp

lwIp源码解析–udp一、简介   1.1 lwip版本   2.1.2

2021-10-26 10:23:14 2409

原创 lwIp源码解析--DHCPv4

lwip源码解析–DHCPv4一、简介   1.1 lwip版本   lwip 2.1.2   1.2 代码范围   在lwip中包含了DHCPv4客户端的实现,文件路径: lwip-2.1.2\src\core\ipv4\dhcp.c lwip-2.1.2\src\include\lwip\dhcp.h   文件代码两千行左右,阅读难度不大。二、DHCPv4流程和状态机三、DHCPv4源码   3.1 启动客户端err_t dhcp_s.

2021-10-13 18:21:10 1870

原创 STM32驱动开发(二)--USB Device RNDIS虚拟网卡(usb hound抓包完整数据流分析)

usb hound抓包完整数据流分析

2021-09-06 00:31:49 2271 2

原创 STM32驱动开发(二)--USB Device RNDIS虚拟网卡(USB2.0 基础概念讲解)

本文基于github上的stm32 Rndis实例结合协议讲解stm32中USB虚拟网卡驱动的实现。达到外部主机(手机)通过USB接口访问物联网设备网页的功能。

2021-08-22 22:47:49 6786 11

原创 freeRtos源码解析(二)–任务调度

freeRtos源码解析(二)–任务调度一、启动任务调度器  启动任务调度器之后,CPU正式进入任务模式调度各任务(CPU在中断模式和任务模式之间不断轮转)。  freeRtos任务调度依赖于内核的三个中断,中断服务函数已由freeRtos开发人员用汇编根据不同芯片实现了,定义在port.c中,这三个函数分别是:/* * Exception handlers. */void xPortPendSVHandler( void ) __attribute__ (( naked ));void x

2021-08-14 21:47:36 612

原创 freeRtos源码解析(一)--RTOS概念以及任务创建

freeRtos源码解析(一)–任务创建与任务调度一、简介1.1 代码来源及版本代码来源于STM32CubeIDE工具一键生成功能,对应freeRtos版本为 FreeRTOS Kernel V10.2.1。对应MCU型号为STM32MP157D cortex-M4.生成的中间层代码以及源码目录如下:1.2 学习参考学习参考:[野火®]《FreeRTOS 内核实现与应用开发实战—基于STM32》...

2021-08-10 21:27:30 1871

原创 STM32驱动开发(一)--串口原理与开发实践

STM32驱动开发(一)–串口原理与开发实践

2021-07-31 16:56:45 2147

原创 lwIP源码解析---httpd(一)

lwIP应用开发—httpd源码解析

2021-07-30 21:07:45 2483

原创 goahead源码解析(六)结合openssl实现https协议

http协议是不安全的,因此还需要结合openssl实现安全的https协议。

2019-08-24 21:33:37 1333 1

原创 goahead源码解析(五) 实现文件导入和导出

对于一个完整的WEB服务器来说,应该支持WEB文件导入功能,例如导入业务的配置文件,导入软件升级包进行升级等等。导出功能一般是导出用户配置文件,导出log日志等。导入导出对于HTTP请求来说依然是POST和GET。...

2019-08-23 21:50:07 2001 3

原创 goahead源码解析(四) 用户登陆与权限认证

前面三篇文章讲解了服务器的主框架和基本I/O流程,这篇文章讲一下如何进行多用户管理,实现多用户登陆登出等功能。

2019-08-23 21:45:48 4820 3

原创 goahead源码解析(三) 响应HTTP请求

一、如何响应HTTP请求websPump中若前面两步解析请求行请求头成功,wp->state置为READY时,在for循环中调用websRunRequest响应请求。 此时,websRunRequest中将wp->state置为RUNNING,之后调用route对应的service回调函数,也就是websDefineHandler中定义的各种handler。二、响应HTTP请...

2019-08-22 11:18:54 3515

原创 goahead源码解析(一) 从主函数到I/O事件循环

goahead是一个成熟的嵌入式WEB服务器,在未来物联网行业中,相信可以发挥更大的作用。我们刚买路由器的时候,通常需要连接网线登陆一个页面配置路由器IP,WIFI密码,这个就是嵌入式WEB服务器的一个应用。

2019-08-20 22:53:34 3454 3

原创 goahead源码解析(二) 读取HTTP请求

浏览器与服务器建立好连接之后,会调用readEvent接口来读取从浏览器来的请求。HTTP请求的结束符是"\r\n\r\n",服务器一直调用readEvent请求,直到接受到了HTTP请求结束符为止(内容长度不超过请求最大长度2048字节)。 The webs read handler. This is the primary read event loop. It uses a st...

2019-08-20 22:39:32 2809 3

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除