[uClinux-dev] How can I generate my own ROM for xcopilot ?

Fabian Skivée fskivee at skynet.be
Wed Nov 28 08:47:43 EST 2001


Hello,

	Thanks for all advice I received for my previous questions. Now I can
compile a uClinux and create a vmlinux.rom for the xcopilot. I can execute it
and it works very well.

	But now, I try to create my own rom from nothing. I try to understand the
procedure use from uClinux to create the vmlinux.rom. But when I use the
xcopilot with my rom, I received the error : "shmat : Invalid argument".

	I try to make the least rom it's possible with almost nothing in it, just
enought to put a value in memory and so can see if it's well done. I make a
little crt0.S file :

	init :
        		move.w #100, 0x400
        		bsr exit

	exit :  bsr exit

	I use the pilot.ld (that I found in the pilot directory), see in
attachement. I give you my Makefile. I also use the script fixup.pl (from the
pilot source).

	I'm not confident that the pilot.ld is good.
	Must I use special address for the xcopilot  ?
	Must I use special parameter for objcopy ?
	Must I use genromfs to generate my rom ?
	Must I do special operation in my crt0.S file (chip select, ...)?
	Do I forgot a operation ?
	What's the ROM entrypoint of the xcopilot ?
	What mean "shmat : invalid argument" in my case (I know it can't attach a
shared memory) ?

	Someone can help me with this procedure ?

	Thank you very much

	Fabian

--

Skivée Fabian
[a] rue Petite Spinette 8, 4630 Soumagne, Belgium
[t] + 32 (0) 4 377 23 76
[g] + 32 (0) 498 62 47 03 (direct)
[e] fskivee at skynet.be
-------------- next part --------------
init :
	move.w #100, 0x400 
	bsr exit		

exit :	bsr exit

-------------- next part --------------
MEMORY 
	{
	a5world   : ORIGIN = 0x0,     LENGTH = 32767
	code      : ORIGIN = 0x10000, LENGTH = 65536
	}

SECTIONS
{
        .text :
	{
	text_start = . ;
        *(.text)
	_etext = . ;
        } > code
        .data :
	{
	__data_start = . ;
        *(.data)
	_edata = . ;
	edata = ALIGN( 0x10 ) ;
        } > a5world
        .bss :
        {
	__bss_start = ALIGN( 0x10 ) ;
	__data_end = ALIGN( 0x10 ) ;
	*(.bss)
	*(COMMON)
	end = ALIGN( 0x10 ) ;
	_end = ALIGN( 0x10 ) ;
	} > a5world
}
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Makefile
Type: text/x-makefile
Size: 918 bytes
Desc: not available
URL: <http://mailman.uclinux.org/pipermail/uclinux-dev/attachments/20011128/07a63398/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: fixup.pl
Type: application/x-perl
Size: 3603 bytes
Desc: not available
URL: <http://mailman.uclinux.org/pipermail/uclinux-dev/attachments/20011128/07a63398/attachment.pl>


More information about the uClinux-dev mailing list