Hi everybody,
We are going start a new project with codewarrior 5.1 and it will support both mc9s12dg256 and mc9s12xdt512 controllers
We are facing a problem and we need the community opinion.
The project should be approved by MID and it should be separate into two parts (Part A and Part B).
Part A is the part of project that need approval from MID.
Part B is the part of project that does not need approval and we are free to make any change we need.
Devices will be sealed, so for firmware update, the seal must break. This means a lot of paper work and a cost of 60 to 120 € per device.
Actually the breaking of seal is mandatory only if firmware update changes the approved part (Part A). For non-approved part (Part B) we are free to update it without break the seal (no paper work, no additional charges).
If we can separate the project into two (complete) isolate parts we will be able to perform firmware update only the non-approved part instead of the whole firmware.
So the big question is:
Is there a way to have a project complete separate it into two isolate parts?
We can implement with or without rtos.
I will appreciate any help.
Thank you
For mission-critical software, it is usually unacceptable to use the same project for two unrelated purposes (for example by using compiler switches etc). But this is all about how you manage your project files, possibly related to your version control system, but not really related to Codewarrior and not at all related to HCS12...
Hi Daniel,
Thank you for your response.
My English is poor and I did not explain very well what we need.
Let me give an example:
A driver starts a new shift.
The approved part needs the driver id, but how driver enters the id is part of non approved part.In this case it is a keyboard.
Now the client asks for a new way, for example through RFID. We are free to change the firmware in order to support RFID, but for firmware update the seal must break.
A possible solution:
The approved part makes a request to non approved part asking for the driver id and passes a pointer where the non approved part will place the driver id.
// approved part
if (device.state == START_NEW_SHIFT)
Get_Driver_ID(&DriverID); // call to non approved part.
// The non approved part returns the driver id
// non approved part
void Get_Driver_ID(char *buff)
{
...
...
...
}
So the big question is:
Is there a way to isolate the non approved part from approved part, so we be able to perform partial firmware update (only the non approved)?
We can implement with or without rtos.
I will appreciate any help.
Thank you