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.

Problem with program download to CC1110 using CC Debugger - chip is locked.

 

Hi!

Every time I try to program CC1110 with Flash Programmer (mode "Erase, program and verify") I receive a message "CC1110 - ID0868 : Chip is locked! (Erase chip to unlock it)".


If I select "Erase" or "Erase and program command then Flash Programmer reports "OK". But then if I try "Erase, program and verify" – I have the same massage: "CC1110 - ID0868 : Chip is locked! (Erase chip to unlock it)". I tested several boards with the same result. Need to say that when my target board with CC1110 is connected to CC Debugger then Flash programmer correctly indentifies CC1110 chip. Schematic of test board is my own, but it simple and very close to IIFA Reference design example. I use external VDD 3,3V. All connections are correct. When programming in process – I see a pulses on all programming line of chip: Reset, DD, DC with excellent form of edges. At last, when I read flash in to file, it contains only 0xFF. So, I think that chip can’t enter to programming mode. Similarly situation takes place when I try to debug chip using IAR. When I start debugging in IAR – downloading process begins, but then I get error message:

 

  

Thanks!

Anatoliy K.

 

  • One possible cause could be if some of the debug lock bits (described on page 71 in the datasheet) are set to write protect.

  •  

    Yes, that right. But on page 71 in the datasheet it is written that:
    The CHIP_ERASE command will set all bits in
    flash memory to 1. This means that after
    issuing a CHIP_ERASE command the boot
    sector will be writable, no pages will be write-
    protected, and all debug commands are
    enabled.”
    So, after erasing chip must be full read/write accessible, but I have not it.

     

  • I have the same problem, but without "chip is locked".

    Flash programmer can errase chip, and read chip flash, but verify is not ok

    and programmer write that programming ok but i think  is not, becose after programming i read flash and it differ 

    that's mean programing not perform

    smart rf studio can change registers but i can't change freq, i think chip clock by RC-osc and i can't change it to 26 MHz XTAL-osc mount on the board

     

    so can somebody help me???

  • now i think that is wrong format of .hex or something like that... but still not work

     

    format is ok, i need think in other way...

  • Hello,

    Could you please check what is the voltage at pin 30 (DECOUPL)?

    BR,

    N.

  • I cheked it.  1.79 V at pin 30.

  • Thanks for confirming; the reason I asked this is that I have seen exact similar issue before  and  it was noticed that the die attach pad was not soldered to the GND pad properly. For your case we can see that the digital regulator is infact working properly.

    BR,

    N.

  • when i erase chip and read from it i see 0xFF at all address

    but if i program the chip and then read it i see first asm directive LJMP to 0xD3 (where i guess must be "main()" ), something at address 0x0400 - 0x040E, something at address 0x0800 - 0x082F

    all others are  blank (0xFF)

    so something is programmed in chip but not that i need or not correct

  • very small programs are programming in the chip once in 20 attempts

  • Can you monitor the DECOUPLE voltage during a program cycle?  Is this voltage dropping (or even possibly raising) during the programming cycle?  If it is, this could be a sign that the ground pad underneath the chip is not fully soldered, that it is only making contact via a relatively higher impedance than expected and thus allowing the flash accesses to fail.  Problems of this nature almost always come back to this connection in some form or another.  Sometimes there is never a clear indication of this issue except for just seeing "odd behavior".  Replacing or reflowing the part can many times fix these issues but it can leave you a bit uneasy as the root cause is never really verified.

    Jim Noxon

  • I am resold a part and then change it, not resolve a problem...

    still programming complete with error, now even small programs don't loads...

     

    1.8 V on pin 30 is stable in all modes

    sometimes flash programmer write that chip is blocked

    i am in confusion

  • At this point the help I can provide you is a bit limited.  I would suggest trying to download your code using an existing setup that is provided by TI, i.e. use a CC1110EM on a SmartRF04EB board or on a battery board.  If that works then the tools can be ruled out.

    If the tools seem to work, the only thing else I can do is take a look at your design files.  I can verify the schematic is correct and that the layout files appear correct.  If those don't show anything that would indicate the problems you are having, then it is almost certainly an assembly issue.  Either the part isn't getting properly soldered down properly (especially the groudn pad underneath the part), or one of the passive components like the bias resistor or bypass capacitors are not working properly.

    If you don't want to post yoru schematics and layout files publically, you can send them directly to me by clicking on my avatar link and in my profile page click on "Start a conversation" in the upper right region of the page.  This will open a blind email client for private correspondence.

    Jim Noxon

  • i send a schematic to you

    i haven't idea...

  • some times program almost ok but moved by one symbol

     

    Wed Aug 10 12:57:49 2011: Verify error at address 0xF. Value should be 0x00  but is 0x11. 

    Wed Aug 10 12:57:49 2011: Verify error at address 0xE. Value should be 0x02  but is 0x00. 

    Wed Aug 10 12:57:49 2011: Verify error at address 0xD. Value should be 0x03  but is 0x02. 

    Wed Aug 10 12:57:49 2011: Verify error at address 0xC. Value should be 0x00  but is 0x03. 

    Wed Aug 10 12:57:49 2011: Verify error at address 0xB. Value should be 0xB9  but is 0x00. 

    Wed Aug 10 12:57:49 2011: Verify error at address 0xA. Value should be 0x20  but is 0xB9. 

    Wed Aug 10 12:57:49 2011: Verify error at address 0x1F. Value should be 0x08  but is 0x79. 

    Wed Aug 10 12:57:49 2011: Verify error at address 0x1E. Value should be 0x00  but is 0x08. 

    Wed Aug 10 12:57:49 2011: Verify error at address 0x1D. Value should be 0x02  but is 0x00. 

    Wed Aug 10 12:57:49 2011: Verify error at address 0x1C. Value should be 0xBF  but is 0x02. 

    Wed Aug 10 12:57:49 2011: Verify error at address 0x1B. Value should be 0x81  but is 0xBF. 

    Wed Aug 10 12:57:49 2011: Verify error at address 0x1A. Value should be 0x75  but is 0x81. 

    Wed Aug 10 12:57:49 2011: Verify error at address 0x19. Value should be 0x00  but is 0x75. 

    Wed Aug 10 12:57:49 2011: Verify error at address 0x18. Value should be 0xD0  but is 0x00. 

    Wed Aug 10 12:57:49 2011: Verify error at address 0x17. Value should be 0x75  but is 0xD0. 

    Wed Aug 10 12:57:49 2011: Verify error at address 0x16. Value should be 0x03  but is 0x75. 

    Wed Aug 10 12:57:49 2011: Verify error at address 0x15. Value should be 0x00  but is 0x03. 

    Wed Aug 10 12:57:49 2011: Verify error at address 0x14. Value should be 0x12  but is 0x00. 

    Wed Aug 10 12:57:49 2011: Verify error at address 0x13. Value should be 0x23  but is 0x12. 

    Wed Aug 10 12:57:49 2011: Verify error at address 0x12. Value should be 0x00  but is 0x23. 

    Wed Aug 10 12:57:49 2011: Verify error at address 0x11. Value should be 0x12  but is 0x00. 

    Wed Aug 10 12:57:49 2011: Verify error at address 0x10. Value should be 0x11  but is 0x12. 

    Wed Aug 10 12:57:49 2011: Verify error at address 0x2F. Value should be 0x00  but is 0x34. 

    Wed Aug 10 12:57:49 2011: Verify error at address 0x2E. Value should be 0x34  but is 0x00. 

    Wed Aug 10 12:57:49 2011: Verify error at address 0x2D. Value should be 0xE9  but is 0x34. 

    Wed Aug 10 12:57:49 2011: Verify error at address 0x2C. Value should be 0xF8  but is 0xE9. 

    Wed Aug 10 12:57:49 2011: Verify error at address 0x2B. Value should be 0x01  but is 0xF8. 

    Wed Aug 10 12:57:49 2011: Verify error at address 0x2A. Value should be 0x24  but is 0x01. 

    Wed Aug 10 12:57:49 2011: Verify error at address 0x29. Value should be 0xE8  but is 0x24. 

    Wed Aug 10 12:57:49 2011: Verify error at address 0x28. Value should be 0x08  but is 0xE8. 

    Wed Aug 10 12:57:49 2011: Verify error at address 0x27. Value should be 0x80  but is 0x08. 

    Wed Aug 10 12:57:49 2011: Verify error at address 0x26. Value should be 0x00  but is 0x80. 

    Wed Aug 10 12:57:49 2011: Verify error at address 0x25. Value should be 0x79  but is 0x00. 

    Wed Aug 10 12:57:49 2011: Verify error at address 0x24. Value should be 0x01  but is 0x79. 

    Wed Aug 10 12:57:49 2011: Verify error at address 0x23. Value should be 0x78  but is 0x01. 

    Wed Aug 10 12:57:49 2011: Verify error at address 0x22. Value should be 0x22  but is 0x78. 

    Wed Aug 10 12:57:49 2011: Verify error at address 0x21. Value should be 0x01  but is 0x22. 

    Wed Aug 10 12:57:49 2011: Verify error at address 0x20. Value should be 0x79  but is 0x01. 

    Wed Aug 10 12:57:49 2011: Verify error at address 0x3F. Value should be 0x22  but is 0xFF. 

    Wed Aug 10 12:57:49 2011: Verify error at address 0x3E. Value should be 0xEA  but is 0x22. 

    Wed Aug 10 12:57:49 2011: Verify error at address 0x3D. Value should be 0x40  but is 0xEA. 

    Wed Aug 10 12:57:49 2011: Verify error at address 0x3C. Value should be 0x33  but is 0x40. 

    Wed Aug 10 12:57:49 2011: Verify error at address 0x3B. Value should be 0xD0  but is 0x65. 

    Wed Aug 10 12:57:49 2011: Verify error at address 0x3A. Value should be 0x65  but is 0xD0. 

    Wed Aug 10 12:57:49 2011: Verify error at address 0x39. Value should be 0xD2  but is 0x65. 

    Wed Aug 10 12:57:49 2011: Verify error at address 0x38. Value should be 0xA2  but is 0x00. 

    Wed Aug 10 12:57:49 2011: Verify error at address 0x37. Value should be 0x00  but is 0xA2. 

    Wed Aug 10 12:57:49 2011: Verify error at address 0x36. Value should be 0x94  but is 0x00. 

    Wed Aug 10 12:57:49 2011: Verify error at address 0x35. Value should be 0xE9  but is 0x94. 

    Wed Aug 10 12:57:49 2011: Verify error at address 0x34. Value should be 0x0A  but is 0xE9. 

    Wed Aug 10 12:57:49 2011: Verify error at address 0x33. Value should be 0x94  but is 0x0A. 

    Wed Aug 10 12:57:49 2011: Verify error at address 0x32. Value should be 0xE8  but is 0x94. 

    Wed Aug 10 12:57:49 2011: Verify error at address 0x31. Value should be 0xC3  but is 0xE8. 

    Wed Aug 10 12:57:49 2011: Verify error at address 0x30. Value should be 0xF9  but is 0xC3. 

    Wed Aug 10 12:57:50 2011: Failed to load debugee: D:\CC1110_IAR\test3\Debug\Exe\test3.hex 

     

    test program is :

    :020000040000FA

    :1000000002001700000080FB120020B9000302006C

    :100010001112002312000375D0007581BF02000881

    :10002000790122780179008008E82401F8E9340098

    :10003000F9C3E8940AE99400A2D265D03340EA22D9

    :0400000500000017E0

    :00000001FF

     

  • Anatoly, i am write it for you only :)

    I am successful program my CC1110. Persistence and a good fortune give me an answer.

    My CC1110 don't work properly without "low freq osc" mount on board.

    Apparently, if mount only high freq osc on board  part not work correctly.

    Answer plz if it will help.