68000 and TCP memory usage

Joel Sherrill joel.sherrill at OARcorp.com
Thu Jul 13 14:41:02 UTC 2000


Antti P Miettinen wrote:
> 
> Hello!
> 
> I'm currently investigating the use of RTEMS on a mc68302 based board.
> I can now run some tests on the board but I have to leave the porting
> work for a while so right now I cannot investigate further the
> following problems I ran into:
> 
> 1. The objects crtbegin.o and crtend.o are not compiled with -m68000
>    during GCC build (resulting in a "tstl a0" which is not in 68000
>    instruction set). There seems to be some support for making
>    variants of the crt files but I haven't had time to figure out what
>    the correct fix for this would be.

Based on the code in other targets, this requires adding the following
line to the file gcc-2.95.2/gcc/config/m68k/t-m68kelf.

EXTRA_MULTILIB_PARTS = crtbegin.o crtend.o

This will be fixed in the next  round of RPMs.

> 2. How to correctly handle having vectors in read-only memory? I
>    managed to get the hello world running by making the real vectors
>    point to jump instructions jumping through a fake vector table and
>    by making _VBR point to this fake table but the ticker test crashed
>    somewhere with this setup. When I made the real vectors R/W, ticker
>    test started working.

I will leave this to m68k experts.  There are m68000 based BSPs but I
don't know off hand if they are examples of this.

> I will be working on these some time later but I wanted to share these
> findings already now.
> 
> Then a question: about how much memory does a TCP connection take?

What are you concerned about code, data/bss or heap usage?  A lot 
depends on what additional servers you use.  The network manual
has some memory guidelines.  I have the last numbers I generated
for the mcp750 powerpc BSP which I would expect to be higher but
can give you an estimate of code/data/bss:

=========================================
The board used in this report was a Motorola MCP750. 
It is a full featured board which includes a variety 
of peripherals.  The initialization for this board 
includes full initialization of the complex bus and 
interrupt structure on the MCP750.  On simpler target 
boards, this code would be unnecessary.  Also,
this is a recently developed BSP and no attempt 
has been made to reduce its footprint.

Minimum Application Profile - 86440, 6920, 44040
Hello World Profile - 108848, 6964, 44048
Ticker Profile - 119544, 7072, 44088
Base Networking Profile - 258160, 9672, 49568
FTP Server Profile - 292484, 9704, 49752
Web Server Profile - 368244, 10816, 62516
=========================================

In comparison, I have a minimum application profile 
for the gen68360 handy (random RTEMS snapshot). It 
was 44080, 1536, and 88336. 

Sine both sets of numbers were generated, there has
been an effort to reduce configured resources so the
current numbers will be different.

I recommend that you build the BARE BSP for the CPU
options you are interested in and look at the size of
the generated code.

> Antti Miettinen
> Nokia Networks

-- 
Joel Sherrill, Ph.D.             Director of Research & Development
joel at OARcorp.com                 On-Line Applications Research
Ask me about RTEMS: a free RTOS  Huntsville AL 35805
   Support Available             (256) 722-9985



More information about the users mailing list