一个运行在uclinux上的应用程序安装在cortex m3上,但现在我想使用freertos作为操作系统,而不是uclinux。
例如,我运行tcp服务器客户端应用程序,其中客户端在uclinux上,服务器在安装了linux的计算机上,它工作得很好,反之亦然
对于FreeRTOS,我使用lwip作为ip堆栈,编译应用程序、freertos和lwip,并生成十六进制文件,然后将其放入client m3中,但是当我运行它时,服务器和客户端之间没有通信
->我需要做什么具体的修改吗?
uclinux使用arm-uclinuxeabi-gcc工具链使用freertos使用arm-none-eabi-gcc工具链
发布于 2016-06-14 18:56:42
这是一个非常开放的问题,只有通过向您提出许多问题才可能得到答案,所以我将只提供建议。
首先,我建议将问题分解为可管理的部分。首先要确保你自己可以执行FreeRTOS (有很多Cortex-M examples,甚至TCP examples for Cortex-M,还有一个常见问题解答,如果你在运行实时操作系统时遇到问题,都可以在FreeRTOS.org网站上找到)。
其次,在裸机应用程序(没有实时操作系统或操作系统)中,检查lwIP驱动程序是否能够在以太网端口上发送和接收。
第三,将已知工作的以太网驱动程序添加到已知工作的FreeRTOS项目中,并检查以太网驱动程序是否仍在工作(请注意FreeRTOS网站上有关打开堆栈溢出检查、定义configASSERT()等的常见问题)。
在lwIP代码中缝合第四针,注意lwIP关于在多线程应用程序中使用堆栈的建议。
第五等。
https://stackoverflow.com/questions/37782854
复制相似问题