Quality RTOS & Embedded Software

 Real time embedded FreeRTOS RSS feed 
Quick Start Supported MCUs PDF Books Trace Tools Ecosystem


uIP demo on lpc23xx: how much memory?

Posted by Nobody/Anonymous on May 16, 2007
i saw the uIP demo for lpc2368 and would like to use the smallest
(and cheapest) possible lpc23xx controller instead of the 2368.
as i still don't have any lpc hardware here, i'd like to know
if i can get it to fit on a 2364 and still have a little room
to add my own application code.

so how much flash and sram memory is still free with this demo
on the 2368?

P.S.: the difference in memory size between the devices is the following:
device / flash / local bus sram
lpc2364 / 128kB / 8kB
lpc2366 / 256kB / 32kB
lpc2368 / 512kB / 32kB

RE: uIP demo on lpc23xx: how much memory?

Posted by Richard on May 16, 2007
As downloaded the kernel and uIP stack only have a footprint as follows:

Kernel - 7.4K ROM and 350bytes RAM + the heap
uIP - 14K ROM including the WEB pages, and 11K RAM

Note however:

No effort has been made to reduce the code size. This is not fully optimised, and unused symbols have not been removed. Using GCC it has been proven to me that the kernel size can be a little as 4K (actually about the same as the IAR build) if unused symbols are removed.

The more RAM you provide uIP the better the throughput can be. You can provide uIP with tiny buffers of a few hundred bytes if slow throughput is ok for your application. I can't recall the buffers allocated to the Ethernet hardware itself.

Read the memory management section of the FreeRTOS.org site for information on the heap usage, and the memory FAQ for information on how much heap each task and queue will take.

I think your best bet is to get a copy of CrossWorks (eval versions are available) and try configuring it for the low RAM version of the LPC to see if you can get it to fit or not. 8K is really not very much, so I think it will be a push.


RE: uIP demo on lpc23xx: how much memory?

Posted by Nobody/Anonymous on May 16, 2007
thanks for the info
as i understand from what you write, the one thing that eats up a lot is uIP for ethernet buffers.
what i didn't write in the "memory difference" listing (cause it's the same for all lpc23xx) is
that all these devices have an independent 16kB SRAM just for the ethernet mac buffers. the ethernet
dma transfers go directly from/to there.
i read this buffer mem is mapped to local sram, but i don't know if that means it can be used for
general purpose memory stuff.

so the question is: does the uIP demo for lpc23xx use those 16kB special ethernet sram for buffers
(in which case there shouldn't be a real problem with 8kB normal sram) or does it only know general
sram and doesn't make the difference between the 16kB buffers and the 8kB general purpose sram?
if the latter is the case, the question is: can the 16kB buffer mem be used like normal sram
(in which case the lpc2364 would have 24kB usable sram) or not?

[ Back to the top ]    [ About FreeRTOS ]    [ Privacy ]    [ Sitemap ]    [ ]

Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.

Latest News

FreeRTOS v10.2.0 is available for immediate download. MIT licensed, and including RISC-V and ARMv8-M (Cortex-M33) demos.

NXP tweet showing LPC5500 (ARMv8-M Cortex-M33) running FreeRTOS.

View a recording of the "OTA Update Security and Reliability" webinar, presented by TI and AWS.


FreeRTOS and other embedded software careers at AWS.

FreeRTOS Partners

ARM Connected RTOS partner for all ARM microcontroller cores

Cadence Tensilica Cortes

Espressif ESP32

IAR Partner

Microchip Premier RTOS Partner

RTOS partner of NXP for all NXP ARM microcontrollers





STMicro RTOS partner supporting ARM7, ARM Cortex-M3, ARM Cortex-M4 and ARM Cortex-M0

Texas Instruments MCU Developer Network RTOS partner for ARM and MSP430 microcontrollers

OpenRTOS and SafeRTOS

Xilinx Microblaze and Zynq partner