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: List of Coprocessor Faults  (Read 1123 times)

yan.rosh

  • Newbie
  • *
  • Posts: 2
    • View Profile
List of Coprocessor Faults
« on: July 01, 2024, 02:12:55 PM »

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
Logged

BRT Community

  • Administrator
  • Hero Member
  • *****
  • Posts: 770
    • View Profile
Re: List of Coprocessor Faults
« Reply #1 on: July 05, 2024, 01:28:03 PM »

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
Logged

yan.rosh

  • Newbie
  • *
  • Posts: 2
    • View Profile
Re: List of Coprocessor Faults
« Reply #2 on: July 08, 2024, 12:54:11 PM »

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

Logged