This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
I'm using Code Composer Studio (CCS) to modify a custom BSL to use UART pins to field update application code in a MSP430F5342. Unfortunately, there is no CCS project for a MSP430F5342. How can I get source for a custom BSL project?
I understand the MSP430F5342 is a derivative of MSP430F5529, so we could use the non-USB example for MSP430F5529 in the Custom BSL download. Unfortunately, the example only has an IAR project. I'm looking for a CCS project. There is a MSP430F5438A UART CCS project example in the Custom BSL. Would this be close enough to a MSP430F5342 to use? If so, could I just use the linker file from the MSP430F5529 IAR project in the CCS project?
Also, how can the CCS project for a BSL be changed to run in application space for debugging? Just by changing the addresses in the linker file?
Thank you!
Hello William,
Sorry for the delay. I am looking into this and will provide some feedback shortly.
Hello Eddie,
Any update about a CCS custom BSL for the MSP430 F5342?
Regards,
- William.
Hi William,
Please see the thread below which is similar to your question. You could start with the MSP430F5438A project and adjust the F5342 CCS linker file to your memory needs.
Hi Eddie,
I appreciate your response. Unfortunately, adjusting the linker file from the CCS_v7_MSP430F543xA_TA_UART project does not work. It compiles, but I get nothing when I jump into the BSL
My modified linker file:
/* ============================================================================ */ /* Copyright (c) 2019, Texas Instruments Incorporated */ /* All rights reserved. */ /* */ /* Redistribution and use in source and binary forms, with or without */ /* modification, are permitted provided that the following conditions */ /* are met: */ /* */ /* * Redistributions of source code must retain the above copyright */ /* notice, this list of conditions and the following disclaimer. */ /* */ /* * Redistributions in binary form must reproduce the above copyright */ /* notice, this list of conditions and the following disclaimer in the */ /* documentation and/or other materials provided with the distribution. */ /* */ /* * Neither the name of Texas Instruments Incorporated nor the names of */ /* its contributors may be used to endorse or promote products derived */ /* from this software without specific prior written permission. */ /* */ /* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" */ /* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, */ /* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR */ /* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR */ /* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, */ /* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, */ /* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; */ /* OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, */ /* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR */ /* OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, */ /* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ /* ============================================================================ */ /******************************************************************************/ /* lnk_msp430f5342.cmd - LINKER COMMAND FILE FOR LINKING MSP430F5342 PROGRAMS */ /* */ /* Usage: lnk430 <obj files...> -o <out file> -m <map file> lnk.cmd */ /* cl430 <src files...> -z -o <out file> -m <map file> lnk.cmd */ /* */ /*----------------------------------------------------------------------------*/ /* These linker options are for command line linking only. For IDE linking, */ /* you should set your linker options in Project Properties */ /* -c LINK USING C CONVENTIONS */ /* -stack 0x0100 SOFTWARE STACK SIZE */ /* -heap 0x0100 HEAP AREA SIZE */ /* */ /*----------------------------------------------------------------------------*/ /* Version: 1.207 */ /*----------------------------------------------------------------------------*/ /****************************************************************************/ /* Specify the system memory map */ /****************************************************************************/ MEMORY { SFR : origin = 0x0000, length = 0x0010 PERIPHERALS_8BIT : origin = 0x0010, length = 0x00F0 PERIPHERALS_16BIT : origin = 0x0100, length = 0x0100 RAM : origin = 0x1C00, length = 0x2800 INFOA : origin = 0x1980, length = 0x0080 INFOB : origin = 0x1900, length = 0x0080 INFOC : origin = 0x1880, length = 0x0080 INFOD : origin = 0x1800, length = 0x0080 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 = 0x07DC BSLSIG : origin = 0x17F0, length = 0x000C JTAGLOCK_KEY : origin = 0x17FC, length = 0x0004 FLASH : origin = 0x4400, length = 0xBB80 FLASH2 : origin = 0x10000,length = 0x14400 INT00 : origin = 0xFF80, length = 0x0002 INT01 : origin = 0xFF82, length = 0x0002 INT02 : origin = 0xFF84, length = 0x0002 INT03 : origin = 0xFF86, length = 0x0002 INT04 : origin = 0xFF88, length = 0x0002 INT05 : origin = 0xFF8A, length = 0x0002 INT06 : origin = 0xFF8C, length = 0x0002 INT07 : origin = 0xFF8E, length = 0x0002 INT08 : origin = 0xFF90, length = 0x0002 INT09 : origin = 0xFF92, length = 0x0002 INT10 : origin = 0xFF94, length = 0x0002 INT11 : origin = 0xFF96, length = 0x0002 INT12 : origin = 0xFF98, length = 0x0002 INT13 : origin = 0xFF9A, length = 0x0002 INT14 : origin = 0xFF9C, length = 0x0002 INT15 : origin = 0xFF9E, length = 0x0002 INT16 : origin = 0xFFA0, length = 0x0002 INT17 : origin = 0xFFA2, length = 0x0002 INT18 : origin = 0xFFA4, length = 0x0002 INT19 : origin = 0xFFA6, length = 0x0002 INT20 : origin = 0xFFA8, length = 0x0002 INT21 : origin = 0xFFAA, length = 0x0002 INT22 : origin = 0xFFAC, length = 0x0002 INT23 : origin = 0xFFAE, length = 0x0002 INT24 : origin = 0xFFB0, length = 0x0002 INT25 : origin = 0xFFB2, length = 0x0002 INT26 : origin = 0xFFB4, length = 0x0002 INT27 : origin = 0xFFB6, length = 0x0002 INT28 : origin = 0xFFB8, length = 0x0002 INT29 : origin = 0xFFBA, length = 0x0002 INT30 : origin = 0xFFBC, length = 0x0002 INT31 : origin = 0xFFBE, length = 0x0002 INT32 : origin = 0xFFC0, length = 0x0002 INT33 : origin = 0xFFC2, length = 0x0002 INT34 : origin = 0xFFC4, length = 0x0002 INT35 : origin = 0xFFC6, length = 0x0002 INT36 : origin = 0xFFC8, length = 0x0002 INT37 : origin = 0xFFCA, length = 0x0002 INT38 : origin = 0xFFCC, length = 0x0002 INT39 : origin = 0xFFCE, length = 0x0002 INT40 : origin = 0xFFD0, length = 0x0002 INT41 : origin = 0xFFD2, length = 0x0002 INT42 : origin = 0xFFD4, length = 0x0002 INT43 : origin = 0xFFD6, length = 0x0002 INT44 : origin = 0xFFD8, length = 0x0002 INT45 : origin = 0xFFDA, length = 0x0002 INT46 : origin = 0xFFDC, length = 0x0002 INT47 : origin = 0xFFDE, length = 0x0002 INT48 : origin = 0xFFE0, length = 0x0002 INT49 : origin = 0xFFE2, length = 0x0002 INT50 : origin = 0xFFE4, length = 0x0002 INT51 : origin = 0xFFE6, length = 0x0002 INT52 : origin = 0xFFE8, length = 0x0002 INT53 : origin = 0xFFEA, length = 0x0002 INT54 : origin = 0xFFEC, length = 0x0002 INT55 : origin = 0xFFEE, length = 0x0002 INT56 : origin = 0xFFF0, length = 0x0002 INT57 : origin = 0xFFF2, length = 0x0002 INT58 : origin = 0xFFF4, length = 0x0002 INT59 : origin = 0xFFF6, length = 0x0002 INT60 : origin = 0xFFF8, length = 0x0002 INT61 : origin = 0xFFFA, length = 0x0002 INT62 : origin = 0xFFFC, length = 0x0002 RESET : origin = 0xFFFE, length = 0x0002 } /****************************************************************************/ /* Specify the sections allocation into memory */ /****************************************************************************/ SECTIONS { .bss : {} > RAM /* Global & static vars */ .data : {} > RAM /* Global & static vars */ .TI.noinit : {} > RAM /* For #pragma noinit */ .sysmem : {} > RAM /* Dynamic memory allocation area */ .stack : {} > RAM (HIGH) /* Software system stack */ .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 #ifndef __LARGE_CODE_MODEL__ .text : {} > FLASH /* Code */ #else .text : {} >> FLASH2 | FLASH /* Code */ #endif .text:_isr : {} > FLASH /* ISR Code space */ .cinit : {} > FLASH /* Initialization tables */ #ifndef __LARGE_DATA_MODEL__ .const : {} > FLASH /* Constant data */ #else .const : {} >> FLASH | FLASH2 /* Constant data */ #endif .cio : {} > RAM /* C I/O Buffer */ .pinit : {} > FLASH /* C++ Constructor tables */ .binit : {} > FLASH /* Boot-time Initialization tables */ .init_array : {} > FLASH /* C++ Constructor tables */ .mspabi.exidx : {} > FLASH /* C++ Constructor tables */ .mspabi.extab : {} > FLASH /* C++ Constructor tables */ #ifdef __TI_COMPILER_VERSION__ #if __TI_COMPILER_VERSION__ >= 15009000 #ifndef __LARGE_CODE_MODEL__ .TI.ramfunc : {} load=FLASH, run=RAM, table(BINIT) #else .TI.ramfunc : {} load=FLASH | FLASH2, run=RAM, table(BINIT) #endif #endif #endif .infoA : {} > INFOA /* MSP430 INFO FLASH Memory segments */ .infoB : {} > INFOB .infoC : {} > INFOC .infoD : {} > INFOD /* MSP430 Interrupt vectors */ .int00 : {} > INT00 .int01 : {} > INT01 .int02 : {} > INT02 .int03 : {} > INT03 .int04 : {} > INT04 .int05 : {} > INT05 .int06 : {} > INT06 .int07 : {} > INT07 .int08 : {} > INT08 .int09 : {} > INT09 .int10 : {} > INT10 .int11 : {} > INT11 .int12 : {} > INT12 .int13 : {} > INT13 .int14 : {} > INT14 .int15 : {} > INT15 .int16 : {} > INT16 .int17 : {} > INT17 .int18 : {} > INT18 .int19 : {} > INT19 .int20 : {} > INT20 .int21 : {} > INT21 .int22 : {} > INT22 .int23 : {} > INT23 .int24 : {} > INT24 .int25 : {} > INT25 .int26 : {} > INT26 .int27 : {} > INT27 .int28 : {} > INT28 .int29 : {} > INT29 .int30 : {} > INT30 .int31 : {} > INT31 .int32 : {} > INT32 .int33 : {} > INT33 .int34 : {} > INT34 .int35 : {} > INT35 .int36 : {} > INT36 .int37 : {} > INT37 .int38 : {} > INT38 .int39 : {} > INT39 .int40 : {} > INT40 RTC : { * ( .int41 ) } > INT41 type = VECT_INIT PORT2 : { * ( .int42 ) } > INT42 type = VECT_INIT TIMER2_A1 : { * ( .int43 ) } > INT43 type = VECT_INIT TIMER2_A0 : { * ( .int44 ) } > INT44 type = VECT_INIT USCI_B1 : { * ( .int45 ) } > INT45 type = VECT_INIT USCI_A1 : { * ( .int46 ) } > INT46 type = VECT_INIT PORT1 : { * ( .int47 ) } > INT47 type = VECT_INIT TIMER1_A1 : { * ( .int48 ) } > INT48 type = VECT_INIT TIMER1_A0 : { * ( .int49 ) } > INT49 type = VECT_INIT DMA : { * ( .int50 ) } > INT50 type = VECT_INIT .int51 : {} > INT51 TIMER0_A1 : { * ( .int52 ) } > INT52 type = VECT_INIT TIMER0_A0 : { * ( .int53 ) } > INT53 type = VECT_INIT ADC12 : { * ( .int54 ) } > INT54 type = VECT_INIT USCI_B0 : { * ( .int55 ) } > INT55 type = VECT_INIT USCI_A0 : { * ( .int56 ) } > INT56 type = VECT_INIT WDT : { * ( .int57 ) } > INT57 type = VECT_INIT TIMER0_B1 : { * ( .int58 ) } > INT58 type = VECT_INIT TIMER0_B0 : { * ( .int59 ) } > INT59 type = VECT_INIT COMP_B : { * ( .int60 ) } > INT60 type = VECT_INIT UNMI : { * ( .int61 ) } > INT61 type = VECT_INIT SYSNMI : { * ( .int62 ) } > INT62 type = VECT_INIT .reset : {} > RESET /* MSP430 Reset vector */ } /****************************************************************************/ /* Include peripherals memory map */ /****************************************************************************/ -l msp430f5342.cmd
Any ideas about why this linker file is not working on a MSP430F5342? I suspect some address and/or section definitions may be incorrect?
Thank you!
Hello Dietmar,
Yes, I've gone through all of the custom BSL material, including the ones at the MSP-BSL landing page.
Yes, I followed the instructions in slaas450f Creating a Custom Flash-Based Bootloader. Unfortunately, debugging in CCS shows no code was written to flash despite a successful compile with no warnings about overflows or overlaps. There was no warning about a secured device. JTAG lock key was present.
I suspect the memory map defined in the linker file I posted might be wrong, especially the definitions for the BSL area sections. Can you please confirm the memory map, and the rest of the linker file, looks good?
Hi William,
your BSLSIG
section has to include following information. Can you maybe sent the TXT file your compiled BSL code?
0x17FA BSL StartVector.This is the address of the first instruction to be executed when the BSL starts.
0x17F6 BSL UnlockSignature1. This word shouldbe set to 0xC35Ato indicate a correctly programmed BSL. If it is written with any other value,the BSL will not start.
0x17F4BSL UnlockSignature2. This word should be set to 0x3CA5 to indicate a correctly programmed BSL.If it is written with any other value,the BSL will not start.
Dietmar,
I do see my BSLSIG section contains just 0xFF bytes. So there is no valid data in the BSLSIG section. How can I write valid data into BSLSIG? Do these bytes need to be defined somehow in the linker file?
I've attached the TXT file from the compiled BSL code. I posted my linker file, which contains the BSLSIG section definition, in a previous posting.
TXT file:
@1010 00 08 08 04 @17fc FF FF FF FF @4400 81 00 00 44 B1 13 FA 07 0C 93 02 24 B1 13 FC 05 0C 43 B1 13 00 00 1C 43 B1 13 06 08 32 D0 10 00 FD 3F 03 43 00 00 04 01 00 00 D6 07 01 00 24 44 00 00 00 1C 00 00 @ffd2 1C 44 1C 44 1C 44 1C 44 1C 44 1C 44 1C 44 1C 44 1C 44 1C 44 @ffe8 1C 44 1C 44 1C 44 1C 44 1C 44 1C 44 1C 44 1C 44 1C 44 1C 44 1C 44 00 44 5A 14 F1 03 0F 41 3F 80 00 1C 0E 4F CF 0E AF 00 FE 1B 8F 43 00 00 FF 03 FE 03 0E 93 FA 23 82 43 12 1D B2 40 00 A5 14 1D 00 18 F2 40 00 1C 04 1D 00 18 F2 40 00 1C 08 1D B2 40 41 03 0E 1D B2 40 A0 01 10 1D B2 40 33 02 68 01 82 43 60 01 B2 40 40 00 62 01 82 43 6A 01 B2 40 3C 20 64 01 B2 40 20 00 42 03 B2 40 20 02 40 03 F2 40 06 00 0A 02 E2 43 04 02 3A 40 3B 00 37 40 3A 00 38 40 05 00 39 40 07 00 8F 00 10 10 05 4F 0F 19 4F 10 06 4F 78 3C B2 90 A5 A5 12 1D 34 20 0F 18 4D 5D 00 18 4D DC 4D 13 0C 43 66 3C B1 13 20 02 CF 01 B1 13 A8 05 2C 92 10 24 B1 13 30 02 CF 47 00 00 B1 13 30 02 EF 41 01 00 B1 13 30 02 DF 41 01 00 02 00 3C 40 03 00 54 3C B1 13 12 02 EF 42 01 00 4E 3C B2 90 A5 A5 12 1D 0D 20 3F 40 10 00 1F F2 44 01 1F 52 14 1D 3F 50 40 00 18 3C B2 90 A5 A5 12 1D 02 24 2C 42 37 3C 92 42 14 1D 44 01 2F 43 1F 52 14 1D 82 4F 40 01 0F 18 4D 5D 00 18 4D DC CD 43 00 00 3F 40 10 00 1F 52 14 1D 82 4F 44 01 BA 3F CC 0F B1 13 2C 07 4C 93 05 20 B1 13 12 02 CF 43 01 00 1C 3C B1 13 12 02 CF 48 01 00 17 3C B1 13 12 02 CF 49 01 00 12 3C 5F 43 53 3C 2E 42 CC 05 CD 06 02 3C B1 13 20 02 B1 13 AE 04 0A 3C B1 13 AC 07 4C 4C B1 13 12 02 CF 4C 01 00 2C 43 B1 13 9E 06 B1 13 36 02 4C 4C 1C B3 FB 27 1F 43 00 18 5F 52 04 1D 2E 00 04 1D 5C 4E 03 00 0D 43 B1 13 8A 07 2E 00 04 1D 5E 4E 02 00 0C DE B1 13 8A 07 6E 4F 0C DE 2B 00 04 1D 6E 4B 3E 80 10 00 3E 90 0C 00 C5 2F 5E 06 4E 0E 4E 0D 80 18 50 4E D0 01 00 02 01 00 30 01 01 00 FA 00 01 00 E0 00 01 00 4E 01 01 00 6E 01 01 00 A8 00 01 00 92 00 01 00 64 01 01 00 5C 01 01 00 4E 01 01 00 58 01 01 00 4F 43 2E 42 00 18 5E 52 04 1D B1 13 34 05 B9 3F 03 43 B1 13 30 02 CF 4A 00 00 B1 13 30 02 10 01 5E 4B 04 00 5F 4B 05 00 47 18 0F 5F 0E DF 10 01 2F 00 08 1D 10 01 F1 03 81 43 00 00 0D 43 0C 43 45 3C F2 90 52 00 00 1C 3D 20 5F 42 01 1C 2F 83 31 24 1F 83 26 24 1F 83 1B 24 1F 83 10 24 1F 83 05 24 7C 40 56 00 B1 13 50 06 2C 3C B1 13 D6 03 B2 40 45 00 0E 1D B2 40 22 00 10 1D 23 3C B1 13 D6 03 B2 40 8A 00 0E 1D B2 40 45 00 10 1D 1A 3C B1 13 D6 03 B2 40 D0 00 0E 1D B2 40 68 00 10 1D 11 3C B1 13 D6 03 B2 40 A0 01 0E 1D B2 40 D0 00 10 1D 08 3C B1 13 D6 03 B2 40 41 03 0E 1D B2 40 A0 01 10 1D 81 43 00 00 0D 43 0C 43 B2 40 20 89 44 03 92 B3 44 03 FD 27 B2 F0 FE FE 44 03 92 52 10 1D 54 03 3E 40 09 00 0F 43 92 52 0E 1D 54 03 92 C3 44 03 92 B3 44 03 FD 27 5F 01 B2 B0 00 04 44 03 02 24 3F D0 00 01 1E 83 EF 23 4F 4F 0C 93 09 20 3F 90 80 00 3A 24 7C 40 51 00 2D 43 B1 13 50 06 56 3C 1C 93 4F 24 2C 93 35 24 CE 0C 1E 82 0C 1D 3E 90 03 00 2C 24 2E 92 23 20 4F 4F 8F 10 81 DF 00 00 2D 41 B2 43 54 01 82 93 0C 1D 09 24 8E 00 00 1C 0F 43 F2 4E 52 01 1F 53 1F 92 0C 1D FA 2B 82 9D 54 01 0A 20 5F 42 00 1C 3F F0 F0 FF 3F 90 50 00 66 27 4C 43 1D 43 D1 3F 7C 40 52 00 CD 3F CE 0C 3E 80 03 00 CE 4F 00 1C 1C 53 1E 3C 81 4F 00 00 FB 3F 4F 4F 8F 10 82 DF 0C 1D 82 93 0C 1D 05 20 7C 40 53 00 B1 13 50 06 2D 43 B2 90 05 01 0C 1D 05 28 7C 40 54 00 B1 13 50 06 2D 43 3C 40 03 00 03 3C 82 4F 0C 1D 2C 43 0D 93 7E 27 CC 0D E1 03 10 01 4C 43 B1 13 50 06 10 01 6A 14 CB 0C 1F 42 0C 1D 2F 82 C9 0F 0A 43 09 5B 0A 6D C7 0B C6 0D C8 07 CC 06 08 5F 0C 63 06 9C 05 28 02 20 07 98 02 28 0C 43 50 3C 18 43 08 FB 08 93 26 20 C5 07 CC 06 05 8F 0C 73 05 8B 0C 7D 3C 93 02 20 35 93 1C 24 2C 4E B2 90 A5 A5 12 1D 12 20 C5 06 0F 18 45 55 00 18 45 D7 85 4C 00 00 C5 06 0F 18 45 55 00 18 45 D7 2C 95 02 20 0C 43 03 3C 1C 43 01 3C 2C 42 EE 03 17 53 06 63 1D 3C 64 4E 45 44 B2 90 A5 A5 12 1D 14 20 CC 06 0F 18 4C 5C 00 18 4C D7 CC 44 00 00 CC 06 0F 18 4C 5C 00 18 4C D7 6C 4C 4C 4C 05 9C 02 20 0C 43 03 3C 1C 43 01 3C 2C 42 AE 00 01 00 0C 93 07 20 17 53 06 63 06 9A B5 2B 02 20 07 99 B2 2B 64 16 10 01 5A 14 C6 0C C7 0D 08 43 C5 0E 05 56 08 67 0A 43 2E 3C CF 05 CE 08 0F 86 0E 77 05 20 3F 90 04 01 02 2C C9 0F 02 3C 39 40 03 01 1F 43 00 18 5F 52 08 1D CC 06 CD 07 CE 09 B1 13 E6 06 4A 4C 0A 93 08 20 2F 00 08 1D FF 40 3A 00 00 00 1C 43 0C 59 0A 3C 2F 00 08 1D FF 40 3B 00 00 00 2F 00 08 1D CF 4A 01 00 2C 43 B1 13 9E 06 06 59 07 63 0F 43 07 98 04 28 02 20 06 95 01 28 1F 43 0F DA 0F 93 C8 27 55 16 10 01 1A 14 CA 0F B2 90 A5 A5 12 1D 02 24 2F 42 0A 3C 92 42 14 1D 44 01 3F 40 40 00 1F 52 14 1D 82 4F 40 01 0F 43 0B 43 B2 90 05 00 0C 1D 01 28 1B 43 09 43 0F 93 01 20 19 43 09 BB 03 24 B1 13 DE 03 4F 4C 4A 93 0C 20 2E 00 08 1D FE 40 3B 00 00 00 2E 00 08 1D CE 4F 01 00 2C 43 B1 13 9E 06 92 42 14 1D 40 01 3F 40 10 00 1F 52 14 1D 82 4F 44 01 19 16 10 01 2A 14 B2 43 54 01 0B 43 CA 0E 0A 5C 0B 6D C8 0C C9 0D 08 5E 09 63 0D 99 03 28 16 20 0C 98 14 2C B2 90 A5 A5 12 1D 02 24 2C 42 12 3C CE 0D 0F 18 4E 5E 00 18 4E DC E2 4E 52 01 1C 53 0D 63 0D 9B EF 2B 02 20 0C 9A EC 2B 9F 42 54 01 00 00 0C 43 28 16 10 01 2A 14 40 18 1A 42 5C 01 40 18 B2 40 80 5A 5C 01 8F 00 2A 44 9F 00 2E 44 13 24 89 00 2E 44 88 00 36 44 0C 3C 0C 09 7F 4C 5F 06 00 18 5F 4F 2A 44 A9 00 04 00 0D 09 4F 13 A9 00 04 00 D9 08 F2 23 7A C2 3A D0 08 5A 40 18 82 4A 5C 01 B1 13 0C 08 28 16 10 01 92 42 50 03 52 03 92 52 0E 1D 52 03 4C 4C 3C 50 00 02 5C 02 3F 40 00 02 3E 40 0B 00 92 B3 42 03 FD 27 92 C3 42 03 92 52 0E 1D 52 03 B2 D0 80 00 42 03 1C B3 04 24 0C EF B2 F0 7F FF 42 03 5F 01 5C 01 1E 83 EB 23 92 B3 42 03 FD 27 10 01 CD 0C 7C 40 80 00 B1 13 50 06 B1 13 D6 06 B1 13 50 06 B2 43 54 01 1D 93 09 38 8B 00 00 1C 7C 4B C2 4C 52 01 B1 13 50 06 1D 83 F9 23 1D 42 54 01 B1 13 D6 06 80 01 50 06 4C 4D B1 13 50 06 CC 0D 8C 10 8C 11 4C 4C 10 01 1A 14 CB 0C 0B 5E CE 0D 0E 63 1B 83 0E 73 13 3C B2 90 A5 A5 12 1D 02 24 6C 42 13 3C CA 0B 0A 8C 09 4A E9 0F CA 0E 0F 18 4A 5A 00 18 4A DB E9 4A 00 00 1B 83 0E 73 0E 9D 03 28 EA 23 0B 9C E8 2F 4C 43 19 16 10 01 F1 03 3B 40 20 00 0E 43 3D 40 E0 FF 7F 4C 7F ED 0E DF 1B 83 FB 23 0E 93 05 24 B1 13 AC 07 7C 40 05 00 0D 3C B1 40 FF 7F 00 00 02 3C 91 83 00 00 91 93 00 00 FB 37 B2 40 A5 A5 12 1D 4C 43 E1 03 10 01 5C 02 0D 6D 5C 02 0D 6D 5C 02 0D 6D 5C 02 0D 6D 5C 02 0D 6D 5C 02 0D 6D 5C 02 0D 6D 5C 02 0D 6D 5C 02 0D 6D 5C 02 0D 6D 5C 02 0D 6D 5C 02 0D 6D 5C 02 0D 6D 5C 02 0D 6D 5C 02 0D 6D 10 01 92 42 14 1D 44 01 3F 40 06 00 1F 52 14 1D 82 4F 40 01 3F 40 E0 FF CF 43 00 00 3F 40 10 00 1F 52 14 1D 82 4F 44 01 4C 43 10 01 1F 4C 01 00 1E 4C 03 00 0E 93 02 20 0F 93 09 24 AD 00 01 00 CD 43 FF FF 1F 83 0E 73 F9 23 0F 93 F7 23 10 01 B2 40 80 5A 5C 01 32 C2 03 43 10 01 03 43 FF 3F 03 43 10 01 q
Hi William,
simply take the BSL source projects. There the linker command files are included which have all the stuff you need. Out of this you can modify a project to your needs and then you have your own BSL. If import the CCS_v7_MSP430F543xA_TA_UART from this archive import it to CCS and build it I have the BSL mapped to the BSL memory.
Here is the TXT
@1010 00 08 08 04 @1042 81 00 00 5C B0 13 D4 17 0C 93 02 24 B0 13 62 16 0C 43 B0 13 66 10 1C 43 B0 13 E0 17 32 D0 10 00 FD 3F 03 43 5A 14 F1 03 0F 41 3F 80 00 1C 0E 4F CF 0E AF 00 FE 1B 8F 43 00 00 FF 03 FE 03 0E 93 FA 23 82 43 12 1D B2 40 00 A5 14 1D 00 18 F2 40 00 1C 04 1D 00 18 F2 40 00 1C 08 1D B2 40 41 03 0E 1D B2 40 A0 01 10 1D B2 40 33 02 68 01 82 43 60 01 B2 40 40 00 62 01 82 43 6A 01 B2 40 3C 20 64 01 B2 40 20 00 42 03 B2 40 20 02 40 03 F2 40 06 00 0A 02 E2 43 04 02 3A 40 3B 00 37 40 3A 00 38 40 05 00 39 40 07 00 8F 00 10 10 05 4F 0F 19 4F 10 06 4F 78 3C B2 90 A5 A5 12 1D 34 20 0F 18 4D 5D 00 18 4D DC 4D 13 0C 43 66 3C B0 13 86 12 CF 01 B0 13 0E 16 2C 92 10 24 B0 13 96 12 CF 47 00 00 B0 13 96 12 EF 41 01 00 B0 13 96 12 DF 41 01 00 02 00 3C 40 03 00 54 3C B0 13 78 12 EF 42 01 00 4E 3C B2 90 A5 A5 12 1D 0D 20 3F 40 10 00 1F F2 44 01 1F 52 14 1D 3F 50 40 00 18 3C B2 90 A5 A5 12 1D 02 24 2C 42 37 3C 92 42 14 1D 44 01 2F 43 1F 52 14 1D 82 4F 40 01 0F 18 4D 5D 00 18 4D DC CD 43 00 00 3F 40 10 00 1F 52 14 1D 82 4F 44 01 BA 3F CC 0F B0 13 92 17 4C 93 05 20 B0 13 78 12 CF 43 01 00 1C 3C B0 13 78 12 CF 48 01 00 17 3C B0 13 78 12 CF 49 01 00 12 3C 5F 43 53 3C 2E 42 CC 05 CD 06 02 3C B0 13 86 12 B0 13 14 15 0A 3C B1 13 3E 00 4C 4C B0 13 78 12 CF 4C 01 00 2C 43 B0 13 04 17 B0 13 9C 12 4C 4C 1C B3 FB 27 1F 43 00 18 5F 52 04 1D 2E 00 04 1D 5C 4E 03 00 0D 43 B1 13 1C 00 2E 00 04 1D 5E 4E 02 00 0C DE B1 13 1C 00 6E 4F 0C DE 2B 00 04 1D 6E 4B 3E 80 10 00 3E 90 0C 00 C5 2F 5E 06 4E 0E 4E 0D 00 18 50 4E 36 12 66 12 00 00 96 11 00 00 60 11 00 00 46 11 00 00 B4 11 00 00 D4 11 00 00 0E 11 00 00 F8 10 00 00 CA 11 00 00 C2 11 00 00 B4 11 00 00 BE 11 00 00 4F 43 2E 42 00 18 5E 52 04 1D B0 13 9A 15 B9 3F 03 43 B0 13 96 12 CF 4A 00 00 B0 13 96 12 10 01 5E 4B 04 00 5F 4B 05 00 47 18 0F 5F 0E DF 10 01 2F 00 08 1D 10 01 F1 03 81 43 00 00 0D 43 0C 43 45 3C F2 90 52 00 00 1C 3D 20 5F 42 01 1C 2F 83 31 24 1F 83 26 24 1F 83 1B 24 1F 83 10 24 1F 83 05 24 7C 40 56 00 B0 13 B6 16 2C 3C B0 13 3C 14 B2 40 45 00 0E 1D B2 40 22 00 10 1D 23 3C B0 13 3C 14 B2 40 8A 00 0E 1D B2 40 45 00 10 1D 1A 3C B0 13 3C 14 B2 40 D0 00 0E 1D B2 40 68 00 10 1D 11 3C B0 13 3C 14 B2 40 A0 01 0E 1D B2 40 D0 00 10 1D 08 3C B0 13 3C 14 B2 40 41 03 0E 1D B2 40 A0 01 10 1D 81 43 00 00 0D 43 0C 43 B2 40 20 89 44 03 92 B3 44 03 FD 27 B2 F0 FE FE 44 03 92 52 10 1D 54 03 3E 40 09 00 0F 43 92 52 0E 1D 54 03 92 C3 44 03 92 B3 44 03 FD 27 5F 01 B2 B0 00 04 44 03 02 24 3F D0 00 01 1E 83 EF 23 4F 4F 0C 93 09 20 3F 90 80 00 3A 24 7C 40 51 00 2D 43 B0 13 B6 16 56 3C 1C 93 4F 24 2C 93 35 24 CE 0C 1E 82 0C 1D 3E 90 03 00 2C 24 2E 92 23 20 4F 4F 8F 10 81 DF 00 00 2D 41 B2 43 54 01 82 93 0C 1D 09 24 8E 00 00 1C 0F 43 F2 4E 52 01 1F 53 1F 92 0C 1D FA 2B 82 9D 54 01 0A 20 5F 42 00 1C 3F F0 F0 FF 3F 90 50 00 66 27 4C 43 1D 43 D1 3F 7C 40 52 00 CD 3F CE 0C 3E 80 03 00 CE 4F 00 1C 1C 53 1E 3C 81 4F 00 00 FB 3F 4F 4F 8F 10 82 DF 0C 1D 82 93 0C 1D 05 20 7C 40 53 00 B0 13 B6 16 2D 43 B2 90 05 01 0C 1D 05 28 7C 40 54 00 B0 13 B6 16 2D 43 3C 40 03 00 03 3C 82 4F 0C 1D 2C 43 0D 93 7E 27 CC 0D E1 03 10 01 4C 43 B0 13 B6 16 10 01 6A 14 CB 0C 1F 42 0C 1D 2F 82 C9 0F 0A 43 09 5B 0A 6D C7 0B C6 0D C8 07 CC 06 08 5F 0C 63 06 9C 05 28 02 20 07 98 02 28 0C 43 50 3C 18 43 08 FB 08 93 26 20 C5 07 CC 06 05 8F 0C 73 05 8B 0C 7D 3C 93 02 20 35 93 1C 24 2C 4E B2 90 A5 A5 12 1D 12 20 C5 06 0F 18 45 55 00 18 45 D7 85 4C 00 00 C5 06 0F 18 45 55 00 18 45 D7 2C 95 02 20 0C 43 03 3C 1C 43 01 3C 2C 42 EE 03 17 53 06 63 1D 3C 64 4E 45 44 B2 90 A5 A5 12 1D 14 20 CC 06 0F 18 4C 5C 00 18 4C D7 CC 44 00 00 CC 06 0F 18 4C 5C 00 18 4C D7 6C 4C 4C 4C 05 9C 02 20 0C 43 03 3C 1C 43 01 3C 2C 42 AE 00 01 00 0C 93 07 20 17 53 06 63 06 9A B5 2B 02 20 07 99 B2 2B 64 16 10 01 5A 14 C6 0C C7 0D 08 43 C5 0E 05 56 08 67 0A 43 2E 3C CF 05 CE 08 0F 86 0E 77 05 20 3F 90 04 01 02 2C C9 0F 02 3C 39 40 03 01 1F 43 00 18 5F 52 08 1D CC 06 CD 07 CE 09 B0 13 4C 17 4A 4C 0A 93 08 20 2F 00 08 1D FF 40 3A 00 00 00 1C 43 0C 59 0A 3C 2F 00 08 1D FF 40 3B 00 00 00 2F 00 08 1D CF 4A 01 00 2C 43 B0 13 04 17 06 59 07 63 0F 43 07 98 04 28 02 20 06 95 01 28 1F 43 0F DA 0F 93 C8 27 55 16 10 01 1A 14 CA 0F B2 90 A5 A5 12 1D 02 24 2F 42 0A 3C 92 42 14 1D 44 01 3F 40 40 00 1F 52 14 1D 82 4F 40 01 0F 43 0B 43 B2 90 05 00 0C 1D 01 28 1B 43 09 43 0F 93 01 20 19 43 09 BB 03 24 B0 13 44 14 4F 4C 4A 93 0C 20 2E 00 08 1D FE 40 3B 00 00 00 2E 00 08 1D CE 4F 01 00 2C 43 B0 13 04 17 92 42 14 1D 40 01 3F 40 10 00 1F 52 14 1D 82 4F 44 01 19 16 10 01 2A 14 B2 43 54 01 0B 43 CA 0E 0A 5C 0B 6D C8 0C C9 0D 08 5E 09 63 0D 99 03 28 16 20 0C 98 14 2C B2 90 A5 A5 12 1D 02 24 2C 42 12 3C CE 0D 0F 18 4E 5E 00 18 4E DC E2 4E 52 01 1C 53 0D 63 0D 9B EF 2B 02 20 0C 9A EC 2B 9F 42 54 01 00 00 0C 43 28 16 10 01 2A 14 40 18 1A 42 5C 01 40 18 B2 40 80 5A 5C 01 8F 01 92 00 9F 01 96 00 13 24 89 01 96 00 88 01 9E 00 0C 3C 0C 09 7F 4C 5F 06 80 18 5F 4F 92 00 A9 00 04 00 0D 09 4F 13 A9 00 04 00 D9 08 F2 23 7A C2 3A D0 08 5A 40 18 82 4A 5C 01 B0 13 E6 17 28 16 10 01 92 42 50 03 52 03 92 52 0E 1D 52 03 4C 4C 3C 50 00 02 5C 02 3F 40 00 02 3E 40 0B 00 92 B3 42 03 FD 27 92 C3 42 03 92 52 0E 1D 52 03 B2 D0 80 00 42 03 1C B3 04 24 0C EF B2 F0 7F FF 42 03 5F 01 5C 01 1E 83 EB 23 92 B3 42 03 FD 27 10 01 CD 0C 7C 40 80 00 B0 13 B6 16 B0 13 3C 17 B0 13 B6 16 B2 43 54 01 1D 93 09 38 8B 00 00 1C 7C 4B C2 4C 52 01 B0 13 B6 16 1D 83 F9 23 1D 42 54 01 B0 13 3C 17 80 00 B6 16 4C 4D B0 13 B6 16 CC 0D 8C 10 8C 11 4C 4C 10 01 1A 14 CB 0C 0B 5E CE 0D 0E 63 1B 83 0E 73 13 3C B2 90 A5 A5 12 1D 02 24 6C 42 13 3C CA 0B 0A 8C 09 4A E9 0F CA 0E 0F 18 4A 5A 00 18 4A DB E9 4A 00 00 1B 83 0E 73 0E 9D 03 28 EA 23 0B 9C E8 2F 4C 43 19 16 10 01 F1 03 3B 40 20 00 0E 43 3D 40 E0 FF 7F 4C 7F ED 0E DF 1B 83 FB 23 0E 93 05 24 B1 13 3E 00 7C 40 05 00 0D 3C B1 40 FF 7F 00 00 02 3C 91 83 00 00 91 93 00 00 FB 37 B2 40 A5 A5 12 1D 4C 43 E1 03 10 01 B2 40 80 5A 5C 01 32 C2 03 43 10 01 03 43 FF 3F 03 43 10 01 @17fc FF FF FF FF @ffd2 5E 10 5E 10 @ffda 5E 10 5E 10 5E 10 5E 10 5E 10 5E 10 @ffea 5E 10 5E 10 5E 10 5E 10 5E 10 5E 10 5E 10 5E 10 5E 10 5E 10 42 10 5C 02 0D 6D 5C 02 0D 6D 5C 02 0D 6D 5C 02 0D 6D 5C 02 0D 6D 5C 02 0D 6D 5C 02 0D 6D 5C 02 0D 6D 5C 02 0D 6D 5C 02 0D 6D 5C 02 0D 6D 5C 02 0D 6D 5C 02 0D 6D 5C 02 0D 6D 5C 02 0D 6D 10 01 92 42 14 1D 44 01 3F 40 06 00 1F 52 14 1D 82 4F 40 01 3F 40 E0 FF CF 43 00 00 3F 40 10 00 1F 52 14 1D 82 4F 44 01 4C 43 10 01 1F 4C 01 00 1E 4C 03 00 0E 93 02 20 0F 93 09 24 AD 00 01 00 CD 43 FF FF 1F 83 0E 73 F9 23 0F 93 F7 23 10 01 00 00 04 01 00 00 68 00 01 00 8C 00 01 00 00 1C 00 00 q
Dietmar,
Yes, that's exactly what I did. I imported the CCS_v7_MSP430F543xA_TA_UART project from the Custom BSL. I built it and got the same TXT file you posted showing content in the BSL.
I then modified the linker file to fit the MSP430F5342. Rebuilding gives the TXT file I posted showing nothing in the BSL except for 0xFF. So something must be wrong with the linker file. I'm just using the linker file from the CCS_v7_MSP430F543xA_TA_UART project with some modifications to fit the address map of the MSP430F5342. Do you see anything obviously wrong with the linker file I posted?
If you don't see any problems, do you have a linker file for the MSP430F5342 that gives a working BSL which you're willing to share here?
Thank you,
- William
William,
yes you modified the FLASH memory area and put in the main memory addresses.
But you need to stay with the original because you want to put you code into BSL area right?
FLASH : origin = 0x1042, length = 0x07AE
Dietmar,
I changed the FLASH section definition in my linker file back to the original:
FLASH : origin = 0x1042, length = 0x07AE
I also modified the ZAREA_CODE section definition right before FLASH to shorten the length and avoid an overlap:
ZAREA_CODE : origin = 0x1014, length = 0x002E
This gives me a TXT file showing non-0xFF bytes in the BSL area! So it looks like my BSL area was written.
However, the words at 0x17F4 and 0x17F6 do not show 0xC35A and 0xC35A like what the "Creatinga CustomFlash-BasedBootloader (BSL)" indicates should be there. I also don't see what looks like a good address for the BSP protect function at 0xF7F2. I don't see these words in the TXT file that you posted from the F5438A example in the Custom BSL so perhaps it's okay?
Also, I see the main() and other C functions from the Custom BSL example at address 0x10000 in the FLASH2 section. Is this okay? Shouldn't this BSL code be in the BSL Z-AREA in order to leave FLASH2 for user application code?
It looks like main() from the Custom BSL is running on my MSP430F5342. I'll try talking to it now with BSL Scripter.
Thank you for your continued support.
Hi William
one possibility would be to define this in the linker file
BSLSIG : origin = 0x17F0, length = 0x0002
BSL_PROTECT : origin = 0x17F2, length = 0x0002
BSL_UNLOCK_1 : origin = 0x17F4, length = 0x0002 fill=0xC35A
BSL_UNLOCK_2 : origin = 0x17F6, length = 0x0002 fill=0xC35A
BSL_RESERVED : origin = 0x17F8, length = 0x0002
BSL_START : origin = 0x17FA, length = 0x0002
Then it would appear in the TXT.
@17f4
5A C3 5A C3
@17fc
FF FF FF FF
For the rest I will come back soon.
William,
what I find interesting is that if you use the IAR example out of the BSL example bundle a perfect BSL image is generated as shown below.
So maybe the CCS examples are not running with the latest CCS. May I ask which CCS version you're using?
I will go in contact with the people who developed the examples.
@1000 09 3C 12 3C FF 3F FF 3F FF 3F FF 3F FF 3F FF 3F FF 08 09 04 31 40 00 5C B0 13 16 17 0C 93 00 24 B0 13 D2 16 B0 13 54 17 3D 90 AD DE 04 20 3E 90 EF BE 01 20 03 3C 0C 43 0D 43 10 01 3C 41 3D 41 10 01 0C 43 B2 D0 03 80 82 01 B2 B0 10 00 80 01 01 24 2C D3 10 01 92 42 02 1C 44 01 1F 42 02 1C 3F 50 06 00 82 4F 40 01 C2 43 E0 FF 1F 42 02 1C 3F 50 10 00 82 4F 44 01 4C 43 10 01 1B 15 F1 03 0E 43 3D 40 E0 FF 0A 43 0B 4C 0B 5A 7F 4D 6F EB 0E DF 1A 53 3A 90 20 00 F7 2B 4E 93 0E 20 B1 40 FF 7F 00 00 02 3C B1 53 00 00 2A 41 1A 93 FB 37 B2 40 A5 A5 00 1C 4C 43 04 3C B0 13 56 10 7C 40 05 00 E1 03 1A 17 10 01 B0 13 A8 11 0A 20 4C 43 1F 42 44 01 3F F0 10 00 1F 52 02 1C 3F 50 40 00 02 3C 6C 42 10 01 82 4F 44 01 10 01 6C 42 B0 13 A8 11 0A 20 4C 43 92 42 02 1C 44 01 1F 42 02 1C 3F 50 40 00 82 4F 40 01 10 01 92 42 02 1C 40 01 AD 3F 03 43 3B 15 08 4F 0A 4E 0E 4C 0F 4D 0E 5A 0F 63 07 3C 1F 15 0B 16 6A 4B 0B 8C 0B 58 CB 4A 00 00 3E 53 3F 63 0F 9D 08 28 02 20 0E 9C 05 28 B0 13 A8 11 EF 27 6C 42 01 3C 4C 43 38 17 10 01 5B 15 0A 4E 08 4F B2 43 54 01 06 4C 07 4D 07 3C 17 15 0F 16 6E 4F C2 4E 52 01 16 53 07 63 0E 4C 0F 4D 0E 5A 0F 63 07 9F 03 28 07 20 06 9E 05 2C B0 13 A8 11 ED 27 2C 42 04 3C 98 42 54 01 00 00 0C 43 56 17 10 01 B0 13 A8 11 04 20 B0 13 5C 17 4C 43 10 01 6C 42 10 01 B2 90 A5 A5 00 1C 10 01 1B 15 B0 13 A8 11 0C 20 4F 43 1D 15 0A 16 8A 4E 00 00 1D 15 0A 16 2B 4A 0E 9B 03 24 5F 43 01 3C 6F 42 4C 4F 1A 17 10 01 1B 15 B0 13 A8 11 0C 20 4F 43 1D 15 0A 16 CA 4E 00 00 1D 15 0A 16 6B 4A 4E 9B 03 24 5F 43 01 3C 6F 42 EB 3F 03 43 7B 15 08 4C 07 4D 04 4F 4C 43 0A 48 0B 4D 06 48 06 5E 07 63 02 3C 1A 53 0B 63 0B 97 03 28 1B 20 0A 96 19 2C 18 B3 08 20 0E 46 0F 47 3E 53 3F 63 0B 9F 08 20 0A 9E 06 20 7E 44 0C 4A 0D 4B B0 13 D8 11 07 3C 3E 44 0C 4A 0D 4B B0 13 B0 11 1A 53 0B 63 4C 93 E0 27 74 17 10 01 B0 13 A8 11 12 20 4C 43 92 42 02 1C 44 01 1D 42 02 1C 2D 53 82 4D 40 01 1F 15 0D 16 CD 43 00 00 1F 42 02 1C 3F 50 10 00 32 3F 6C 42 10 01 1B 15 F1 03 0F 43 81 43 00 00 02 3C 3F 40 03 00 B0 13 DC 15 0F 93 0D 20 7C 90 80 00 02 20 1F 43 F7 3F 7C 40 51 00 B0 13 04 15 6C 43 E1 03 1A 17 10 01 1F 93 05 20 4C 4C 82 4C 0C 1C 2F 43 E8 3F 4E 4C 0D 4E 8D 10 2F 93 0F 20 82 DD 0C 1C 82 93 0C 1C 03 20 7C 40 53 00 E6 3F B2 90 05 01 0C 1C D5 2B 7C 40 54 00 DF 3F 0A 4F 1A 53 1B 42 0C 1C 3B 50 03 00 0F 9B 04 20 81 4E 00 00 0F 4A C8 3F 1B 42 0C 1C 2B 52 0F 9B 18 20 81 DD 00 00 2C 41 B0 13 94 16 4C 93 0E 24 5E 42 0E 1C 7E F0 F0 00 7E 90 50 00 03 20 B0 13 FA 13 AC 3F B0 13 4A 17 5C 43 BC 3F 7C 40 52 00 B6 3F CF 4C 0B 1C DE 3F 03 43 1B 15 1F 42 08 1C 5B 4F 03 00 5E 4F 01 00 5C 4F 02 00 0D 43 B0 13 30 17 0C DE 0D DB 0E 4F 2E 52 6A 4F 7A 80 10 00 1A 24 5A 83 12 24 5A 83 1D 24 5A 83 21 24 6A 83 16 24 5A 83 20 24 5A 83 0B 24 5A 83 24 24 5A 83 28 24 6A 83 2D 20 5F 43 07 3C B0 13 B6 16 2C 3C B0 13 96 11 27 3C 4F 43 B0 13 5A 16 25 3C B0 13 56 10 20 3C 0E 4C 0F 4D 4C 43 B0 13 3C 17 1C 3C B0 13 C8 10 17 3C 6E 4E 5F 4F 05 00 8F 10 0E DF B0 13 1E 16 11 3C 6E 4E 5F 4F 05 00 8F 10 0E DF 04 3C 2E 42 3C 40 10 10 0D 43 B0 13 82 14 04 3C 7C 40 07 00 B0 13 EE 16 1A 17 10 01 F2 90 52 00 0E 1C 38 20 5E 42 0F 1C 6E 83 09 24 5E 83 0A 24 5E 83 11 24 5E 83 18 24 5E 83 1F 24 27 3C B0 13 4A 17 29 3C B0 13 4A 17 B2 40 A0 01 04 1C B2 40 D0 00 06 1C 10 01 B0 13 4A 17 B2 40 D0 00 04 1C B2 40 68 00 06 1C 10 01 B0 13 4A 17 B2 40 8A 00 04 1C B2 40 45 00 06 1C 10 01 B0 13 4A 17 B2 40 45 00 04 1C B2 40 22 00 06 1C 10 01 7C 40 56 00 B0 13 04 15 10 01 B2 40 41 03 04 1C B2 40 A0 01 06 1C 10 01 5B 15 0A 4C 0B 4D 08 4C 09 4D 08 5E 09 63 47 43 04 3C B0 13 EE 16 0A 56 0B 63 0B 99 03 28 2F 20 0A 98 2D 2C 47 93 2B 20 B0 13 44 17 3C 53 22 B2 0D 7D 3D E3 0E 48 0F 49 0E 8A 0F 7B 0D 9F 03 28 07 20 0C 9E 05 2C B0 13 44 17 06 4C 36 53 02 3C 06 48 06 8A 1F 42 0A 1C 1F 53 0E 46 0C 4A 0D 4B B0 13 14 11 47 4C 4C 93 D4 23 1F 42 0A 1C FF 40 3A 00 00 00 0C 46 1C 53 B0 13 50 15 CC 3F 56 17 10 01 3F 40 00 02 92 42 50 03 52 03 92 52 04 1C 52 03 4C 4C 0C 5F 0C 5C 7E 40 0B 00 92 B3 42 03 FD 27 92 C3 42 03 92 52 04 1C 52 03 B2 D0 80 00 42 03 1C B3 04 24 0C EF B2 C0 80 00 42 03 5F 01 5C 01 7E 53 EB 23 92 B3 42 03 FD 27 10 01 0A 12 0A 4C 7C 40 80 00 B0 13 04 15 4C 4A B0 13 04 15 0C 4A 8C 10 B0 13 04 15 B2 43 54 01 0D 43 07 3C 5C 4D 0E 1C C2 4C 52 01 B0 13 04 15 1D 53 0D 9A F7 3B 1D 42 54 01 4C 4D B0 13 04 15 8D 10 4C 4D B0 13 04 15 3A 41 10 01 B2 40 0E 1C 08 1C B2 40 0E 1C 0A 1C B0 13 74 14 B2 40 33 02 68 01 82 43 60 01 B2 40 40 00 62 01 82 43 6A 01 B2 40 3C 20 64 01 B2 40 20 00 42 03 B2 40 20 02 40 03 F2 40 06 00 0A 02 E2 43 04 02 10 01 0C 43 B2 40 20 89 44 03 92 B3 44 03 FD 27 B2 F0 FE FE 44 03 92 52 06 1C 54 03 7E 40 09 00 92 52 04 1C 54 03 92 C3 44 03 92 B3 44 03 FD 27 5C 01 B2 B0 00 04 44 03 02 24 3C D0 00 01 7E 53 EF 23 10 01 F1 03 0F 41 B0 13 50 11 2C 92 04 20 6C 42 B0 13 EE 16 12 3C 1F 42 0A 1C FF 40 3A 00 00 00 1F 42 0A 1C EF 41 01 00 1F 42 0A 1C DF 41 01 00 02 00 3C 40 03 00 B0 13 50 15 E1 03 10 01 3B 15 0A 4C 0B 4D 09 4E 48 4F B0 13 EC 10 4C 93 0C 20 B2 90 05 00 0C 1C 08 28 0F 49 1E 42 0C 1C 2E 82 0C 4A 0D 4B B0 13 FE 11 48 93 02 20 B0 13 EE 16 B0 13 0A 11 38 17 10 01 B2 43 54 01 0F 43 04 3C D2 4F 0E 1C 52 01 1F 53 1F 92 0C 1C F9 2B 1C 92 54 01 4C 43 22 B3 4C 63 10 01 1C 42 08 1C 1C 53 B0 13 7C 10 4C 93 03 20 4C 43 80 00 EE 16 7C 40 05 00 80 00 EE 16 B0 13 06 17 B0 13 24 17 B0 13 9A 15 B0 13 86 12 5C B3 FC 27 B0 13 48 13 F9 3F 03 43 1F 42 0A 1C FF 40 3B 00 00 00 1F 42 0A 1C CF 4C 01 00 2C 43 80 00 50 15 0F 41 3F 50 00 E4 8F 43 FE 1B 2F 83 FC 23 10 01 B2 40 80 5A 5C 01 32 C2 03 43 0C 43 10 01 82 43 00 1C B2 40 00 A5 02 1C 10 01 4D EC 0D EC 8D 10 7C F3 8C 10 10 01 B0 13 58 12 80 00 EE 16 3C 40 04 01 10 01 4C 43 80 00 04 15 FF 3F 03 43 80 00 58 17 80 00 50 17 1D 15 10 01 @17F0 FF FF 42 10 A5 3C 5A C3 FF FF 00 10 FF FF FF FF @FFAE 14 10 q
Dietmar,
I am using CCS version 9.3.0.
I appreciate you contacting the people who developed the examples. Hopefully, they can explain why the IAR example works but the CCS example does not. At least when modified for the F5342.
Regards,
- William.
Dietmar,
Also, the MSP430F543xA_TA_UART_IAR.txt TXT file shows no code at 0x10000. Yet, the C code for the custom BSL example in CCS is being placed at 0x10000. Is this yet another change I need to make to my linker file to put all of the custom BSL example code, including the C code, into the BSL?
Regards,
- William.
William,
I discussed with the experts and they are aware of this issue and work with priority to get it fixed.
It has nothing to do with your changes at all and the linker command file seems not to be the problem. The issue with current CCS versions is that the BSL_low_level_init file is not found within the CCS file structure on newer CCS version.
So as quick idea I can only recommend to use either IAR or CCS v7. But I will push for and updated BSL project release fixing these issues as soon as possible.
Dietmar,
So there *is* a problem with CCS and the Custom BSL example project. I'm glad to hear the experts say there is indeed an issue and that they're working to fix it.
For what it's worth, I noticed BSL_Device_File.h is shown in the imported project Project Explorer but it doesn't actually exist in the file system. I suspect this is what's giving a warning about "This project contains 1 unresolved buildable linked resource(s). The project may not build as expected." when building.
I look forward to hearing back from you and the experts.
Regards,
- William.
Hi William,
I got the info that a temporary workaround exist under following thread:
http://e2e.ti.com/support/microcontrollers/msp430/f/166/p/872514/3238096#3238096
Meanwhile BSL experts working on getting this fixed on the web examples as well. However release of the package might take longer.
Please let us know if this works for you at the moment?
Dietmar,
I tried the workaround in http://e2e.ti.com/support/microcontrollers/msp430/f/166/p/872514/3238096#3238096. Unfortunately, I was unable to rebuild the libc.a library with a new boot.c that had the MPU functions commented out at the end so this workaround did not work for me. Thus, I think I'll wait to get something from the BSL experts to test.
In the meantime, perhaps some of my other questions can be addressed? Specifically, should the C code in the custom BSL example be placed at 0x10000 (FLASH2 section)? If so, doesn't that overwrite any application code that may have been at 0x10000? Shouldn't all of the custom BSL code be in the BSL section?
Thank you,
- William.
Hi William,
so with CCS it seems that the compiler has challenge to generate machine code which fits into BSL memory area. Normally all the should be located from 0x1000 to 0x17FF otherwise it will not work properly.
Historical BSL was developed on IAR therefore with IAR it works fine. So BSL experts work on getting the issues fixed so that we can compile a meaningful image and then compiler optimization can be checked to fit BSL binary into BSL memory section.
Dietmar,
So as suspected, all code, including the C code, for the custom BSL example (or any BSL) needs to fit into the BSL area from 0x1000 to 0x17FF. No code should be at 0x10000. That makes sense since I expect user application code to be at 0x10000, not BSL side.
I look forward to trying new code from the BSL experts whenever it is ready.
Regards,
- William.
Hi William,
want to give an heads up on schedule. Tentative release goal of new SW for BSL package is end of March.
Dietmar,
I appreciate the update about the schedule. This helps with my planning.
I look forward to hearing something around the end of March.
Regards,
- William.
Hello Dietmar,
I hope you are safe.
Now that it is the end of March, I'd like to ask for an update on when new custom BSL software might be available to try with CCS?
Thank you,
- William.
Hi William,
thanks doing fine in these strange and crazy days hope you as well?
Thanks for follow up so I chatted with our BSL development person and we will release it to web this week. Actually we are in the approval process which is slightly delayed due to this strange corona situation. An update will be provided in the thread once it is available on the web.
Thanks for your understanding and patience on this.
Stay safe!
Hi William,
We are still waiting the publishing process at the moment. There are couple of internal new process that I need to go through to be able to get this update online. I'll keep you update on this thread until it gets published. I apologize for the delay from the date that we scheduled before. Stay healthy and safe.
Hi William,
the new update of the Custom BSL 430 is now online http://software-dl.ti.com/msp430/msp430_public_sw/mcu/msp430/MSPBSL_CustomBSL430/1_02_00_01/index_FDS.html please refer to the section 1.3.3 on this application note http://www.ti.com/lit/an/slaa450g/slaa450g.pdf that to build the BSL image fits into BSL area, we need to limit the functionality of the BSL. however this is modifiable. let me know if you have further question.
Fatmawati,
I'm delighted to hear the Custom BSL update for the MSP430 is now online. I will look it over and try it. This may take a little longer than usual because I can get access to my lab and eval board only occasionally with stay-at-home restrictions in effect for my area. I'll let you know if I can make more progress in CCS with this update.
Regards,
- William.
Fatmawati,
I tried compiling the new 1_02_00_01 Custom BSL code. I get the warning below when I build the project with CCS v9.3. Is this something to be concerned about?
#10247-D creating output section ".TI.noinit" without a SECTIONS specification
Regards,
- William.
Hi William,
apologize for late response on this. this warning should not affect the code. we can fix this warning by having additional:
.TI.noinit : {} > RAM /* C I/O BUFFER */
under "SECTIONS" in the linker command file.
**Attention** This is a public forum