Forum Discussion
Altera_Forum
Honored Contributor
20 years ago --- Quote Start --- originally posted by wmoyer@Sep 19 2005, 05:00 PM -add 0x10000 to the config data size (see the epc memory map.) --- Quote End --- 0x10040 for the EPC16 at least. Those extra 0x40 bytes are for the option settings. Also, you skipped the bit about creating a custom component for the EPC4/8/16 in SOPC Builder. There are a couple of gotchas. One is that, after creating the component, you have to go into its class.ptf file, go to the CLASS/MODULE_DEFAULTS/SLAVE/SYSTEM_BUILDER_INFO section, and add the line: Is_Nonvolatile_Storage = "1"; This keeps it from giving you grief about the reset vector being in "volatile" memory, and this flag is also used in both the SOPC builder and the IDE for determining which memory devices are valid choices for things like the text/rodata/rwdata sections. (It's also used in other places like the eCos/Nios2 Config Tool.) Another is that you have to define the component's bus interface as an Avalon Tristate Bus, and add the appropriate bridge to the system. You need to make sure you wire the right address lines from the bus bridge to the pins on the EPC4/8/16; we were off by a bit the first time we tried (EPC16 has A20-A0, data sheet says not to use A20; bridge has A20-0; the correct way to wire it was connecting the bridge's A[20:1] to the EPC16's A[19:0]). Note that the LSB of the bridge's address always selects bytes. I'm kind of impressed that you made this work, given that Altera doesn't have the data sheet for the underlying flash chip in the EPC8.