From mboxrd@z Thu Jan 1 00:00:00 1970 From: Wolfram Kattanek To: Sunny Chan Cc: Sunny Chan , ecos-discuss@sources.redhat.com Subject: Re: [ECOS] eCos: Increase the size of ROM available on AEB-1 Date: Sat, 03 Mar 2001 03:07:00 -0000 Message-id: <983617573.3aa0d025808a0@imp.imms.de> References: <5.0.2.1.0.20010226194945.02361ed8@pop-ug.doc.ic.ac.uk> <5.0.2.1.0.20010302174735.026285a8@pop.netaddress.com> X-SW-Source: 2001-03/msg00072.html Sunny Chan : > 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