This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Firmware and application cohabitation on the same device

Hello,

I would like to create a firmware and an application running on the same device.

The application needs to call some functions of the firmware. The application can be updated whereas the firmware is still the same.

Therefore, i want to have 2 projects: one for the firmware (C coded) and one for the application (C coded).

I have seen that it's possible to forbid idata, xdata and code area in order to prevent the application to overwrite the firmware and its variables, but I have no clues on how to give my firmware prototype to my application.
Of course parameters and functions' addresses must map with the firmware mapping.

Does anyone have an idea how I can do this?

Thanks for your help!
Damien.

Parents
  • Yes but this bootloader will use USB and Flash functions (USB to receive the appplication). Therefore, if my application needs to receive other kind of data via USB, USB functions will be duplicated, the same goes for Flash functions.

    In order to prevent function duplication, I want my application to be able to access those functions stored into the bootloader/firmware.

    My application will NOT run on other chip (ARM, ...) but I want to be able to update the application via USB. To do so, I need a bootloader. This bootloader have access to USB, Flash and other stuff, so I called it firmware.

    If I do not create a bootloader, it will be hard to update the application because if I'm erasing flash functions, while using them, it will crash.

    This is why I want a "firmware". (Maybe firmware is not the correct word...)

    Damien.

Reply
  • Yes but this bootloader will use USB and Flash functions (USB to receive the appplication). Therefore, if my application needs to receive other kind of data via USB, USB functions will be duplicated, the same goes for Flash functions.

    In order to prevent function duplication, I want my application to be able to access those functions stored into the bootloader/firmware.

    My application will NOT run on other chip (ARM, ...) but I want to be able to update the application via USB. To do so, I need a bootloader. This bootloader have access to USB, Flash and other stuff, so I called it firmware.

    If I do not create a bootloader, it will be hard to update the application because if I'm erasing flash functions, while using them, it will crash.

    This is why I want a "firmware". (Maybe firmware is not the correct word...)

    Damien.

Children
No data