This is the mail archive of the ecos-devel@sourceware.org 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] |
Rutger Hofman wrote:[snip]Jonathan Larmour wrote:
In E's case, in the EA LPC2468 port example, they have the following in the platform HAL for a port (although it could be a package instead):
[various functions/macros defined which are used by k9fxx08x0x.inl] #include <cyg/devs/nand/k9fxx08x0x.inl> CYG_NAND_DEVICE(ea_nand, "onboard", &k9f8_funs, &_k9_ea_lpc2468_priv, &linux_mtd_ecc, &nand_mtd_oob_64);
which succinctly brings together the chip driver, accessor functions, ECC algorithm, and OOB layout. It becomes easy for a board port to choose some different chips/layouts/ECC. There's flexibility for the future in that.
With R's implementation, there seems to be much more code involved. And I sort of see why there's more code, and I sort of don't. Not just in the generic layer, but in the drivers as well, at least looking at the bfin chip, and I don't think the differences are completely explained by the hardware properties of each NFC (but I'm very willing to be corrected!). Comparing E's k9_read_page() along with everything it calls, with R's bfin_nfc_data_read() along with everything it calls (and those call etc. not just in bfin_nfc.c but also nand_ez_kit_bf548.inc[1]) there's a huge difference. If nothing else from what I can tell this may then require a much larger porting effort, compared to E's.
I see that some of the reasons for larger code in R are due to run-time testing of hardware properties: 8 vs 16-bit bus width, SP vs LP vs ONFI. I also note that E's implementation doesn't do as much error checking as I think it ought to, especially in the Samsung K9 chip driver. But that's not all of it the difference.
[1] which should really be .inl for consistency in eCos but that's a detail
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |