This is the mail archive of the ecos-patches@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]
Other format: [Raw text]

Re: OMAP/innovator RedBoot port


Patrick Doyle wrote:
Anyway, I have (perhaps) attached a patch file against today's ecos.db and a
tarball containing my implementation of the HAL, flash, and ethernet
packages for the Innovator.  You should be able to apply the patch file to
ecos.db, unpack the tarball in the packages directory, and build ROM, RAM,
and SRAM versions of RedBoot.  (FWIW, the "SRAM" version of RedBoot is one
that is configured as if it were a ROM version of RedBoot, but runs solely
within internal SRAM.
Fine, although be careful of the conditionals that test CYG_HAL_STARTUP_ROM/RAM/ROMRAM in the arch HAL at least.

I added a ChangeLog at the top level and the following entry in the NEWS file:
* Port added for Texas Instruments ARM9 OMAP Innovator board. Contributed by
Patrick Doyle of Delphi Communication Systems.

Other comments: DCSPRI_HAL_ROM_MLT. Although many moons ago we originally thought the prefix would indicate the company, in fact this is too namespace polluting. Would you mind just using the CYG prefix throughout? Cygnus doesn't really exist any more anyway :-). Remember to change it in the .ecm files too.

If the ETH device driver is appropriate for the innovator, it (and the LAN91CXXX driver) should be in the target definition in ecos.db rather than just the .ecm files.

hal_diag.c contains a nasty "Confidential material and subject to Non-Disclosure." licence thing. I don't really feel I can check this in until you confirm your employer is happy with this (despite the assignment). I will then remove that copyright and licence comment before I check it in. Make sure they understand that's what will happen :-).

In innovator_misc.c it should be okay to include <string.h> rather than define memset explicitly. Also, I'm somewhat wary of bit fields in structs as sometimes the alignment of such things has been known to change between compiler releases; but I don't want to press the issue as it isn't a big deal.

I know you based the eth driver on the flexanet, but you might want to consider looking at the method used to configure the ESA/MAC address in, say, devs/eth/cl/cs8900a/current/src/if_cs8900a.c in cs8900a_init(), and an accompanying example like devs/eth/arm/cerf/current/include/devs_eth_arm_cerf.inl. i.e. allow redboot dynamically to provide it, or use compile time config, or an EEPROM, in that order. This then gets rid of the CYGSEM_DEVS_ETH_ARM_INNOVATOR_REDBOOT_ESA option. Obviously you'd need to tweak the lan91cxx driver (and possibly fix up the flexanet driver a tad) for this.

Apart from that this is fine, apart from the bits that are obviously work in progress :-), but you've marked most of those anyway.

>It's what I use to install RedBoot the first time on
a new Innovator -- I'll be writing up more detailed documentation on getting
RedBoot/eCos on the Innovator shortly).
Thanks. The redboot Docbook documentation is the appropriate place for the redboot stuff. Obviously mention the new redboot commands (but only in the port-specific part, not the main section). The eCos stuff can go in a README in the platform HAL for the moment as we're still resolving what to do about individual port documentation.

Jifl



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