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.
Hello everyone,
I am trying to implement MSPBoot code for MSP430FR2476. I am using MSP430FRBoot document and MSP430FRBoot 1_03_00_00 examples. I have a few questions:
1- I am using Code Composer Studio. As i can see from "MSPBoot_FR2433_UART", there are custom target configurations(Example : BSLBased_16bit_UART). These configurations seem to be created automatically for the given device. How can I generate the configuration for the different device (MSP430FR2476)? What is the proper way?
2- There is a linkergen util that creates a linker file for the given device. But it seems like memory mappings are created according to the flash series. If I understand right, there are some wrong areas (like FLASH), and there are some missed areas (JTAGSIGNATURE, FRAM, etc.). Should users create linker files manually for FRAM devices? Is it okay to use linker files that are generated by linkergen? If yes why it is okay to use a flash-based linker and is it the proper way to use it?
Best Regards,
Ege
Hello Ege,
For FRAM devices, you should only be utilizing the SW associated with MSPFRBOOT. It has a linkergen in that SW downloads that supports MSP430FR devices.
For instructions on porting MSPFRBOOT to other FRAM devices, see section 6 of the MSPFRBOOT User Guide.
Hello Jace,
I already checked this document and also used the example MSP430FRBoot 1_03_00_00 as I mentioned. This is the zip that contains linkergen, right? My two questions are:
1- If you check linkergen, generated linkers for example devices are flash-based. There is no area about frame or jtagsignature in memory part. Like:
MEMORY
{
SFR : origin = 0x0000, length = 0x0010
PERIPHERALS_8BIT : origin = 0x0010, length = 0x00F0
PERIPHERALS_16BIT : origin = 0x0100, length = 0x0100
// RAM from _NonReserved_RAM_Start - __RAM_End
RAM : origin = 0x2008, length = 0xff8
// Flash from _App_Start -> (APP_VECTORS-1)
FLASH : origin = 0x8003, length = 0x779f
// Interrupt table from _App_Vector_Start->(RESET-1)
INT00 : origin = 0xf7a2, length = 0x0002
INT01 : origin = 0xf7a4, length = 0x0002
INT02 : origin = 0xf7a6, length = 0x0002
INT03 : origin = 0xf7a8, length = 0x0002
INT04 : origin = 0xf7aa, length = 0x0002
INT05 : origin = 0xf7ac, length = 0x0002
INT06 : origin = 0xf7ae, length = 0x0002
INT07 : origin = 0xf7b0, length = 0x0002
INT08 : origin = 0xf7b2, length = 0x0002
INT09 : origin = 0xf7b4, length = 0x0002
INT10 : origin = 0xf7b6, length = 0x0002
INT11 : origin = 0xf7b8, length = 0x0002
INT12 : origin = 0xf7ba, length = 0x0002
INT13 : origin = 0xf7bc, length = 0x0002
INT14 : origin = 0xf7be, length = 0x0002
INT15 : origin = 0xf7c0, length = 0x0002
INT16 : origin = 0xf7c2, length = 0x0002
INT17 : origin = 0xf7c4, length = 0x0002
INT18 : origin = 0xf7c6, length = 0x0002
INT19 : origin = 0xf7c8, length = 0x0002
INT20 : origin = 0xf7ca, length = 0x0002
INT21 : origin = 0xf7cc, length = 0x0002
INT22 : origin = 0xf7ce, length = 0x0002
INT23 : origin = 0xf7d0, length = 0x0002
INT24 : origin = 0xf7d2, length = 0x0002
INT25 : origin = 0xf7d4, length = 0x0002
INT26 : origin = 0xf7d6, length = 0x0002
INT27 : origin = 0xf7d8, length = 0x0002
INT28 : origin = 0xf7da, length = 0x0002
INT29 : origin = 0xf7dc, length = 0x0002
INT30 : origin = 0xf7de, length = 0x0002
INT31 : origin = 0xf7e0, length = 0x0002
INT32 : origin = 0xf7e2, length = 0x0002
INT33 : origin = 0xf7e4, length = 0x0002
INT34 : origin = 0xf7e6, length = 0x0002
INT35 : origin = 0xf7e8, length = 0x0002
INT36 : origin = 0xf7ea, length = 0x0002
INT37 : origin = 0xf7ec, length = 0x0002
INT38 : origin = 0xf7ee, length = 0x0002
INT39 : origin = 0xf7f0, length = 0x0002
INT40 : origin = 0xf7f2, length = 0x0002
INT41 : origin = 0xf7f4, length = 0x0002
INT42 : origin = 0xf7f6, length = 0x0002
INT43 : origin = 0xf7f8, length = 0x0002
INT44 : origin = 0xf7fa, length = 0x0002
INT45 : origin = 0xf7fc, length = 0x0002
// App reset from _App_Reset_Vector
RESET : origin = 0xf7fe, length = 0x0002
}
My question is, is this normal for FRAM devices? If yes why, because it seems like these memory sections are MSP430F series based?
2- I also checked the section you mentioned in the document. There are custom configs (like :BSLBased_16bit_UART) that are autogenerated under CCS folder in examples. Even I do what is mentioned in the section 6, the config files are still for MSP430FR2355. I am using Code Composer Studio btw. Should it be like this and why?
1) The linkergen provided with MSPFRBOOT is the one you should use for FRAM devices.
2) The configs provided are example. You will need to port your chosen device, including changing pins, peripherals, code, memory bounds, and CCS target for your device.
**Attention** This is a public forum