Hi everybody,
I try to create my own custom flash-based boot loader for a MSP430F6736 MCU.
Therefore I use the "MSPBSL_CustomBSL430 1_00_11_00" software package from TI.
I followed the documentation "SLAA450C (Creating a Custom Flash-Based Bootstrap Loader (BSL))"
and created a suitable "Linker command file".
The code compiles fine but the linker fails to place the BSL430_VERSION constants
The Linker command file looks like this:
MEMORY
{
...
ZAREA : origin = 0x1000, length = 0x0010
BSL430_VERSION_VENDOR : origin = 0x1010, length = 0x0001
BSL430_VERSION_CI : origin = 0x1011, length = 0x0001
BSL430_VERSION_API : origin = 0x1012, length = 0x0001
BSL430_VERSION_PI : origin = 0x1013, length = 0x0001
ZAREA_CODE : origin = 0x1014, length = 0x002E
FLASH : origin = 0x1042, length = 0x07AE
BSLSIG : origin = 0x17F0, length = 0x000C
JTAGLOCK_KEY : origin = 0x17FC, length = 0x0004
...
}
SECTIONS
{
...
.ZAREA : {} > ZAREA
.BSL430_VERSION_VENDOR : {} > BSL430_VERSION_VENDOR
.BSL430_VERSION_CI : {} > BSL430_VERSION_CI
.BSL430_VERSION_API : {} > BSL430_VERSION_API
.BSL430_VERSION_PI : {} > BSL430_VERSION_PI
.ZAREA_CODE : {} > ZAREA_CODE
.BSLSIG : {} > BSLSIG
.JTAGLOCK_KEY : {} > JTAGLOCK_KEY
...
}
and the linker error/warning messages are as follows:
section MSP430F6736_BBL3.out(.BSL430_VERSION_API) was padded by 1 to a MSP430F6736_BBL3 C/C++ Problem
section MSP430F6736_BBL3.out(.BSL430_VERSION_CI) at 01011h overlaps MSP430F6736_BBL3 C/C++ Problem
section MSP430F6736_BBL3.out(.BSL430_VERSION_PI) at 01013h overlaps MSP430F6736_BBL3 C/C++ Problem
section MSP430F6736_BBL3.out(.BSL430_VERSION_VENDOR) was padded by 1 MSP430F6736_BBL3 C/C++ Problem
Needless to say, that the flash area isn't properly initialized
tool chain: CCS 6.1.3, TI v15.12.1.LTS
What am I doing wrong?
Best Regards
Christoph