This is the mail archive of the ecos-discuss@sources.redhat.com mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: eCos: Increase the size of ROM available on AEB-1


Sunny Chan <sunny_chan@usa.net>:

> I just wondering: how come there is only extra 32k available? I thought AEB 
> rev C has 256K flash (0x4000000 - 0x403ffff), and the first 16K is not 
> available (for Angle and Bootstrap loader)? Is there something wrong with 
> the way eCos setup the memory map?

My understanding is that the AEB (both rev. B and C) has only got 128k flash
(it has 256k SRAM instead of rev. B's 128k SRAM). Typing "rommodules" gives me
the following result:

Boot: rommodules
Header   Base     Limit
04000004 04000000 040034a8 BootStrap       1.00 (14 Aug 1998)
04003a74 04003800 04003bc0 Production Test 1.00 (13 Aug 1998)
0400e7a4 04004000 0400e7ec Angel           1.03 (08 Mar 1998)

If you have installed a GDB stub there should be an additional line like the
following:

0401ba6c 04018000 0401bcd4 eCos            1.2.2 (25 May 1999) GDB stubs

As you might see from the above BootStrap, test and Angel software use the
first 64k of the flash (0x04000000 - 0x4010000). The standard eCos ROM memory
map only uses flash memory beginning from 0x4018000. 

> I need as much RAM/ROM as possible because I am trying to build a MP3 
> player with (possibly) a Bluetooth stack. We are trying to decode it on the 
> board, then play the decoded data through the PC's sound card. As a result 
> I need to put almost all the code onto the flash and use the RAM as scratch 
> pad/storage.

Maybe you should check the work of Andreas Karlsson who did a memory upgrade
of a rev. C AEB board:

http://sources.redhat.com/ml/ecos-discuss/2001-02/msg00446.html

> Right now I am trying to see whether I can "ROM" a "hello world" apps - to 
> see how to ROM an application.
> 
> >In the files
> >    packages/hal/arm/aeb/current/include/pkgconf/mlt_arm_aebC_rom.ldi
> >    packages/hal/arm/aeb/current/include/pkgconf/mlt_arm_aebC_rom.h
> >you have to change ROM adresses from 0x4018000 to 0x4010000 and ROM length 
> >from
> >0x8000 to 0x10000.
> >
> >In the file
> >    packages/hal/arm/aeb/current/include/plf_stub.h
> >you have to change the reset entry from 0x4018000 to 0x4010000.
> >
> >After downloading your application image into RAM (monitor command "download
> >c000") you have to use the command "flashwrite 4010000 c000 10000".
> 
> Once I have flash the application onto the ROM, how would you run it? using 
> the "go" command?

Your application should follow the rules for building AEB rom modules (see
"ARM Evaluation Board User Guide" chapter 3.6.7 "Creating new modules"). The
GDB stub follows the same rules. For details on preparing and building your
application see the corresponding files for the stub:

packages/hal/arm/aeb/current/src/gdb_module.c
packages/hal/arm/aeb/current/cdl/hal_arm_aeb.cdl

Once you've prepared your "hello world" in this way you can download and flash
it as described above. Then you have to issue a "plugin" command with the name
of your application (as used in the "title" field in the ModuleHeader struct).
Finally you can start your application by simply typing in the application's
"title" (alternatively the application is started automatically after board
reset if it's the last plugged in module - just like the gdb stub normally
operates).

Wolfram
--
Wolfram 'L.A.' Kattanek     Institut fuer Mikroelektronik- und
Email:       LA@imms.de     Mechatronik-Systeme (IMMS) gGmbH     
Tel: +49 3677 / 6783-55     Langewiesener Str. 22
Fax: +49 3677 / 6783-38     98693 Ilmenau / Germany

-------------------------------------------------
This mail sent through IMP: imp.imms.de


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]