[ECOS] Loading the rom on an AT91EB40A

Jay Bennie jay@lincore.co.uk
Tue Oct 21 14:47:00 GMT 2003


success - 

I now understand the line in the help which said to "Use minicom to send
the file redboot_ROM.srec via YModem"

somethings are not obvious until pointed out! 

PS : Greetings HK, and thanks for the help:) 

 
On Tue, 2003-10-21 at 15:07, Horst Kronstorfer wrote:
> On Tue, Oct 21, 2003 at 02:35:06PM +0100, Jay Bennie wrote:
> > Hi, 
> > 
> > after days of digging, I'm starting to get the hang of eCos and embedded
> > development in general.
> > 
> > Anyway to describe the setup. 
> > 
> > I have a standard AT91EB40A(Ver 1.0 Rev 0) Eval board from Atmel. 
> > Flash is a AT49BV1614A
> > 
> > so far - after many wrong turns i have the following 
> > 
> > ecos-2.0 installed to /opt/ecos as installed by the scripts 
> > cvs is current (21st October 2003) and located in /opt/ecos/cvs/ecos
> > 
> > i have modified /opt/ecos/ecosenv.sh to point to the cvs Package
> > repository
> > 
> > Then in my home directory i have ecos/ram and ecos/rom  
> > 
> > to build the file redboot.elf  (Ram version)
> > 
> > i run the following commands: 
> > $ cd ram
> > $ ecosconfig new eb40a redboot
> > $ ecosconfig import
> > /opt/ecos/cvs/ecos/ecos/packages/hal/arm/at91/eb40a/current/misc/redboot_RAM.ecm
> > $ ecosconfig tree
> > $ make 
> > 
> > to build the ROM files
> > 
> > $ cd ../rom
> > $ ecosconfig new eb40a redboot
> > $ ecosconfig import
> > /opt/ecos/cvs/ecos/ecos/packages/hal/arm/at91/eb40a/current/misc/redboot_ROM.ecm
> > $ ecosconfig tree
> > $ make 
> > 
> > then return to ram/install/bin 
> > and type 
> > $ arm-elf-gdb redboot.elf
> > 
> > <now in GDB type> 
> > tar rdi s=/dev/ttyS0
> > set $cpsr=0xd3
> > load
> > <the file loads>
> > cont
> > <escape with ^Z>
> > 
> > < now open minicom >
> > $ minicom
> > <the following is the output from this command. >
> > // ================================ Start of paste ===============
> > 
> > RedBoot> AT S7=45 S0=0 L1 V1 X4 &c1 E1 Q0
> > ** Error: Illegal command: "AT"
> > RedBoot> version
> >                                                                                                            
> > RedBoot(tm) bootstrap and debug environment [RAM]
> > Non-certified release, version UNKNOWN - built 13:41:16, Oct 21 2003
> >                                                                                                            
> > Platform: Atmel AT91/EB40A (ARM7TDMI)
> > Copyright (C) 2000, 2001, 2002, Red Hat, Inc.
> >                                                                                                            
> > RAM: 0x00000000-0x00040000, [0x0001ff88-0x0003f000] available
> > FLASH: 0x01000000 - 0x01200000, 32 blocks of 0x00010000 bytes each.
> > RedBoot> load -m ymodem -b %{FREEMEMLO}
> > CCCCCCCCC...........Can't load '<null>': Timed out
> > RedBoot>
> 
> now its time to type CTRL-a s in minicom. this opens a dialog where
> you should choose ymodem, next window lets you select a file. oke?
> 
> greetings 
> hk.
> 
tip to those reading this - when minicom starts to return CCCCCC you do
the ctrl - a  s and select the rom file in my case
rom/install/bin/redBoot.srec 

This loads the file into the buffer -> %{FREEMEMLO} which is then
written with the next command to the flash. (note you have to say yes to
the write question)

the output from my session was  
// =========================== Start paste output  ==============
RedBoot> version
                                                                                                           
RedBoot(tm) bootstrap and debug environment [RAM]
Non-certified release, version UNKNOWN - built 13:41:16, Oct 21 2003
                                                                                                           
Platform: Atmel AT91/EB40A (ARM7TDMI)
Copyright (C) 2000, 2001, 2002, Red Hat, Inc.
                                                                                                           
RAM: 0x00000000-0x00040000, [0x0001ff88-0x0003f000] available
FLASH: 0x01000000 - 0x01200000, 32 blocks of 0x00010000 bytes each.
RedBoot> load -m ymodem -b %{FREEMEMLO}
CCAddress offset = 0xff020000
Entry point: 0x00020040, address range: 0x00020000-0x0002ebd0
xyzModem - CRC mode, 1418(SOH)/0(STX)/0(CAN) packets, 9 retries
RedBoot> fi wr -f 0x01100000 -b %{FREEMEMLO} -l 0x010000
* CAUTION * about to program FLASH
            at 0x01100000..0x0110ffff from 0x00020000 - continue (y/n)?
y
... Erase from 0x01100000-0x01110000: .
... Program from 0x00020000-0x00030000 at 0x01100000: .
RedBoot> +
RedBoot(tm) bootstrap and debug environment [ROM]
Non-certified release, version UNKNOWN - built 13:42:25, Oct 21 2003
                                                                                                           
Platform: Atmel AT91/EB40A (ARM7TDMI)
Copyright (C) 2000, 2001, 2002, Red Hat, Inc.
                                                                                                           
RAM: 0x00000000-0x00040000, [0x0000a928-0x0003f000] available
FLASH: 0x01000000 - 0x01200000, 32 blocks of 0x00010000 bytes each.
RedBoot> ^C
RedBoot>

// =========================== End paste output ============== 

note: in the above at line "RedBoot> +" i swapped the JP1 jumper and
pressed reset - RedBoot is now successfully stored on the flash and with
JP1 in the "USER" position loads directly into ram. 
 
> > 
> > 
> > // ================================ End of paste ===============
> > 
> > I have to say i don't follow what this is doing, i assumed that i would
> > need to specify the loactaion of the rom file
> > /home/jbennie/ecos/rom/install/bin/redboot.srec but from the help for
> > the AT91 this does not appear to be the case. I now assume that the ram
> > image is dumped from memory into the flash using the next command 
> > 
> > e.g. RedBoot> fi wr -f 0x01100000 -b %{FREEMEMLO} -l 0x010000 
> > 
> > - I also noted that there are differences between my memory map and that
> > published in the help 
> > 
> > http://sources.redhat.com/ecos/docs-latest/ref/at91.html
> > 
> > Anyway, given that I'm new to all of this any help would be appreciated
> > and if anyone has any specific advice on the eb40a I'd appreciate a
> > quick email as i need to compile as much of this information into an
> > eCos for the eb40a FAQ/mini-HOWTO, it will help the other people i'm
> > working with get up to speed and hopefully be of some use to the
> > community as well.
> > 
> > Regards
> > Jay 
> > 
> > ---------------------------------------
> > lincore information systems limited
> > mob:07976 300036
> > eml:jay@lincore.com | jay@lincore.co.uk
> > ---------------------------------------
> > 
> > 
> > 
> > 
> > 
> > 
> > 
> > -- 
> > Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
> > and search the list archive: http://sources.redhat.com/ml/ecos-discuss


-- 
Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
and search the list archive: http://sources.redhat.com/ml/ecos-discuss



More information about the Ecos-discuss mailing list