应用程序正在uclinux上运行,它安装在cortex-m3上, 但现在我想使用freertos作为Os而不是uclinux,
例如我运行一个tcp服务器客户端应用程序,其中客户端在uclinux上,服务器在安装了linux的计算机上,它运行良好,反之亦然
在FreeRTOS的情况下,我使用lwip作为ip堆栈,应用程序和freertos和lwip被编译并生成hex文件,我可以将它放入cortex-m3但是当我运行它时服务器之间没有通信和客户
--->所以我需要做出任何具体的改变
用于uclinux的arm-uclinuxeabi-gcc工具链 使用arm-none-eabi-gcc toolchain for freertos
答案 0 :(得分:0)
这是一个非常开放的问题,只能通过向你提出许多问题来回答,所以我只会提供建议。
首先,我建议将问题简化为可管理的部分。首先确保您可以执行FreeRTOS(有很多Cortex-M examples,甚至TCP examples for Cortex-M,以及一个常见问题解答,以便在运行RTOS时遇到问题,所有这些都可以在FreeRTOS上找到。组织网站)。
其次,在裸机应用程序(没有RTOS或OS)中,检查lwIP驱动程序是否能够在以太网端口上发送和接收。
第三步将已知的工作以太网驱动程序添加到已知的工作FreeRTOS项目中,并检查以太网驱动程序是否仍在工作(请注意FreeRTOS网站上有关堆栈溢出检查,configASSERT()定义的FAQ项目,等)。
lwIP代码中的第四个针脚,注意到在多线程应用程序中使用堆栈的lwIP建议。
第五等等。