Andrew Lunn wrote: > On Thu, Nov 06, 2008 at 09:23:28PM +0300, Evgeniy Dushistov wrote: >> Hi, >> >> I want to see working ecos on at91sam9263ek board. >> As far as I know, there is no freely available source code of ecos port on >> this hardware, am I right? (I know about ecoscentric, but it is not >> freely available). >> >> May be anybody is working on such kind of port? >> >> Right now I'm reading docs about cdl language, and stuck on which >> variant to choose: create directory at91sam9 in >> packages/hal/arm/arm9 and write hal package from scratch >> or use packages/hal/arm/at91 stuff, at91sam9263ek is very similar >> to at91sam7s,
I don't think it's that similar. At least, it seems similar at a high-level, but differs in most of the details once you get into it. The register layouts differ in many places between the SAM9 variants even. I think you'd end up with huge amounts of ifdefs. I recommend the former approach. If there is anything that can sensibly be shared, perhaps it could be broken out into a separate package. >> but >> packages/hal/arm/at91/var/current/cdl/hal_arm_at91.cdl >> contain things like "implements CYGINT_HAL_ARM_ARCH_ARM7", >> may be someone, who has more experience than I (i.e. > 0) with ecos >> configuration framework, could suggest which solution to choose? > > You could change this. Do something like > > cdl_option CYGHWR_HAL_ARM_AT91_ARM7 { > display "ARM7 core" > no_define > calculated { is_substring("R40807 R40008 M42800A M55800A JTST > AT91SAM7S", CYGHWR_HAL_ARM_AT91) } > implements CYGINT_HAL_ARM_ARCH_ARM7 > } > > cdl_option CYGHWR_HAL_ARM_AT91_ARM9 { > display "ARM9 core" > no_define > calculated { is_substring("AT91SAM9", CYGHWR_HAL_ARM_AT91) } > implements CYGINT_HAL_ARM_ARCH_ARM9 > } No need for that. If it's SAM9 then CYGPKG_HAL_ARM_ARM9 will have been brought into the configuration courtesy of the ecos.db target template. Jifl -- eCosCentric Limited http://www.eCosCentric.com/ The eCos experts Barnwell House, Barnwell Drive, Cambridge, UK. Tel: +44 1223 245571 Registered in England and Wales: Reg No 4422071. ------["Si fractum non sit, noli id reficere"]------ Opinions==mine