LwIP 代码分析(memp内存管理代码提取) – 第十六集
memp是属于简单的,固定大小,快速的malloc机制.比如如下的,能每次申请到64字节的可用空间. struct memp { struct memp *next; }; uint8_t mem_memory[350]; struct memp *mem_tab = NULL; void mem_init(void) { uint8...
memp是属于简单的,固定大小,快速的malloc机制.比如如下的,能每次申请到64字节的可用空间. struct memp { struct memp *next; }; uint8_t mem_memory[350]; struct memp *mem_tab = NULL; void mem_init(void) { uint8...
话说,不得不佩服写这些代码的,真是太巧妙了. #include "lwip/opt.h" #if LWIP_ARP || LWIP_ETHERNET #include "lwip/etharp.h" #include "lwip/stats.h" #include "lwip/snmp.h" #include "lwip/dhcp.h" #include "lwip/autoip....
测试条件都是RDS与云主机同一内网,看看谁家最低配的RDS性能最好.现在看来是AWS(1856 QPS) > Tencent(1586 QPS) > AliYun(1405 QPS),价格排序Tencent(120元) > AliYun(84元) > AWS(≈80元),这么一看,AWS是最良心的. 腾讯...
USART是可以做SPI模式的,但是这是一个受限功能,具体来看,USART模式受限于以下: 只能以LSB发送,MSB发送的话需要人工转换. 速率较低,一般在2MHz以下,300Hz以上. CS只能人工控制,不支持硬件控制. 不支持从机SPI模式. 部分型号的USART不...
有人说以太网真他妈难学,其实,协议都是人为制定的一些标准而已.其实无论发送什么东西(撇开物理层不讲),都是一个一个字节的. 比如串口通信,要跟别人说话,那么直接发数据当然好,但是对方就不知道你什么时候开始说,什么时候说完,自然就有...
使用TrueStudio开发STM32的时候,发现代码逻辑总是错,后来发现是自动重排,涉及重排的两个优化是. -fschedule-insns If supported for the target machine, attempt to reorder instructions to eliminate execution stalls due to requ...
tcpip_init就是LWIP的初始化函数.一般传递tcpip_init( NULL, NULL ),也就是没有用户的init函数. /** * @ingroup lwip_os * Initialize this module: * - initialize all sub modules * - start the tcpip_thread * * @par...
这一个比上一次更进一步,可以POST和GET请求,基本上满足网上的各种网站的API调用.配合cJson能完成各种事情. 因为TCP协议他其实并没法知道上层协议,上层协议其实是TCP协议一定组合后的一些约定方法.新的Web Client方式也更简单. int We...
现在随便的API都是Web的,让我们这些嵌入式平台好累啊. 我写了个test.php,内容简单. <?php echo json_encode($_GET); echo json_encode($_POST); 根据TCP的协议,很简单写的出HTTP访问的方法.我用的是netconn,需要操作系统支持. ui...
UDP不能保证顺序,不能保证先来后到,任何数据包过了路由之后,路由爱怎么对他转发是路由的事情.但是TCP有顺序ID,而且要ACK后才继续说话,这种尴尬的事情就不会发生了. UDP的话,你用最高速度给STM32发数据,比如1000Mbps,他只会忙死,而你不...