This is the mail archive of the
ecos-discuss@sourceware.cygnus.com
mailing list for the eCos project.
Re: Porting to new ARM platform
- To: Ormund Williams <ormundw at brainlink dot com>
- Subject: Re: [ECOS] Porting to new ARM platform
- From: Jesper Skov <jskov at redhat dot com>
- Date: 26 Apr 2000 09:05:37 +0200
- Cc: ecos <ecos-discuss at sourceware dot cygnus dot com>
- References: <39066126.B39B56EB@brainlink.com>
>>>>> "Ormund" == Ormund Williams <ormundw@brainlink.com> writes:
Ormund> Hi I was trying to define a new platform and could not find
Ormund> the files "targets" and "packages" listed in the eCos
Ormund> Reference Manual, further exploration reveled that these two
Ormund> files had been merged into "ecos.db". I tried editing
Ormund> "ecos.db" and creating a directory tree under hal/arm/, on
Ormund> running "ecosconfig list" my new platform "awt60" was listed,
Ormund> am I on the right track?
Sounds like it.
Ormund> My board uses the LH77790A the same chip that is on the AEB1
Ormund> rev B, so I copied the "aeb" platform files and renamed them
Ormund> awt60, I am now editing the "hal_arm_awt60.cdl" file. Before
Ormund> I go to far I wanted to know from you eCos experts out there
Ormund> weather I'm going about this correctly?
Yup.
Ormund> My board has 2MB of DRAM and 2MB Flash, I need to burn a gdb
Ormund> stub into the flash before I solder it to the board so I need
Ormund> to be sure that it will work I don't want to have to remove
Ormund> the flash and resolder it, socketing a 56 pin TSOP isn't
Ormund> practical. Does the supplied aeb stub depend on the software
Ormund> already burnt into the AEB ROM? or can it stand alone?
The AEB stub does indeed rely on the AEB firmware for bootstrapping.
What you want to do is complete your platform port. Instead of the
existing CYGBLD_BUILD_GDB_STUBS rule you want to just copy in a
simpler one such as this:
cdl_option CYGBLD_BUILD_GDB_STUBS {
display "Build GDB stub ROM image"
default_value 0
requires { CYG_HAL_STARTUP == "ROM" }
requires CYGSEM_HAL_ROM_MONITOR
requires CYGBLD_BUILD_COMMON_GDB_STUBS
requires CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
requires ! CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
requires ! CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
requires ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
requires ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
no_define
description "
This option enables the building of the GDB stubs for the
board. The common HAL controls takes care of most of the
build process, but the final conversion from ELF image to
binary data is handled by the platform CDL, allowing
relocation of the data if necessary."
make -priority 320 {
<PREFIX>/bin/gdb_module.bin : <PREFIX>/bin/gdb_module.img
$(OBJCOPY) -O binary $< $@
}
}
Then do:
% ecosconfig new awt60 stubs
% ecosconfig tree
% make
In install/bin you'll find gdb_module.bin which should work if you got
everything else right (i.e., memory map, simple serial driver).
But obvsiouly, there's no such thing as a guarantee that it'll work
the first time.
Jesper