本帖最后由 robe.zhang 于 2020-5-31 22:04 编辑
创龙TLZ7x-EasyEVM评估板 -- freeRTOS 系统 lwIP 协议栈
创龙TLZ7x-EasyEVM评估板 -- 试用总结
本文是freeRTOS 系统上运行一个lwIP协议栈,通过 telnet 登录服务器,发送信息,服务器收到后会再把信息发送回来。
还是使用 tcl 文件创建sdk项目, 打开Xilinx SDK command line tool,试用命令行工具从 tcl 文件创建项目
打开 Xilinx SDK软件,打开刚刚生成的项目:
Main 函数创建了一个现成main_thread:
main_thread 初始化lwip,创建 network_thread 进程,获取IP地址,创建echo_application_thread 进程
network_thread 进程创建 xemacif_input_thread 进程,xemacif_input_thread进程是个死循环,收到东西立马发出来
echo_application_thread 进程,是个标准的socket 通信,bind,listen,accept,接收到内容,立马创建process_echo_request 进程
process_echo_request 进程处理收到的字符。收到 quit 四个字符,退出进程。
运行看结果: 创龙是用下载器调试,笔者手头没有调试,但是笔者之前分析过xilinx芯片,分析启动过程,熟悉uboot,看了看这个项目,笔者直接放在sd卡运行,一切正常:运行情况如下:
这个是用 putty telnet 登录,输入每一个字符,立马返回这个字符,所以看起来不舒服,其实整个程序一切正常,没有问题,出现这种情况是putty 的问题,或者是putty设置问题,下面换个程序再登录
使用 linux 内置的 telnet登录,如下: 测试一切正常,输入什么,就会原封不动发回来。
笔者特意试了一下,输入quit ,四个字符,就会退出,和刚才源码看到的结果一样。
创龙 TLZ7x-EasyEVM 开发板上运行 freeRTOS 系统,系统中运行 lwIP 协议栈,完成收发信息测试。如果你也没有调试器,也可以参照本文通过SD卡调试,一样可以把程序跑起来。
创龙TLZ7x-EasyEVM评估板 -- 试用总结
|