I am puzzling over how the eCos flash drivers are supposed to work when using 16-bit wide flash devices. I'm using an ARM architecture (ARM7TDMI, ARM940T), and the AMD AM29LV160 flash device connected in the 16-bit wide mode (CYGNUM_FLASH_WIDTH=16).
Looking at the flash driver code, this defines the flash_data_t as a 16-bit type. This results in all accesses to the flash device to be performed as 16-bit reads/writes. The flash driver defines some special addresses (FLASH_Setup_Addr1, FLASH_Setup_Addr2, etc.). At least one of these will be defined as an odd address. This will result in an unaligned transfer, causing a DATA ABORT exception. What am I missing here? Jay -- Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss