Ethernet Flash Boot Loader

Hi guys,

I just started to build an app on PE-HMI1 (SSP 1.2.1).

I want know if there are some example of BootLoader work on ethernet like the old RX62N/RX63N ( www.renesas.com/.../D3007836.html )

Somebody knows something already implemented.

Thank you.

Parents Reply Children
  • Hi james,

    Give Address/Pointer for firmware image record to 0x800.
    in bootloader client thread change
    sf_firmware_image_erase_cfg_t erase_cfg =
    {
    .slot_number = 0
    };
    sf_firmware_image_erase_cfg_t erase_cfg =
    {
    .slot_number = 1
    };

    also thing to be noted is that the current bootloader code does not search for new images.
    so you have to change the configuration.

    sf_bootloader_cfg_t my_cfg;

    memcpy(&my_cfg, g_sf_bootloader_mcu0.p_cfg, sizeof(my_cfg));
    my_cfg.new_image_check = true;

    please check these things.

    regards

    Mohammad Hashir
  • Hi james

      Just to confirm regarding this image : are debugging two codes at a time?.. please can you tell me whether you are using the TFTP boot example or any other codes? 

    regards

  • Hi james,

    For your update, i have finished the OTA for 2 slots by combining both the examples(USB_CDC_blocking and TFTP boot).
    I use bootloader code of USB_CDC_blocking example and in application program i added image download and blockWrite method of client_thread_entry which you will get in TFTP_boot example.
    In this case Address/Pointer for firmware image record is 0x500.
    some changes to noted in boot loader for this case is that:
    1)my_entry(g_sf_bootloader_mcu0.p_ctrl, g_sf_bootloader_mcu0.p_cfg, true);//make it true to check new images

    2) //comment out 'if' statment and its starting and ending braces in my_entry() for checking new image
    // if(check_for_new_images == false)
    // {
    /** Since we are not checking for new images, only initialize the sf_firmware_mcu_flash interface*/
    //ssp_err = g_sf_bootloader_mcu0.p_api->open(p_ctrl, p_cfg, false);
    ssp_err = g_sf_bootloader_mcu0.p_api->open(p_ctrl, &my_cfg);

    if (ssp_err != SSP_SUCCESS)
    {
    //break;
    }
    //ssp_err = 1;
    /** Jump to the app */
    ssp_err = g_sf_bootloader_mcu0.p_api->appStart(p_ctrl);

    if (ssp_err != SSP_SUCCESS)
    {
    // break;
    }

    ssp_err = g_sf_bootloader_mcu0.p_api->close(p_ctrl);

    return SSP_SUCCESS;
    // }

    make sure that you have changed the following in application code accordingly:
    1) starting address in linker script and clean before build ,
    2)slot_number to be erased
    3)version number
    Its working fine for me.

    Best Regards

    Mohammad Hashir
  • Hi Mohammad,

    I try to give the MCU init application. After test had done, I will only the bootloader application only.
  • Hi Mohammad,

    Thanks, I will change the code and try again.