Forum Discussion
Altera_Forum
Honored Contributor
20 years agoaqura:
Ran into this myself today. I am using the Cyclone II 2C35 Dev board. The documantation states that the flash_byte_n line is tied low. This puts the flash in eight bit mode. So, in altera_avalone_am29lv065d_flash.c I added: # define CYGNUM_FLASH_16AS8 (1) You need to add a device descriptor in the following file ( ignore my project path): c:\projects\pmod\software\ecos\romram_install\include\cyg\io\flash_amxxxxx_parts.inl # if CYGNUM_FLASH_WIDTH == 8 . . .# ifdef CYGHWR_DEVS_FLASH_AMD_AM29LV128 { // AM29LV128 long_device_id: true, device_id : FLASHWORD(0x7e), device_id2 : FLASHWORD(0x12), device_id3 : FLASHWORD(0x00), block_size : 0x10000 * CYGNUM_FLASH_INTERLEAVE, block_count: 256, device_size: 0x1000000 * CYGNUM_FLASH_INTERLEAVE, base_mask : ~(0x1000000 * CYGNUM_FLASH_INTERLEAVE - 1), bootblock : false, banked : false, bufsiz : 16 }# endif Within the configuration tool under AMD AM29XXXXX FLASH memory support: check AMD AM29LV128 flash memory note that AMD AM29LV065D should remain checked. Just for grins within: c:\project\pmon\software\ecos\romram_install\include\cyg\io\flash\flash_amxxxxx.inl in the function: flash_query(void* data) I added the following dia_print // Manufacturers' code id[0] = *(FLASH_P2V(ROM+FLASH_VendorID_Addr)); // Part number id[1] = *(FLASH_P2V(ROM+FLASH_DeviceID_Addr)); id[2] = *(FLASH_P2V(ROM+FLASH_DeviceID_Addr2)); id[3] = *(FLASH_P2V(ROM+FLASH_DeviceID_Addr3)); diag_printf("ID = %x %x %x %x", id[0], id[1], id[2], id[3]); If all goes well it should print ID = 01 7e 12 0 Hope this helps