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

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - vdc

Pages: 1 2 [3]
31
Hi all.

I just got a new EVE4 from Riverdi (RVT70HSBNWC00-B) with 1024 x 600 resolution.

I tried to convert an image to RGB565 bitmap with EVE Asset Builder and I got message that the size of the .raw file from the 1024x600 images is exceeds 1MB. I guess because the RAM_G only have 1MB.

Is there any possible way to convert 1024x600 image file to bitmap that less than 1MB so it can be able to use Gpu_CoCmd_FlashRead to display an image from the flash with this resolution.

I think about other format like PALETTED565 but I found that the RGB565 give the best resolution on my project.

RGB565 is good because it easy to run on MCU code

---------------------------------------------------
Screen_PreCode();

Gpu_CoCmd_FlashRead(phost, RAM_G, 4096, 768000);
Gpu_CoCmd_SetBitmap(phost, RAM_G, RGB565, 800, 480);
App_WrCoCmd_Buffer(phost, BEGIN(BITMAPS));
App_WrCoCmd_Buffer(phost, VERTEX2II(0, 0, 0, 0));
App_WrCoCmd_Buffer(phost, END());

Screen_PostCode();
---------------------------------------------------

This code work perfect for 800x480 since the image I converted to bitmap is less than 1MB.

Any suggestion for 1024x600 resolution? I do see Riverdi also released an 1280x800 resolution on EVE4.



Best regards,

32
Discussion - EVE / Re: BT816 Read CRC Flash
« on: February 11, 2021, 05:56:10 PM »
Hi Rudolph,

You know what is the best way to get the CRC-32 for the entire Flash?

Currently, I can only read 1 MB (1048576 bytes) from Attach Flash to the RAM_G and do the MEMCRC from the RAM_G. And then I use the MEMCRC to get the CRC-32 from the RAM_G, but this only give me the CRC-32 from 1 MB of the Flash. I'm having 16MB now, so I will need to read it 16 time and get 16 difference CRC-32 values.

I use the HxD to calculate the whole .bin file and get one CRC-32 value for the .bin file that will be download to the attach flash.

Is there any other way to add all the CRC-32 that I got from MEMCRC so that final value will equal to the CRC-32 from .bin file?

I have been searching on google but no success.

I'm thinking about reading every bytes from RAM_G and manual do the CRC-32 but I think this will take too long since I can only read 32-bits at one with rd32 command from MCU.


Here is my code from Tiva C
=====================
    Gpu_CoCmd_FlashRead(phost, RAM_G, 0, 1048576);  // Read 1MB from Flash to RAM_G
    while(EVE_busy());  // Wait until transfer is complete

    cmdoffset = Gpu_Hal_Rd16(phost, REG_CMD_WRITE);
    Gpu_CoCmd_MemCrc(phost, RAM_G, 1048576, 0);
    while(EVE_busy()); //wait till the command is complete

    read = Gpu_Hal_Rd32(phost, RAM_CMD + cmdoffset + 12); //RAM_CMD
    UARTprintf("CRC: 0x%08x\r\n", read);
======================



Best regards,

33
Discussion - EVE / Re: BT816 Read CRC Flash
« on: February 10, 2021, 02:06:17 PM »
Hi Rudolph,

I just find out that I don't have the EVE_busy function that why the first byte I read I incorrect.

However, I have one question. I look at your EVE_busy function, I see that you use REG_CMDB_SPACE for check the busy.

Why you use that?

I'm using the Gpu libary from BRT which they have a function call Gpu_Hal_WaitCmdfifo_empty

==================
void Gpu_Hal_WaitCmdfifo_empty(Gpu_Hal_Context_t *host)
{
    while(Gpu_Hal_Rd16(host,REG_CMD_READ) != Gpu_Hal_Rd16(host,REG_CMD_WRITE));

    host->cmd_fifo_wp = Gpu_Hal_Rd16(host,REG_CMD_WRITE); // update fifo to 0
}
===================

This also will check if the EVE is busy.

I just wonder why you use difference way to check the EVE busy by REG_CMDB_SPACE  and REG_COPRO_PATCH_DTR?

Best regards,


34
Discussion - EVE / Re: BT816 Read CRC Flash
« on: February 05, 2021, 02:42:55 PM »
Hi  Rudolph,

Thank you for the reply.

based on your code, I have able to read the data from the Flash. Just somehow the first byte I read is 0xFF

My bin file that I create from the Asset Builder that contain the .blob and .raw file.
unified.blob                             : 0    : 4096
B_colorpulse_j84cnclv_800x480_RGB565.raw : 4096 : 768000

I use the Hex Editor to read the HEX value from the bin file.
0x00: 70 df fb 92 1e 01 00 00 e8 a6 30 00 18 01 10 00
0x1F: 00 00 f8 da 4a a7 2a ff ff ff ff ff ff ff ff ff

Code from my MCU

===============================
    Gpu_CoCmd_FlashRead(phost, 0, 0, 4*4);  // read first 16 bytes from the Flash

    for(i = 0; i < 20; i++) {
        // read 1 byte from RAM_G
        read = Gpu_Hal_Rd8(phost, RAM_G + i);
        UARTprintf("%d: 0x%02x\r\n", i, read);
    }
===============================

And I got

0: 0xff
1: 0xdf
2: 0xfb
3: 0x92
4: 0x1e
5: 0x01
6: 0x00
7: 0x00
8: 0xe8
9: 0xa6
10: 0x30
11: 0x00
12: 0x18
13: 0x01
14: 0x10
15: 0x00
16: 0xff
17: 0xff
18: 0xff
19: 0xff


It is correct from the 2nd byte. But I don't know why the first byte is 0xFF, it should be 0x70. Not sure where I did wrong.

Also, for the MEMCRC command. It say that it can computes a block of memory. I use the winbond flash. And 1 block = 64Kb.

EVE_cmd_memcrc(0x1E0000,65535);  ---> will it do the job?

Thank you so much.

35
Discussion - EVE / BT816 Read CRC Flash
« on: February 03, 2021, 07:29:16 PM »
Hi all,

Is there any way that I can read the CheckSum from the Flash on EVE3 module?

Right now, I'm storing all the image, custom font on the FLash on EVE3 module. But I need to find a way to verify that the data on the flash is correct version with my MCU program. Otherwise, it will display wrong information that I want.

Best regards,

Pages: 1 2 [3]