Hi Me,
FYI, I contacted Digi, and they set me straight:
In reviewing what you sent in I can see a few things wrong. Your port size should be 8 bit (10), instead it's set to 32 bit (00), you need to set bcyc, the mask you're using is incorrect, currently it's set for 0xF3FFE when it should be set for 0x0DFFF (try writing this in the register instead of trying to create the mask). Also, the base address I've normally seen used (the one we specify in the programmers guide) is 0x03000000, try using that one instead of 0x07000000 incase the bootstraping is causing a conflict.
One additional piece of information, when you have the debugger attached, it uses the same lines as some of the address lines, so you won't be able use the debugger and properly read/write (although I would expect to see the WE/OE lines wiggle).
So I have changed my code to:
// set Size of Memory Map to 0x2000 (8k)
narm_write_reg(NARM_CSOR_REG, NARM_CSOR3_ADDR,mask,0x0dfff);
// set 8-bit data
narm_write_reg(NARM_CSOR_REG, NARM_CSOR3_ADDR, ps, CSOR_8_BIT_PORT_SIZE);
// set wait states
narm_write_reg(NARM_CSOR_REG, NARM_CSOR3_ADDR,wait, 15);
narm_write_reg(NARM_CSOR_REG, NARM_CSOR3_ADDR, bcyc, 10);
// set base address to be 0x3000000
narm_write_reg(NARM_CSAR_REG, NARM_CSAR3_ADDR,base, 0x3000000 >> CS_BASE_MASK_SHIFT);
// unset write protect
narm_write_reg(NARM_CSAR_REG, NARM_CSAR3_ADDR,wp, FALSE);
//set valid
narm_write_reg(NARM_CSAR_REG, NARM_CSAR3_ADDR,v, TRUE);
I see some action on the address bus. I'll need to do some more testing, but I may have this resolved.
Cheers,
-Myself