LPC214x's BSP for RTEMS [Success!]
joel.sherrill at oarcorp.com
Wed Jun 20 14:20:56 UTC 2007
dave madden wrote:
>>>>>> "JS" == Joel Sherrill <joel.sherrill at oarcorp.com> writes:
> JS> You can also break at Init and see how much memory is left in
> JS> the heap and Workspace. The RTEMS GDB macros should have this
> JS> capability. confdefs.h leans to minimum but it still may be a
> JS> bit conservative.
> My notes are at home, but IIRC there was about 7K available after the
> data segment, executive stacks and workspace (for Hello). Ticker went
> over 32k just for the data seg, stacks and workspace.
> JS> Are you compiling with -Os?
> No, but will try next time.
You might also want to look at the TinyRTEMS page in the
Wiki. It has other suggestions.
Have you edited the buffer_test_io.h file to let the tests
use printk? Then disable including the console driver
completely in ticker.
I would also suggest trying to lower CPU_STACK_MINIMUM_SIZE
Beyond that, Ray has some stubs to eliminate libio
and the filesystem code. I can send them to you
offline. I haven't figured out how best to make them
available to the application. But you can always explicitly
link them in via your make-exe rule for now.
After that, we need to look at what is consuming the
memory. I suspect you may be a candidate for
being able to lower the number of priorities from
256 to 8 or 16. There is a FIFO for each priority
and that required 12 * 256 bytes but some memory
for 1 bit per priority for a bit map. At sixteen or
fewer priorities, you would save another 32 or 64
bytes depending on the port's bit scan instruction
if memory serves.
The primary issue with offering a way to lower the
number of priorities is testing. If you or Ray or
anyone else is willing to run all the tests and fix then
so they can run in fewer priority levels, that will be a
big help. I can give you some guidelines on what the
requirements are. We also would need to review all
of the libraries/services with server tasks and make
sure they account for configurations with fewer
priorities as well.
This would be 10% of your memory. So it is an easy one. :-D
> JS> Ray has mentioned that adding the missing thumb support in
> JS> score/cpu/arm and compiling with Thumb will probably shrink
> JS> some also.
> Actually, the 2148 has 512K of Flash, so the problem is not code
> size. There's just not enough RAM...
> rtems-users mailing list
> rtems-users at rtems.com
More information about the users