hi everyone I’ve managed to run the freeRTOS/uIP demo for the LPC2368 using eclipse and GCC. But since the (folder-) structure of that demo project is really messy (for example not all freeRTOS code is inside the project folder but linked into it instead…) I tried to change the folders a bit. I of course adjusted the "-I …" compiler flags and adjusted the paths to the c-files (under the sources definition). my new project is compiling without any errors so it seems that the compiler finds every include-file etc. I also get an object file for every needed source and an elf file. however, when i flash the bin file this new project doesnt run at all. when I pause the programm, after the scheduler is started, I end up in _dabt() (data abort). I’m not that familiar with writing makefiles so I’m guessing something went wrong with linking or so. Maybe anyone got some ideas?
>But since the (folder-) structure of that demo project is really messy >(for example not all freeRTOS code is inside the project folder but linked >into it instead…) The FreeRTOS.org directory structure is suitably organised for a portable project. See http://www.freertos.org/a00017.html for a full description. There is no way that the FreeRTOS.org code could be included in the project structure as the same code is used for many, many, different projects. They cannot all be in the same tree. The problem arises from Eclipses inability to manage a C project. Eclipse does some really complex things really well, and some basic things (like selecting which files are in a build) very badly. Did you change any of the build options? Or just the location of the files that are included? Are you using the same startup file? Regards.
all I did was changing the location of the files so that every source file is inside the project folder. I ofcourse adjusted the paths in the makefile for the includes ( -I …) and for the sources. The interessting thing tho is: When i made a completely new ecplipse project with importing the sources and the makefile and everything else (ld script etc) it didnt work… however, when I take the original project (the one provided from freeRTOS.org) and simply changed the folder structure it works… so I’m guessing there might be some eclipse project options which are not present in the makefile (for example the original project uses "GNU C Compiler" toolchain which aint available to select when I make a new project…).
I also use Eclipse for my projects. I also adjusted the source paths but I kept the structure for FreeRTOS, the port files and the memory manager. The rest is in different places. And for the file names of the project I tricked Eclipse because if there are 2 files with the same name eclipse can’t find out the path to the one where there error is located. The files of each module are tagged so there is no duplicate filename and I can jump from ther error list to the correct position. And for the dabt: did you step through and can tell at which location in the code it comes to an error? In my case dabt mostly appear if there are problems with stack, with tick dependend functions (like xQueueReceive) are either not called within a task or in an ISR or task creation was not successfull but the code doesn’t check on that and tries to use this task.
Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.