HERE4 Firmware Update Issue – Hardware Version 4.19

Hello everyone,

I am facing an issue while trying to update the firmware on my CubePilot HERE4 GPS.

My HERE4 has hardware version 4.19. I am trying to update the firmware to a newer GNSSPeriph release, but after the firmware update the HERE4 gets stuck with a blinking red LED and does not start normally.

What I have tried

I have tried updating the firmware using Mission Planner, but the firmware update gets stuck during the process.

I then tried recovering/updating the firmware using ST-Link and STM32CubeProgrammer.

I have tried the following firmware versions:

  • v1.15.2 – Works normally

  • v1.15.7 – HERE4 gets stuck with blinking red LED

  • v1.15.8 – HERE4 gets stuck with blinking red LED

  • v1.15.9 – HERE4 gets stuck with blinking red LED

The older v1.15.2 firmware works, but I would like to use a newer firmware version.

ST-Link flashing

When using ST-Link, I am flashing the bootloader and application separately.

My understanding of the memory layout is:

Bootloader:
0x08000000

Application firmware:
0x08040000

I am currently flashing the bootloader at 0x08000000 and the firmware/application at 0x08040000.

However, after flashing v1.15.7, v1.15.8, or v1.15.9, the HERE4 does not boot correctly and remains in the blinking-red-LED state.

My questions

  1. Is hardware version 4.19 compatible with the latest HERE4 firmware versions such as v1.15.7, v1.15.8, and v1.15.9?

  2. Is my ST-Link memory address/layout correct for flashing the HERE4?

  3. Is there a specific bootloader version required before upgrading from v1.15.2 to a newer firmware?

  4. Is there a particular procedure that should be followed when updating the HERE4 using ST-Link?

  5. Could there be a specific firmware package/build for hardware version 4.19 that I should use?

  6. What could cause the HERE4 to work with v1.15.2 but remain stuck with a blinking red LED with newer releases?

Any guidance on the correct recovery/update procedure would be greatly appreciated.

Thank you!

did you do this one at any point? SB_0000010 Mandatory Here4 bootloader update before further flight

I am currently investigating the fallback bootloader issue. From what I understand, the main problem is that the clock calibration is failing in the bootloader.

In the older firmware, up to v1.15.3, we were performing the clock recalibration after the application firmware started. So even if the bootloader did not perform this calibration, the application could start, perform the required clock calibration, and then initialize the CAN interface normally.

After v1.15.3, we moved the clock calibration completely into the bootloader. This means the bootloader now has to successfully complete the clock calibration before it can hand over control to the application.

Currently, the calibration is failing in the bootloader, so the bootloader gets stuck in the fallback/calibration path and does not successfully proceed to the application. Because the application never starts, its CAN initialization is also never executed. As a result, CAN communication is unavailable and the normal firmware update process cannot work.

This also explains why v1.15.3 was working while the newer versions were not. The important change is that the clock calibration was moved from the application to the bootloader. When the bootloader calibration fails, there is no longer an application-side calibration to fall back on.

Workaround:
If anyone is facing the same issue with the newer firmware, please add the following line to hwdef.h, which is located in:

build/here4/hwdef.h

#define HAL_CANFD_CCU_ENABLED 1

After adding this, rebuild the firmware and check whether the bootloader and CAN initialization work correctly.

I am still investigating the exact reason why the clock calibration is failing in the bootloader and why this behavior changed after v1.15.3.

one more thing updating bootloader does not solved my problem.

Even I updated to latest firmware and flash bootloader set to 1.

Still both the compasses missing after multiple reboots doesn’t help .

Even,I try to set FORMAT_Version to 0 as well .. nothing helps.

I think missing compass issue also still exists.

@sidbh @philip please look this issue still not solved and many of them struggling with Here4 units with multiple failures.

Most of the time the SOP or solution you provided that not works well in all the units .