Changing a bootloader is always a risky thing. Especially since the MSPs with re-writable bootloader also have the software JTAG fuse in the dame flash area, so if things go wrong, both, JTAG and BSL are no longer working. However, once you got a working BSL replacement on your development devices (which you may have to replace several times during development because things did go wrong), you can safely install it on every device without risk. Just ensure that it is working properly before you do.
The other solution is to use a copy-loader. It has been discussed in the TI E2E forum (http://e2e.ti.com/support/microcontrollers/msp43016-bit_ultra-low_power_mcus/default.aspx?pi22628=1) more than once. The basic idea is to - download new firmware through the running application into an unused area of flash (this means the maximum firmware size is 1/2 of total flash), with CRC and completeness-checks - have a small copy function that is called on reset that checks for a new firmware version and copies it over, then deletes the copy. This way, the copy process will be either complete or repeated, in case soethign gfoes wrong. - to ensure that the device is always in a workable state, the area of the copy-load including the interrupt table is never replaced. Application and its vector table are placed below the copy-loader. interrupt calls are forwarded (introducing 5 clock cycles additional ISR latency) Of course if you have a new firmware, you mus tensure that at least the firmware download mechanism is 100% tested and working. The advantage is that you can use any means of data transfer that are already supported by the application. And the update may happen during normal operation (except for the final copy procedure) On E2E, there have also been many threads about replacing the BSL itself, so if you want to go that way, do a search there too. JMGross ----- Ursprüngliche Nachricht ----- Von: Robert Henig An: mspgcc-users@lists.sourceforge.net Gesendet am: 20 Aug 2012 22:53:43 Betreff: [Mspgcc-users] C calling convention compatibility with IAR Apologies if this is no the right list to ask this question. Please redirect me if it is. I have an existing product that implements a bootloader compiled with the IAR workbench version 5. To save space we implement the I2C driver once in the bootloader and then call if from the main firmware code based on known function addresses. I would like to write all new firmware using mspgcc. The firmware it upgradable but the bootloader is not. Does anyone know if the calling conversion of the two versions is the same or what the differences are? Thanks, Bob. ------------------------------------------------------------------------------ Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ _______________________________________________ Mspgcc-users mailing list Mspgcc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mspgcc-users