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.
Tool/software: Code Composer Studio
Hi all,
We are trying to load the release FW version in a RM41L232 microcontroller using CCS and we are having problems with it. We are using the XDS200 USB programmer, we have generated the hex or out files with the code composer and load them with the UNIFLASH program version 4.3.1 but unsuccessfully. When we load the release version it does not give any fault in the programming or in the verification but the equipment does not do anything (not a simple blink of a led). Could you give us any idea of where the fault is? If you need more information please request us anything.
Best regards
To have another reference point, does the same program (.out) run as expected when loaded using CCS?
The (.out) and the (.hex) do the same thing, when uploaded the system remains inoperative.
Marcos Martinez said:The (.out) and the (.hex) do the same thing, when uploaded the system remains inoperative.
We need to isolate if the issue is with the tool (Uniflash) or the firmware code. To that end I was asking whether you are able to load and run the code successfully using CCS instead of Uniflash (to help isolate if the issue is specific to Uniflash).
And as Sunil suggested, are you able to load and run the "Debug" version of the firmware code successfully? How about other programs?
Marcos Martinez said:If we load the Debug version with CCS it works OK, but we have been not able to make a (.hex) and load it with Uniflash succesfully.
How about if you load the .out file (instead of .hex file) using Uniflash? Does that work? If it works, then the issue could be in the hex conversion process.
Marcos Martinez said:We don't have any other program to load with Uniflash and try, do you have a simple test program to try loading it?
Sunil, do you have a known good example program for this target device that they could try with Uniflash?
Marcos,
Can you please upload the CCS project that you are using to try to blink the LED? I can look at the configuration options and see if a compiler optimization is causing the pin toggle code to be optimized out.
Aarti,
The issue is not with loading / verifying the code with CCS or Uniflash. It is just that the code does not do what is expected after programming.
The difference is between the "Debug" and the "Release" versions of the compiled output. Do you know what optimization levels are automatically enabled when going from "Debug" to "Release" configurations in a given CCS project?
Regards, Sunil
Sunil Oak said:Do you know what optimization levels are automatically enabled when going from "Debug" to "Release" configurations in a given CCS project?
That depends entirely on the project as the options are fully customizable. However, for a default Cortex R project created using the CCS New Project wizard, the "Debug" configuration has no optimization and "Release" has -o2 optimization.
Hi Marcos,
Can you connect a debugger to see if the code you desire is part of the executable code or not? What part of the code is the execution lost in? Is it a simple test to blink an LED? Can you upload this CCS project so I can take a look? How about pasting just the main() function which includes the code that is not being executed? I will create a sample test case to blink an LED as well, but that may not help you much.
Regards,
Sunil
Hi Sunil,
We generate the (.hex) file enabling the ARM Hex Utility (right click in project folder - properties) in release version.
Best regards
Marcos Martinez said:We generate the (.hex) file enabling the ARM Hex Utility (right click in project folder - properties) in release version.
I suspect the options used with the hex utility may not be the ideal choices.
Since hex options are driven by the device and desired output format/hex programmer I can't tell what the exact options should be. But if you post the hex command you are using (it should be shown in the CCS build console) I could check to see if something obvious stands out.
Marcos,
Depending on the output format and other options selected, the output of the hex utility will be a single hex file or multiple hex files. If multiple files are generated but you are only programming one of them using the flash programmer then it will not function correctly.
When the "Output format" option is left blank, it defaults to Extended Tektronix format. For this format, the default romwidth is 8. Since the default memwidth for Cortex ARM device is 32, not specifying any options will result in 4 output hex files. To generate a single file, specify the romwidth option to be 32.
Please see this article for more information.
Also the Hex Conversion Utility chapter in the ARM Assembly Language Tools Users Guide has details on the different hex formats and other options supported by the hex utility. Hope this helps.