BRT Community

Please login or register.

Login with username, password and session length
Advanced search  

News:

Welcome to the Bridgetek Community!

Please read our Welcome Note

Technical Support enquires
please contact the team
@ Bridgetek Support

Please refer to our website for detailed information on all our products - Bridgetek - Bridging Technology

Author Topic: BRT81x blob and SPI RAM instead of Flash  (Read 11027 times)

TSL

  • Newbie
  • *
  • Posts: 1
    • View Profile
BRT81x blob and SPI RAM instead of Flash
« on: July 03, 2020, 12:48:22 AM »

Hello.
I want to address my questions directly to the Bridgetek team.

Question 1.
Espressif has produced the SPI PSRAM recently. It is 64Mbit in size and could make a great option for RAM_G extension.
Is it possible to use it with BRT81x?
The PSRAM has a partly compatible to SPI Flash generic command set, it has QSPI mode, but the detect may be complicated because ID commands differ. I'm afraid that CMD_FLASHATTACH will simply fail with PSRAM.
I would greatly appreciate the authoritative comment on this.

Question 2.
Is it possible to modify or recompile the blob to create an own version for custom purposes? E.g. the case above needs 8 dummy cycles for PSRAM to read in QSPI fast mode.
What is blob format? Is it an executable code or a set of parameters? I couldn't find any info on this in the official documentation.
Could you please clarify these aspects?

Thank you in advance.
Logged

Rudolph

  • Sr. Member
  • ****
  • Posts: 391
    • View Profile
Re: BRT81x blob and SPI RAM instead of Flash
« Reply #1 on: July 03, 2020, 05:04:54 PM »

I would apreciate a little information about these Blobs as well.
But mostly because I already found three SPI NOR FLASH chips that do not fully work with EVE.

And sure, the more options the better, MRAM could be intersting as well.

What would be the benefit of PSRAM though?

You already can use the FLASH as extension of G-RAM by storing for example images and glyph files for fonts
and directly use these from FLASH wthout moving them to G-RAM first.

PSRAM is volatile, so you have to write your data after every power down.
You would need to provide some other mass-storage device to load the data from.
Then the size is rather limited with 64MBit at best while you can get 256MBit FLASH even in the simple SOIC-8 packages.

Okay, there is one thing, you can write a lot faster to PSRAM than to FLASH.
But there is a catch.
First of all it is still rather slow at <20MB/s, more likely in the region of 10MB/s.
Where I do get my numbers from? Reading from FLASH currently works at about 10MB/s according to tests with quite a number of chips and Progflash.exe.

And then you only have one bus so writing to any external memory while at the same time displaying something should be in the best case a huge bottleneck for writing and in worst case almost impossible to implement for Bridgtek.
If your application is to dynamically store full sized bitmaps and switch between these you probably would either be disappointed how slow writing is or that the display is glitching out every time data is written.


Yes, the first 1280x800 displays are already anounced.
And a single "full" color 16 bit image would need 2 megs of RAM_G.
So the disparity between the size of RAM_G and the display resolution is getting worse.

It would be nice to see RAM_G expanded to 0x1fffffh.


But then we have ASTC now as well and displaying images in ASTC also works from RAM_G.
I just converted a 560x560 image to ASTC 8x8.
The uncompressed data in RAM_G has a size of only 78400 bytes.
As raw data this would be 627200 Bytes.
EVE quite happily displays that right now on an EVE3-50G here from RAM_G and also rotating it does work fine.

For the heck of it I grabbed a random image from the internet, it has 1400x792 pixels.
As ASTC 8x8 it needs 277200 bytes of RAM_G.
So I could almost put four of these monstrosities into RAM_G.

Edit: I also put the 1400x792 image into RAM_G now and EVE displays it at x = -300 and y = 65 while rotating it around its center. Zooming it by a factor of 1.456 at the same time while rotating it? No problem.
« Last Edit: July 03, 2020, 05:50:25 PM by Rudolph »
Logged

BRT Community

  • Administrator
  • Hero Member
  • *****
  • Posts: 743
    • View Profile
Re: BRT81x blob and SPI RAM instead of Flash
« Reply #2 on: July 06, 2020, 02:47:49 PM »

Hello,

Question 1.
Espressif has produced the SPI PSRAM recently. It is 64Mbit in size and could make a great option for RAM_G extension.
Is it possible to use it with BRT81x?
The PSRAM has a partly compatible to SPI Flash generic command set, it has QSPI mode, but the detect may be complicated because ID commands differ. I'm afraid that CMD_FLASHATTACH will simply fail with PSRAM.
I would greatly appreciate the authoritative comment on this.

Question 2.
Is it possible to modify or recompile the blob to create an own version for custom purposes? E.g. the case above needs 8 dummy cycles for PSRAM to read in QSPI fast mode.
What is blob format? Is it an executable code or a set of parameters? I couldn't find any info on this in the official documentation.
Could you please clarify these aspects?


Currently using an external PSRAM IC to extend RAM_G is not supported by EVE. We are looking into the possibility of adding this feature for future versions of EVE. Was this the only reason you were looking into using this PSRAM IC?

Best Regards,
BRT Community
Logged