i'm interesting on how to correctly select SPI flash for microcontroller.
specs:
High-Performance 32-bit RISC CPU:
- MIPS32® M4K® 32-bit core with 5-stage pipeline
- • 80 MHz maximum frequency
- • 1.56 DMIPS/MHz (Dhrystone 2.1) performance at zero Wait state Flash access
- • Single-cycle multiply and high-performance divide unit
- • MIPS16e® mode for up to 40% smaller code size
- • Two sets of 32 core register files (32-bit) to reduce interrupt latency
- • Prefetch Cache module to speed execution from Flash
Following are some of the key features of SPI module:
- Master and Slave modes support
- Four different clock formats
- Enhanced Framed SPI protocol support
- User-configurable 8-bit, 16-bit and 32-bit data width
- Separate SPI FIFO buffers for receive and transmit
- FIFO buffers act as 4/8/16-level deep FIFOs based on 32/16/8-bit data width
- Programmable interrupt event on every 8-bit, 16-bit and 32-bit data transfer
- Operation during CPU Sleep and Idle mode
- Fast bit manipulation using CLR, SET and INV registers
my concerns:
How many bits/pins SPI interface would be the most optimal (32, 16, 8) ?
What is the maximum speed can I get for read/write ?
Should I consider any other interfaces(PMP, Serial, I^2C, etc.) or memory types for best performance?
Purpose: possible code execution , storing audio files ( badgering from network ). I was looking for about 256-512 mb Thank you.