[ECOS] Porting to new ARM platform

Jesper Skov jskov@redhat.com
Wed Apr 26 00:05:00 GMT 2000


>>>>> "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


More information about the Ecos-discuss mailing list