TI E2E Community
C2000 32-bit Microcontrollers Forum
Can FLASHApi Flash_Erase() failures lock the device?
First, some background. I am updating a project and hardware which allows updates over the CAN bus.I updated to the latest CCSv5 5.2.0.00069 and v6.1.0 compiler and FlashAPI 3.10 and rts2800_fpu32.lib. All the code loads to FLASHA and runs from SARAM. I'm debugging with JTAG.
With this setup, I now get a bunch of linker warnings (which I ignored). With previous tools I had a clean compile.
#16002-D build attribute vendor section TI missing in "../Flash28335_API_V210.lib<Flash28_ClearLoop.obj>": compatibility cannot be determined XXXX C/C++ Problem
My code changes included:
FLASH_ST FlashStatus; // Flash erase status.
if (STATUS_SUCCESS == status)
which was failing with status=13 which corresponds to STATUS_FAIL_INCORRECT_PARTID.
After getting this fault, I made some code changes and now I get the following when I try to debug"
C28xx: Flash Programmer: Warning: The configured device (TMS320F28335), does not match the detected device (). Flash Programming operations could be affected. Please consider modifying your target configuration file.C28xx: GEL Output: ADC Calibration not complete, check if device is unlocked and recalibrate.C28xx: GEL Output: ADC Calibration not complete, check if device is unlocked and recalibrate.C28xx: Flash Programmer: Error erasing flash memory. Device is locked or not connected. Operation cancelledC28xx: Flash Programmer: Error erasing Flash memory.C28xx: Flash Programmer: Device is locked or not connected. Operation cancelled.C28xx: Trouble Writing Memory Block at 0x338000 on Page 0 of Length 0x54 C28xx: GEL: File: F:\Users\XXXXX.out: Load failed.
My Properties/General selects the Device Family: C2000, TMS320F28335 which matches my hardware.
If I connect JTAG to an eZDSP board it connects and downloads fine.
Did I inadvertently lock my device? How do I get rid of the link warnings?
When I change the boot mode of the eZDSP to "Branch to check boot mode" and don't have it erase anything during the load. (run from RAM) I can get some code loaded and have it run. I can also look at the CSM registers and the memory window on FLASHA shows it is not secured and completely erased. (including CSM_PWD locations)
So I don't think I have bricked my hardware. However, if I try to erase a flash sector I get the message about:
C28xx: Flash Programmer: Warning: The configured device (TMS320F28335), does not match the detected device (). Flash Programming operations could be affected. Please consider modifying your target configuration file.
This is starting to smell like a tool problem. How do I figure out what device CCSv5.2.00069 is detecting???
When I run SDConfigEx:
* Checking emulator/eZdsp scan connection
** Emulator Test ** $$ EmuProductName=XDS510USB $$ EmuPortAddr=0x510 $$ EmuPortMode=USB $$ ProductId=510 $$ ProductVersion=84 ** Emulator Scan Test -- Found JTAG IR length of 38 -- Found 1 JTAG device(s) in the scan chain
But I don't know how to see the scan test values (and this isn't necessarily the same method used by CCS)
As a sanity check on the flash settings, I ran the On-chip flash frequency test and I see the 10khz on the GPIO pin but it only toggles for approximately 35msec???
I'm also confused by CSM. From my reading of the app note, I should see zeros if I try to read flash. However, when I reset using CCS I see the CSMSCR.SECURE=0 and the flash looks erased. All FFFF's. However, if I do a restart the flash memory shows up as all 0's and the CSMSCR.SECURE=1 which makes it look like I bricked my boards???
What's the definitive test (via CCSv5) for whether a TMS320F28335 is CSM locked?
I had a similar problem with a TMS320f28027. After the update of my CCS4.2.4 I`ve got also the message:
The configured device (TMS320F28027), does not match the detected device (). Flash Programming operations could be affected. Please consider modifying your target configuration file.
After I exchanged my license I had some problems with the linker. With the message:
warning: creating output section ".xxx" without a SECTIONS specification
There where an additional *.cmd-file in my project. I don`t know why.
After I deleted this file and linked the "DSP280x_Headers_nonBIOS.cmd" everything worked fine.
I`m really not an expert in CCS and I don`t know why the way I described work, but perhaps you can also go this way.
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.