Configuration:
H/W: AM437x IDK (TMDXIDK437X) using Macronix MX66L51235FMI-10G 512Mbit QSPI flash
S/W: CCS 6.1.2.00015, am437x PDK 1.0.4, SYS/BIOS 6.45.1.29
Hello,
I am using the AM437x IDK to develop a SYS/BIOS application requiring access to the full 64MB address space offered by the on-board QSPI flash. I am experiencing problems with using the supplied flash driver to access memory addresses higher than 16MB (i.e. requiring 4-byte addressing).
For example, taking the supplied example project 'QSPI_BasicExample_idkAM437x_armExampleProject' and modifying the project to perform its test read/write operations at 16MB offset (instead of 0MB offset) results in invalid data being returned.
Changes made to the project to produce this error state are as follows:
(main_qspi_flash_read_write.c)
//unsigned int addrValue = 0x000000U;
unsigned int addrValue = 0x1000000U;
//unsigned int blockNumber = 0U; /* Block number */
unsigned int blockNumber = 256U; /* Block number */
(.cfg)
/* Define the base address of the 1 Meg page the peripheral resides in. */
var peripheralBaseAddr = 0x31000000;
/* Configure the corresponding MMU page descriptor accordingly */
Mmu.setFirstLevelDescMeta(peripheralBaseAddr,
peripheralBaseAddr,
peripheralAttrs);
Are there any issues which would prevent me using the SYS/BIOS driver in this manner? I am able to successfully access the entire address space of the device using the equivalent Starterware driver.
Thank you in advance for your input.
David