Porting FreeRTOS in LPC2378

Hi, I would like to port FreeRTOS with LPC2378. I download FreeRTOS latest version provided in SourceForge and used GCC complier in portable folder with subfolder of** ARM7LPC23xx**. But, no application i’m able to to do with this FreeRTOS. I am using memory heap of Heap_1.c, i tried the same source code with different controllers. it is working perfectly with its corresponding port(such as ARMCM0, CM3).But, i am not able to do with ARM7_LPC23xx. what is the exact library files i should use to port the LPC2378??

Porting FreeRTOS in LPC2378

I’m afraid I don’t understand your post. Are you sayin you cannot build the LPC23xx port layer? If so then I suspect that is because the port is REALY REALLY OLD and using the GNUARM (Yagarto) compiler, which is also old, and definitely would not build the ARMCM0 port. You can find links to the tools on one of the documentation pages for an LPC23xx demo, but like I said, they are old! http://www.freertos.org/portlpc2368Eclipse.html

Porting FreeRTOS in LPC2378

So, where will i be able to find the new port file for my use?. i have downloaded the recently relesed version of FreeRTOS only, as i mentioned. then, How come it will be an old port file. I need some working example for LPC2378 in LPC expresso or Keil uVision for my reference. will i i be able to get that?? All the examples what i am seeing is different ARM7 microcontrollers. In that there are some different vector address are there.

Porting FreeRTOS in LPC2378

i have downloaded the recently relesed version of FreeRTOS only, as i mentioned. then, How come it will be an old port file.
Because the chip was designed a long time ago, and the FreeRTOS port was provided when the chip was designed. There has not been any ARMv4 development in FreeRTOS for years (the core used in the LPC23xx), with most development being for the ARMv7 (the core used in the Cortex-M parts), and now moving onto ARMv8 (the core used in the Cortex-2/3x parts). I cannot foresee a time when such an old port would be updated.

Porting FreeRTOS in LPC2378

Hi, Actually I’m in bad need of make this to work. because it is the cheeaper controller with rich amount peripheral and large in-system flash of 512 KB for my application. I don’t have the proper hardware debugger support also with LPC Expresso IDE. I used the Toggling LED set of code for debugging where my code get stuck. So, with that I’m able to find that. the execution of portRESTORE_CONTEXT macro definition in portmacro.h file halts the application. That code consists of some assemblt code dealing with processor registers in context switching process. So, when the assemblt code executes, my application will halt. Any suggestion for this regarding the code or compiler i’m using? Thank you.

Porting FreeRTOS in LPC2378

I don’t have the proper hardware debugger support
Why not? If this is important to you, as you say it is, investing i the right tools will pay for itself in time saved many times over. Also, first you have to help yourself, then ask for help letting us know what you have done. If the code is compiling and flashed to the board most assistance we can provide will require you to step through the code in the debugger so you can give us the information we need to help you.
So, with that I’m able to find that. the execution of portRESTORE_CONTEXT macro definition in portmacro.h file halts the application.
Which execution of the macro? The first one? If so, it might be that the CPU is not in the right mode when you call vPortStartScheduler(). It has to be in System mode, the easiest method of ensuring being to ensure the start up code calls main() from System mode.

Porting FreeRTOS in LPC2378

the easiest method of ensuring being to ensure the start up code calls main() from System mode.
I have checked it properly. the main() function is being called and the control enters main function.the Code hangs when it enters into vTaskStartScheduler() function.
If this is important to you, as you say it is, investing i the right tools will pay for itself in time saved many times over. Also, first you have to help yourself
I have debugger for Keil IDE. uVision 5. i tried there also. in that also the code is not executing properly. It halts at the same place. Interms of port files, both IDE has same functionality only. When a pause a code execution it going somewhere out of the C source code.
If so, it might be that the CPU is not in the right mode when you call vPortStartScheduler()
I’m not able to find any System mode or superviser mode in datasheet or in startup file. Is that any register to set the processor mode? Thanks