Hi all,
I am running the AM437x Industrial Development Kit (TMDXIDK437X) with Starterware (PDK AM437x v1.0.3) and am having trouble accessing the full memory-mapped address space of the on-board QSPI flash (64MB).
The QSPI address space is 64MB (0x3000_0000 to 0x33FF_FFFF) however when interrogating the address space via the CCS memory browser, the contents of the memory appears to 'wrap' every 16MB - i.e. the contents of address 0x3100_0000 appears identical to that of 0x3000_0000, 0x3200_0000 and 0x3300_0000 despite different values being written to these addresses using the QSPILibWrite function.
When using the QSPILibRead function the expected results are returned. In my application I wish to access this memory space directly without calling the driver. The following two lines are therefore giving different values (for testDataRead):
QSPILibRead(&qspiLibInfo, 0x1000000, (uint32_t) &testDataRead, 4);
testDataRead = *((volatile uint32_t *)0x31000000);
I have tried setting the NUM_A_BYTES field in the QSPI_SETUP_REG_0 register to 3h (send 4 address bytes) but remain unable to access the full address range.
Any assistance in understanding this behavior gratefully received.
Kind regards,
David