Part Number:MSP430FR6972
Tool/software: Code Composer Studio
Dear Team
One of my customer has been working on MSP430FR6972 for different water-meter projects. They are having some questions regarding to the code protection on FR6972. They also want to get an example code for the code protection. Could you please check below question and provide your feedback if possible?
We have some questions about CCS v8.0.0 and MSP430FR6972.
1- When JTAG password and IPE are enabled in the project, first programming attempt gives an error which is shown below. Second programming attempt is successful but next one fails again. As a result even number of programming attempts are successful. Why do odd number of programming attempts fail?
MSP430: File Loader: Verification failed: Values at address 0x04800 do not match Please verify target memory and memory map.
MSP430: GEL: File: C:\Users\...\Debug\project.out: a data verification error occurred, file load failed.
2- slaa685 says that vector table could be used as JTAG password. If we use JTAG password, which is longer than 30 word, an error, which is shown below, is given before reaching end of the vector table. Is there any document which shows maximum JTAG password length supported by MCUs?
MSP430: Error connecting to the target: Provided password exceeded the maximum length supported for the current device.
3- If length of JTAG password is 2 word, there is no problem in other words no need to change JTAG password in CCS. If length of JTAG password is 30 word, first programming attempt fails, second programming attempt is successful when password is deleted from CCS. Why should we write and delete JTAG password in CCS for each programming, if the length of JTAG password is 30 word?
4- If an IPE function is just called by non-IPE interrupt, where should be the function located, IPE function area or IPE interrupt area? In other words which below pragmas are correct? Additionally, if this IPE function has sub IPE function, is same pragma correct for it too?
#pragma CODE_SECTION(ipeFunctionJustCa
lledByNonIpeISR, ".ipe")
#pragma CODE_SECTION(ipeFunctionJustCalledByNonIpeISR, ".ipe:_isr")
#pragma CODE_SECTION(ipeFunctionJustCalledByIpeISR, ".ipe")
#pragma CODE_SECTION(ipeFunctionJustCalledByIpeISR, ".ipe:_isr")
5- Is it ok that all functions and all variables are in the IPE area? If yes, is there an option to tell that all project will be in IPE area instead of telling it for each functions and for each variables?
6- Why is "enable realtime mode" in passive, in other words why cannot we enable it in CCS v8.0.0 for MSP430FR6972? How can we debug a running device without resetting it?
We have some questions about static library project with using CCS v8.0.0 and MSP430FR6972.
1- IPE will be used in both static library project and main project. Should we enable IPE in the project properties for both static library project and main project or just for main project?
2- Does it matter to choose debug or release configuration and optimization level for static library project? In other words, does *.lib file use project properties of the main project?
3- Is there any document about static library project for MSP430 other than below wiki?
http://processors.wiki.ti.com/index.php/Creating_Library_for_MSP430_Project_using_CCS_v5#Creating_Static_Library_Code
Best regards