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.

MSP430F6659 Custom BSL SLAA450 example

Other Parts Discussed in Thread: MSP430F6659

Hi,

I am working on developing a bootloader for our MSP430F6659 MCU and consider to use custom BSL.

We found application note SLAA450.

I tried to use the example project SLAA450/5xx_6xx_BSL_Source/MSP430F552x_USB.The linker file I used is lnk430F5529_BSL_AREA.xcl. and change device to MSP430F6659. When I compile the project, got an error"

Error[e104]: Failed to fit all segments into specified ranges. Problem discovered in segment CODE. Unable to place 18 block(s) (0x734 byte(s) total) in 0x72d byte(s) of memory. The problem occurred while processing the segment

placement command "-P(CODE)CODE=1010-17FF", where at the moment of placement the available memory ranges were "CODE:10d3-17ff"

Error while running Linker

So I comment "#define RAM_WRITE_ONLY_BSL 0x80" line 141 in BSL_Device_File.h, compiled without problem.

To try the BSL function I did the followed process.

1. Compile BSL project code and download via IAR

2. Inside application code, implement an invoke function, 

__disable_interrupt();

((void(*)())0x1000)();

3. Compile application project and download via CCS.

4. During application running, call that invoke function to run BSL.

But when the application jump to 0x1000, I didn't see windows find the usb device. While before I program BSL, I tried the same way, Windows detect the usb device. So I believe after program custom BSL, it didn't work properly.

Can you please give me some advice to debug it?

Regards,

Jonathan

**Attention** This is a public forum