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

Main Menu

List of Coprocessor Faults

Started by yan.rosh, July 01, 2024, 02:12:55 PM

Previous topic - Next topic

yan.rosh

Hi,

We had some issue with the flash connected to the BRT, and the cmd_flashupde() command failed.
Using the CMDB_SPACE register we saw that there was an error in the coprocessor (REG_CMDB_SPACE & 0x03 != 0).
We read the error, and got: "illegal flash address in cmd_flashupdate()"

In the programming manual (AN033) there's a table with all the error strings the coprocessor generates (table 26), but the error we got is not in there...
We're using AN033 version 2.4.

While this bug was caused by our flash and not the BRT chip, we still wanted to know how we could find info on this error message.
Is there an updated list somewhere?
Are they any more messages that are not in table 26 that we might encounter?

Thank you in advance :)
Yan

BRT Community

Hi,

Could you give an example of your call to Flashupdate? It may be an issue with the data alignment in your call.

Do other flash commands such as Read work as there could also be an issue in the connection to the flash. 

You can check the status by detaching and reattaching the flash as shown below:

00: FLASH_STATUS_INIT
01: FLASH_STATUS_DETACHED
10: FLASH_STATUS_BASIC
11: FLASH_STATUS_FULL


CMD_FLASHDETACH();
//await until command completes (RAM_CMD is empty)
Flash_Status = MemRead8(REG_FLASH_STATUS);
//Check the flash status value == 1

CMD_FLASHATTACH();
//await until command completes (RAM_CMD is empty)
Flash_Status = MemRead8(REG_FLASH_STATUS);
//Check the flash status value == 2


// if the BLOB is already loaded you can also switch to full speed here
CMD_FLASHFAST(0);
//await until command completes (RAM_CMD is empty)
Flash_Status = HAL_MemRead8(EVE_REG_FLASH_STATUS);
//Check the flash status value == 3

Best Regards, BRT Community

yan.rosh

Hi,

Thank you for the detailed reply, but I'm pretty sure that there is no issue with the function that write to the flash, it's working on 50+ units so far...
And the issue with the faulty flash only raised a concern over the missing documentation.

Is there an updated document with all the return values from the coprocessor?
Each command will have a different way to handle it, and having a full list will help us recover from errors more gracefully.


Thank you again for the info,
Yan