I want to add external flash to a project based on the Teensy LC and am wondering what people's preferences are or if there are some chips people love.
Something like this seems perfect to add 32Mbit of NV storage, and since it's SPI I'm sure I can write a library for it:
https://www.digikey.com/product-det...ogies/AT25SF321-SSHD-T/1265-1279-1-ND/6827527
But I am curious about whether there are alternative control methods that will use less processor overhead, is DMA a thing I should be thinking about? The datasheet says it supports "dual and quad output read" and I notice the LC has 2 SPI ports, but only one has FIFO buffer so I'm not entirely sure the best approach for this processor.
The intent is mostly for storing complex control scripts so write infrequently read frequently (and ideally read quickly, but this isn't intended to be ultra high end).
I've never programmed a DMA using program; short of reading the datasheet for the microcontroller, is there a tutorial or forum post that's a good intro? Can I configure it to automagically copy received data from two SPI ports into onboard RAM without wasting CPU cycles? Or am I overthinking things?
Something like this seems perfect to add 32Mbit of NV storage, and since it's SPI I'm sure I can write a library for it:
https://www.digikey.com/product-det...ogies/AT25SF321-SSHD-T/1265-1279-1-ND/6827527
But I am curious about whether there are alternative control methods that will use less processor overhead, is DMA a thing I should be thinking about? The datasheet says it supports "dual and quad output read" and I notice the LC has 2 SPI ports, but only one has FIFO buffer so I'm not entirely sure the best approach for this processor.
The intent is mostly for storing complex control scripts so write infrequently read frequently (and ideally read quickly, but this isn't intended to be ultra high end).
I've never programmed a DMA using program; short of reading the datasheet for the microcontroller, is there a tutorial or forum post that's a good intro? Can I configure it to automagically copy received data from two SPI ports into onboard RAM without wasting CPU cycles? Or am I overthinking things?