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

Split firmware files

Hi,
I wrote an application in a 8051 device containing several modules.
One of them needs some certification and after that it can no longer be modified.
To ensure this a CRC is computed on the firmware file.

The problem is that after certificates the other modules need to be modified and this will affect the firmware CRC even if I didn't modify the certified module.

The solution would be to somehow isolate the certified module in a separate firmware file and the just load both files into the device.

Is there any way to do this?

Parents
  • 1.- CODE option: Useless with LX51 (the linker I'm using)

    Only in a strictly literal sense. LX51 has the same capability. It just hides under a different name.

    2.- srecord option: I don't know how the firmware should be split to make this work.

    Obvious: into the fixed part, and the rest.

    I guess that all certified functions could be placed in a fixed position, but even if possible, it seems rather complex taking into account the amount of functions we have.

    That is not the "srecord" option --- that's the CODE option again.

    3.- Code banking:

    Is totally a red herring.

    With our current hardware (512MB RAM + 512MB Flash).

    You absolutely have to be kidding.

Reply
  • 1.- CODE option: Useless with LX51 (the linker I'm using)

    Only in a strictly literal sense. LX51 has the same capability. It just hides under a different name.

    2.- srecord option: I don't know how the firmware should be split to make this work.

    Obvious: into the fixed part, and the rest.

    I guess that all certified functions could be placed in a fixed position, but even if possible, it seems rather complex taking into account the amount of functions we have.

    That is not the "srecord" option --- that's the CODE option again.

    3.- Code banking:

    Is totally a red herring.

    With our current hardware (512MB RAM + 512MB Flash).

    You absolutely have to be kidding.

Children
  • 1.- CODE option: Useless with LX51 (the linker I'm using)

    Only in a strictly literal sense. LX51 has the same capability. It just hides under a different name.

    Well since no one contradicted me the first time I assumed that it just wasn't possible. There no dialog in uVision under "LX51 Locate" similar to "BL51 Locate" to help me guess what this magic command might be.

    2.- srecord option: I don't know how the firmware should be split to make this work.

    Obvious: into the fixed part, and the rest.

    What I don't know is how to determine which parts of the generated firmware belong to each section. Are you suggesting that I should combine the CODE and the srecord options?

    With our current hardware (512MB RAM + 512MB Flash).

    You absolutely have to be kidding.

    What's so funny about my hardware configuration?

    I'm using 16MB contiguous mode. so 512kb doesn't seem so far fetched.

    The 512kb of flash are intended for non-critical data such as some basic logging.

    I guess the banking option is not a feasible solution.

    As I said I'm new to this, so I apologise if I say stupid things. Still I really need to solve this even if the cost is people making fun of my ignorance.

  • there no dialog in uVision under "LX51 Locate" similar to "BL51 Locate" to help me guess what this magic command might be.

    Well, tough luck. So you'll actually have to Please read the manual.

    What I don't know is how to determine which parts of the generated firmware belong to each section.

    So how did you arrive at the conclusion in the first place that you need to split it? How can you know you need to split, but not into what parts?

    You>With our current hardware (512MB RAM + 512MB Flash).

    Me>You absolutely have to be kidding.

    You>What's so funny about my hardware configuration?

    Nothing. But read what you actually wrote. Slowly. I'm quite sure you'll eventually spot it.