在freertos上运行一个C应用程序,它已在uclinux上运行

时间:2016-06-13 06:11:23

标签: cortex-m3 freertos uclinux

应用程序正在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

1 个答案:

答案 0 :(得分:0)

这是一个非常开放的问题,只能通过向你提出许多问题来回答,所以我只会提供建议。

首先,我建议将问题简化为可管理的部分。首先确保您可以执行FreeRTOS(有很多Cortex-M examples,甚至TCP examples for Cortex-M,以及一个常见问题解答,以便在运行RTOS时遇到问题,所有这些都可以在FreeRTOS上找到。组织网站)。

其次,在裸机应用程序(没有RTOS或OS)中,检查lwIP驱动程序是否能够在以太网端口上发送和接收。

第三步将已知的工作以太网驱动程序添加到已知的工作FreeRTOS项目中,并检查以太网驱动程序是否仍在工作(请注意FreeRTOS网站上有关堆栈溢出检查,configASSERT()定义的FAQ项目,等)。

lwIP代码中的第四个针脚,注意到在多线程应用程序中使用堆栈的lwIP建议。

第五等等。