Bss not writeable after start (sporadic)


i want use some .bss section via ghs pragmas for a bootloader jump var in retention ram.

but the vars inside my shared struct are only written sometimes.

A voltage reset helps  it works in 30/100 cases.

But often my vars are not writable and seem to be locked.

Parents Reply Children
  • The RAM on RH850 is ECC protected, and the ECC applies to 32-bit words. Consequently, you must initialize the RAM by writing every 32-bit RAM location before a 16-bit or 8-bit write would work correctly, this would need to be done for any reset type where the RAM does not retain its contents (see device U/M for more details).

  • Thanks ECC-Init was used alreday also wrting in every RAM-Location. But i wanted to use this parts as uninitialized. And it shouldn't be cleared in case of an MCU Reset. We saw it working with debugger attached but without only working sometimes.

    For me using the Var as 32bit inside an union and struct was fine and did work correctly.

    # pragma ghs section bss=".test"
    # pragma ghs startdata
    extern union jumpToBootloaderU jumpToBootloaderGlobal_u;
    # pragma ghs enddata
    # pragma ghs section