Forum Rule: Always post complete source code & details to reproduce any issue!
Results 1 to 4 of 4

Thread: Teensy 4.1 + Audio Shield, two or three PSRAM chips?

  1. #1
    Member dimitre's Avatar
    Join Date
    Aug 2016
    Location
    São Paulo
    Posts
    84

    Teensy 4.1 + Audio Shield, two or three PSRAM chips?

    Hello, I'm mounting a Teensy 4.1 + Audio Shield and soldered two PSRAM chips into the Teensy.
    I was thinking of soldering another one in the Audio Shield memory slot but I suppose it is not easy to use together with the Teensy 4.1 slots (EXTMEM)

    Is it possible to use the three together as one memory?
    Thanks

  2. #2
    Senior Member PaulStoffregen's Avatar
    Join Date
    Nov 2012
    Posts
    25,045
    Quote Originally Posted by dimitre View Post
    Is it possible to use the three together as one memory?
    No, definitely not.

    There is currently no support at all for 8MB PSRAM on the audio shield. Even if it were added, RAM performance over single bit SPI is slow and doesn't work as normal memory like EXTMEM, so it's pretty unlikely anyone will bother to write that code. The code which exists for RAM on the audio shield uses older RAM chips meant for use with the much older Teensy models (like Teensy 3.0) which had very little RAM. Even then, it only supports simple delay, and incurs a lot of overhead to do so.

    Just use 2 PSRAM on the bottom side of Teensy 4.1. No practical way exists to use a 3rd PSRAM chip.

    With Teensy 4.0 & 4.1, the only type of chip which makes sense to add on the audio shield is SPI flash.

  3. #3
    Member dimitre's Avatar
    Join Date
    Aug 2016
    Location
    São Paulo
    Posts
    84
    Thank you Paul!

  4. #4
    Member dimitre's Avatar
    Join Date
    Aug 2016
    Location
    São Paulo
    Posts
    84
    Everything working here!
    one more doubt here about memory size.
    I'm using two chips, 16Mbytes total.

    Does it reflect in 16000000 total usable bytes? or less?
    In this case I suppose it reflects in an array of int16_t with the size of 8000000 right?

    Is this a good way of dividing the available memory in three delay lines?
    Code:
    #define TOTAL_PSRAM 8000000  
    #define SLICERLINE_LEN TOTAL_PSRAM / 3  
    EXTMEM int16_t delay_line[3][SLICERLINE_LEN] = {};
    Thank you!

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •