TI E2E Community
C2000 32-bit Microcontrollers Forum
Booting Concerto Experimenters Kit from On Board Flash
I have successfully been able to run applications on both the M3 and C28 core of the concerto kit using the debug tool in Code Composer 4. However, I am struggling to get the correct settings to boot the device out of on board flash. Could someone provide the correct jumper and switch settings to get the device to boot on its own without the debugger.
The key to getting Concerto to boot on its own is disconnecting TRST from the emulator. This can be done by switching the left most switch in SW3 to the down position. You will also need to ensure that all the switches in SW1 are in the up position. This will allow the M3 to boot standalone. To boot the C28 you need to have a call to the IPC function that boots the C28:
// Send boot command to allow the C28 application to begin execution IPCMtoCBootControlSystem(CBROM_MTOC_BOOTMODE_BOOT_FROM_FLASH);
Take a look at the dual core blinky example in the latest Concerto controlSUITE release (v110) for an example.
I am having the same problem. I am loading the software and running the Master version of the blinky program. I am able to step through it fine and it plays fine. When I stop the debugging, it continues to run the blinky program. On power cycle, it no longer runs the program. My SW3 position one has been switched to OFF, and SW1 remains in default (all in the ON/UP position). Is this because I am running the Master version of blinky and the C2000 core is not getting programmed?
You'll need to set the SW1 dip switches to the OFF position (towards the DIMM connector). This will configure the M3 core to boot from flash.
If you want to boot the C28x from flash, you will need to send a IPC command to the C28x. Trey's post shows how to do this.
Thanks Harrison, but Trey's post says that the dip dwitches in SW1 should be in the up position (away from the dimm connector) and the left most switch position in SW3 should be in the down position. I have tried with all switches in SW1 in the down position(towards the dimm connector) and it seems to be doing something, but it does it slower, for example, the blinky code blinks much slower than when i'm running it from debug mode.
The F28M35x_examples_Master blinky example doesn't configure the Flash wait states, which would be why you are seeing slower code execution. Try the F28M35x_examples_Dual version and you should see the LED blink at the correct frequency.
The lines of interest for configuring the flash waitstates in blinky_dc_m3.c:
// Copy time critical code and Flash setup code to RAM// This includes the following functions: InitFlash();// The RamfuncsLoadStart, RamfuncsLoadSize, and RamfuncsRunStart// symbols are created by the linker. Refer to the device .cmd file. memcpy(&RamfuncsRunStart, &RamfuncsLoadStart, (size_t)&RamfuncsLoadSize); // Call Flash Initialization to setup flash waitstates// This function must reside in RAM FlashInit();
What position should the SW3 switches be in?
to run from flash (without debugger) SW3-1 must be down. SW3-2 doesn't matter (it's just for the UART).
If you check on the control suite package \\TI\controlSUITE\development_kits\~controlCARDs\CCF28M35xxHWdevPkg\ you can find a PDF with the schematic for the board and will see that SW3-1 is connects or disconnects the TRST-n signal from the JTAG emulator. That way, for the board to run from flash without the debugger, the JTAG emulator must be disconnected. Hope it makes sense.
All content and materials on this site are provided "as is". TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with respect to these materials. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI.
TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs andembedded processors, along with software, tools and the industry’s largest sales/support staff.