mbedtls+lwip+freertos调试总结

借助stm32官方提供的例程,以单片机作为mbedtls客户端,在PC机上运行mbedtls服务器,最终的目的是单片机能够通过网络连接到pc上的mbedtls服务器。

测试环境:stm32769-discover单片机开发板,PC机上运行centos7系统,单片机与PC机通过网线直连。

客户端代码修改:

客户端代码使用stm32官方提供的mbetls例程,需要修改main.h中的内容,需要修改的部分有两点:一是屏蔽#define USE_DHCP宏,目的是给单片机指定一个IP地址。

 

二是修改服务器端的IP地址,改成运行mbedtls服务程序电脑的IP地址。
服务器端代码修改:
服务器端程序从https://tls.mbed.org/download/start/mbedtls-2.4.0-apache.tgz下载。服务器端程序需要修改一个地方,指定服务器端的IP地址,在mbedtls-2.4.0/programs/ssl/ssl_server.c文件中,将mbedtls_net_bind函数的第二个参数改成与单片机中相同的server IP地址,这里的server IP地址也是运行服务器所在电脑的IP地址。第二个参数默认是NULL.

代码修改完之后,执行make指令,编译程序, 运行programs/ssl/ssl_server,服务器程序开始监听客户端连接。

执行这个步骤之前,需要关闭centos操作系统的防火墙,否则客户端与服务器无法正常连接,centos7关闭服务器的命令如下:

//临时关闭
systemctl stop firewalld
//禁止开机启动
systemctl disable firewalld

如果安装了iptables-service,也可以使用下面的命令:

yum install -y iptables-services

//关闭防火墙

service iptables stop 

//检查防火墙状态

service iptables status

 防火墙关闭之后,单片机便可以成功连接上PC端服务器。

 

 

 

 

 

 

 

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
ESP32-S3是乐鑫公司发布的一款无线芯片,采用了Xtensa单元的32位MCU,带有蓝牙5.0和Wi-Fi 6(802.11ax),特别适合于IoT应用。接下来我们来了解一下ESP32-S3的开发环境。 ESP32-S3的开发环境包括硬件开发环境和软件开发环境两个方面。硬件开发环境主要指开发板和相关外设,而软件开发环境则是指开发工具和SDK。下面对这两个方面进行详细介绍。 硬件开发环境 乐鑫公司推出了ESP32-S3-DevKitM-1开发板,这是一款基于ESP32-S3芯片的开发板。此外,ESP32-S3-CHAKA是另外一款支持可编程和可重用性的板子,面向具有内置Flash的高端应用。这些开发板包含了与ESP32-S3芯片配套的各种外设,例如芯片上的GPIO、SPI、I2C、UART、PWM等I/O接口,支持调试、编程、烧录等操作。 除了开发板之外,还需要一些外围设备,例如电脑、USB-TTL转换器、电源等。其中,USB-TTL转换器可以将ESP32-S3开发板上的调试串口与计算机连接,从而实现代码烧录和调试。 软件开发环境 乐鑫公司提供了ESP-IDF(ESP32 IoT Development Framework)作为ESP32-S3的软件开发平台,其集成了开发板的复杂驱动程序、中间件和基础功能。ESP-IDF基于C/C++编程语言,支持在Linux和Windows系统下进行开发,提供了诸如FreeRTOSlwIPmbedTLS等丰富的库和头文件。用户可以通过ESP-IDF中的OTA更新机制更新设备固件,也可以使用特定的调试器实现单步执行、断点调试等功能。 除了ESP-IDF外,也可以使用其他的IDE(集成开发环境)进行开发,例如Eclipse、VS Code等。在选择IDE时,需要根据自己的需要和习惯进行选择。 总结 ESP32-S3的开发环境比较简单,乐鑫公司提供了完善的开发文档和开发板,用户只需要下载和安装相应的软件工具以及连接开发板和外设,就可以进行开发和调试了。同时,ESP32-S3的丰富的外设和庞大的库函数支持,也为开发者提供了广泛的选择和灵活性。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值