I can't seem to get the EMI up and running correctly - and there's not much documentation about it (I'm using the DSP56F805, but I don't think my query is chip-specific)
I need to be able to address, read & write to an external memory device.
In PE (CPU Bean) I've enabled the External bus, Program Memory mode is 0B, Data Memory is Internal & External, OMR Initialise yes. Data bus width 16 bits, Address bus width 16 bits, 4 wait states, Drive enabled.
I've set 1 external memory block, with a start address of 0x2000, memory size of 0xFF, and type as RAM.
I set the start address at 0x2000 because in the memory map there's a section of Data memory labelled "External" and listed as 'not used'. It will let me set the type as ROM but only when I change the start address to the area listed as External & not used in the "Code" section of the Memory Map.
I'm not 100% sure about which option I should choose?
Assuming I've set it up correctly, how would I access the memory?
Say I wanted to access the first 2 words of the memory associated with the external device, would the following be correct?
#define FIRST_WORD_OF_DEVICE *((volatile word *)0x00002000)
#define SECOND_WORD_OF_DEVICE *((volatile word *)0x00002001)
FIRST_WORD_OF_DEVICE = 0xabcd;
SECOND_WORD_OF_DEVICE = 0xef12;
Temp = FIRST_WORD_OF_DEVICE;
Assuming that's correct, what address would be output on the address bus when accessing address 0x2000? Does 0x2000 appear on the bus I/O address lines, or 0x0000?