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.

[参考译文] TMS320F28335:目标器件已锁定:C28xx:GEL 输出:ADC 校准未完成、检查器件是否已解锁并重新校准

Guru**** 608155 points
Other Parts Discussed in Thread: C2000WARE, UNIFLASH
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1122994/tms320f28335-target-device-locked-c28xx-gel-output-adc-calibration-not-complete-check-if-device-is-unlocked-and-recalibrate

器件型号:TMS320F28335
主题中讨论的其他器件:C2000WAREUNIFLASH

您好!

我是闪存编程 F28335的、我收到了以下消息:

C28xx:GEL 输出:ADC 校准未完成、检查器件是否已解锁并重新校准

密码位置的存储器读数为0x0000、因此我想器件已锁定。

据我了解, 如果擦除操作期间电源中断,器件在闪存编程期间会被锁定,但根据技术手册的建议,器件由外部5V 电源供电...为什么它被锁定?

一般而言、C2000为何会因设计而锁定?  是否有办法解锁它? 每次购买新器件都非常令人沮丧。

谢谢

弗朗西斯科

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="484684" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forume/1122994/TMS320F28335-target-device-locked-c28xx-gel-output-adc-calibral-not complete-check-if-device-isunlock-and-recalibration"引用0x0000/命令读取器件位置的密码时、读取器件的位置。]

    如果您在 PWD 位置读取0x0000、则器件确实已锁定。 您的应用程序代码中是否有密码?

    [引用 userid="484684" URL"~μ C/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forume/1122994/TMS320F28335-target-device-locked-c28xx-gel-output-adc-calibration-not complete-check-if-device-isunlock-and-recalibrate "]如果在 擦除器件电源的编程过程中发现电源中断发生、则器件在擦除/擦除电源操作过程中理解中断

    您的理解是正确的。 请注意、即使在擦除/编程操作期间发生电流耗尽、也可能会损坏闪存。 您所使用的外部电源不仅应能够提供所需的电流、而且还应能够响应瞬时需求、而不会出现任何电压下降。 在电路板上实现良好的电源去耦可以缓解该问题。

    [引用 userid="484684" URL"~支持/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forume/1122994/TMS320F28335-target-device-locked-c28xx-gel-output-adc-calibration-not complete-check-if-device-is-unlock-and-recalibration" c2000/C2000设计为什么锁定?]

    它不会被"设计"锁定。 闪存损坏仅在编程期间出现中断/欠压时发生、除非器件一开始当然有缺陷。 这种情况很少见、因为所有器件在出厂前都经过全面测试(包括闪存)。

    [引用 userid="484684" URL"~支持/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forume/1122994/TMS320F28335-target-device-locked-c28xx-gel-output-adc-calibration-not complete-check-if-device-is-unlock-and-recalibration"引用是否存在解锁/重新校准方法?]

    如果密码未知、则不会。  

    以下帖子可能提供一些可能对您有用的见解:

    https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1104019/tms320f28335-device-locked-error-of-gel-file

    https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1104107/tms320c2801-not-ble-to-program-the-device-device-got-locked-after-programming

    https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1066712/tms320f28335-device-is-locked-or-not-connected

    https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1040156/sm320f28335-ep-new-device-seems-locked

    https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1085949/tms320f28335-corruption-flash-memory-when-it-is-erased/4022033#4022033

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Haresh、

    感谢您的回复。 我还有几个问题:

    1) 1)  如何在 CCS 中检查我没有写入密码的位置?

    2) 2) 除了闪存擦除和编程期间的压降之外、是否存在闪存损坏的另一个原因(假设程序不会损坏)  

       写入密码位置)。 闪存编程是否有好的做法(例如:我可以使用擦除和写入操作之间的断点来调试代码)?  

    3) 3) 关于电源、我找到了2种类型的交流/直流单元:

       a)+5V 和最大3A 输出、95%的电压精度、50mVpp 的噪声纹波和0.4ms 的响应时间(负载从75%到100%)。

       b)+5V 和最大3A 输出、电压精度96.5%、噪声纹波最大值为80mVpp、响应时间为1ms (负载从10%到100%)

       在您看来、哪一个更适合用于 F28335的闪存编程?

    谢谢

    弗朗西斯科

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="484684" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forume/1122994/TMS320F28335-target-device-locked-c28xx-gel-output-adc-calibral-not complete-check-if-device-is-unlocked-and-recalibrat/amated/94169078]  以查看 CCS 中无法写入密码的位置[#4169078]

    您需要检查项目以确定您是否有包含密码的.asm 文件。 例如、查看 C:\ti\c2000\C2000Ware_4_00_00_00\device_support\f2833x\con\source 目录中的 DSP2833x_CSMPassword.asm。 如果您的项目中没有包含类似的文件,则不会在 PWL 中写入任何内容,设备将保持解锁状态。  

    映射文件将告诉您是否在密码位置写入了内容、但无法告诉您内容。 如果在 PWL 中写入0xFFFF、那么您的器件将保持不安全状态。 如果写入其他任何内容、器件将受到保护。

    [引用 userid="484684" URL"~支持/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forume/1122994/TMS320F28335-target-device-locked-c28xx-gel-output-adc-calibration-not complete-check-if-device-is-is-and-recalibrat/4169078] 、引用另一个闪存编程过程中的电压降解锁原因、并擦除闪存掉电压[#4169078]

    如果电源稳定、并且擦除/编程操作不会以任何方式中断、则不应发生闪存损坏。 当然、器件中的闪存电路可能存在缺陷。 但如前所述、概率相当低。 这是一款相当旧的器件、技术已经成熟。

    [引用 userid="484684" URL"~支持/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forume/1122994/TMS320F28335-target-device-locked-c28xx-gel-output-adc-calibration-not complete-check-if-device-is-unlocked-and-recalibrat/4169078")可以在断点和调试代码之间擦除操作?  [/报价]

    这是不必要的。  

    [引用 userid="484684" URL"~支持/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forume/1122994/TMS320F28335-target-device-locked-c28xx-gel-output-adc-calibral-not complete-check-if-device-is-unlocked-and-recalibrat/fgaming/f4169078]、您 认为哪一个适用于 fgam9078[?]

    两个装置均适用。  

    器件的历史记录是什么? 这是 您第一次尝试编程的新器件还是尝试重新编程旧 器件? 此外、您使用什么方法进行编程? 您在多少个器件中发现了此问题?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Haresh、

    我 将文件  DSP2833x_CSMPassword.asm 作为   项目的链接资源包含在 TI 文件夹 C:\ti\c2000\.............\source 中。  

    关于.map 文件,下面我以黄色突出显示了文件中有关 pwl 位置的部分...您是否看到任何明显的问题?

       器件的历史记录是什么? 这是  您第一次尝试编程的新器件还是尝试重新编程旧 器件? 此外、      您使用什么方法进行编程? 您在多少个器件中发现了此问题?

    我锁定了2个器件、其中一个器件我进行了多次编程(大约2-3个月)、另一个是新器件(在几次闪存编程测试后锁定)。 对于编程、我使用闪存 API 库、并且我使用函数  EEPROM_ProgramSingleByte 以10kHz 的写入频率对各个字节进行编程。  

    谢谢

    弗朗西斯科

    存储器配置

    名称源长度使用未使用的属性填充
    ------------ ---- ------ ---- ---- --------
    第0页:
    开始00000000 00000002 00000002 00000000 RWIX
    三、会议的报告

    ZONE7A 00200000 0000fc00 00000000 0000fc00 RWIX
    FLASHH 00300000 00008000 00000000 00008000 RWIX
    FLASHG 00308000 00008000 00000000 00008000 RWIX
    FLASHF 00310000 00008000 00000000 00008000 RWIX
    FLASHE 00318000 00008000 00000000 00008000 RWIX
    FLASHD 00320000 00008000 00000000 00008000 RWIX
    FLASHC 00328000 00008000 00000000 00008000 RWIX
    FLASHA 00338000 00007f80 00000609 00007977 RWIX
    csm_RSVD 0033ff80 00000076 00000000 00000076 RWIX
    CSM_PWL 0033fff8 00000008 00000000 00000008 RWIX
    ADC_CAL 00380080 00000009 00000007 00000002 RWIX
    IQTABLES 003fe000 00000b50 00000000 00000b50 RWIX
    IQTABLES2 003feb50 0000008c 00000000 0000008c RWIX
    FPUTABLES 003febdc 000006a0 00000000 000006a0 RWIX
    Bootrom 003ff27c 00000d44 00000000 00000d44 RWIX
    重置003fffc0 00000002 00000000 00000002 RWIX

    第1页:
    BOOT_RSVD 00000002 0000004e 00000000 0000004e RWIX
    RAMM1 00000400 00000400 00000380 00000080 RWIX
    DEV_EMU 00000880 00000180 000000d0 000000b0 RWIX
    FLASH_regs 00000a80 00000060 00000008 00000058 RWIX
    CSM 00000ae0 00000010 00000010 00000000 RWIX
    ADC_mirror 00000b00 00000010 00000010 00000000 RWIX


    FLASHB 00330000 00008000 00000000 00008000 RWIX
    CSM_PWL 0033fff8 00000008 00000008 00000000 RWIX
    部件 ID 00380090 00000001 00000001 00000000 RWIX


    部分分配映射

    输出属性/
    段页原点长度输入段
    ---- -------- ------ --------
    codestart
    * 0 00000000 00000002
    00000000 00000002 DSP2833x_CodeStartBranch.obj (codestart)

    .ebss 0 0000a000 000000cb 未初始化
    0000a000 00000040 F2833x_EEPROM.obj (.ebss:_Write_Buffer)
    0000a040 0000001c F2833x_EEPROM.obj (.ebss:_flash_pointer)
    0000a05c 0000001a FFT_radx2_ITER.obj (.ebss)

    ramfuncs 0 003384ff 0000010a run ADDR = 000084ff
    003384ff 000000eb F2833x_EEPROM.obj (ramfuncs)
    003385ea 0000001b DSP2833x_SYSCTRL.obj (ramfuncs)
    00338605 00000004 DSP2833x_usDelay.obj (ramfuncs)

    DevEmuRegsFile
    1 00000880 000000d0未初始化
    00000880 000000d0 DSP2833x_GlobalVariableDefs.obj (DevEmuRegsFile)

    FlashRegsFile
    1 00000a80 00000008未初始化
    00000a80 00000008 DSP2833x_GlobalVariableDefs.obj (FlashRegsFile)

    CsmRegsFile
    1 00000ae0 00000010未初始化
    00000ae0 00000010 DSP2833x_GlobalVariableDefs.obj (CsmRegsFile)

    三、会议的报告

    CsmPwlFile
    1 0033fff8 00000008未初始化
    0033fff8 00000008 DSP2833x_GlobalVariableDefs.obj (CsmPwlFile)

    PartIdRegsFile
    1 00380090 00000001未初始化
    00380090 00000001 DSP2833x_GlobalVariableDefs.obj (PartIdRegsFile)

    .text 0 00009000 00000a74
    00009000 00000316 DSP2833x_DefaultIsr.obj (.text:retain)
    00009316 00000107 F2833x_EEPROM.obj (.text)
    0000941d 000000f8 DSP2833x_sysctrl.obj (.text)
    00009515 000000ee example_2833xadex_flash.obj (.text)
    00009603 000000ca rts2800_fpu32.lib:e_log2f.c.obj (.text)

    三、会议的报告

    全局数据符号:按数据页排序

    地址数据页名
    ---- -------- ----
    00000400 10 (00000400)_STACK

    三、会议的报告

    0000a0b6 282 (0000a080)_sector_end
    0000a0b8 282 (0000a080)_FlashStatus
    0000a0bc 282 (0000a080)_ProgStatus

    0000a0c0 283 (0000a0c0)_read_Buffer
    0000a0c4 283 (0000a0c0)_lock
    0000a0c6 283 (0000a0c0)_unlock
    0000a0c8 283 (0000a0c0)_Bank_Status
    0000a0c9 283 (0000a0c0)_Page_Status
    0000a0ca 283 (0000a0c0)_errno

    0000b000 2c0 (0000b000)_PieVectTableInit

    0033fff8 cfff (0033ffc0)_CsmPwl

    00380090 e002 (00380080)_PartIdRegs

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="484684" URL"~支持/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1122994/TMS320F28335-target-device-locked-c28xx-gel-output-adc-calibral-not -complete-check-if-device-unlocked\ti-recalibrature/417393]\as\sp417393\r      资源文件中链接的 c2000\sb\s/sm64173\r 文件中的.c 文件中的.c 文件中的以下内容:\netr\netr\netr\netr\netr\netr\netr\netr\netr.6  [/报价]

    假设您尚未编辑随 C2000ware 一起提供的默认文件。 默认文件包含不会锁定器件的密码0xFFFF。

    [引用 userid="484684" URL"~支持/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forume/1122994/TMS320F28335-target-device-locked-c28xx-gel-output-adc-calibration-not-complete-check-if-device-unlocked-and-recalibrat/4173/4173l]有关问题,请参阅以下有关该文件的任何部分,您是否已在以下文档中突出显示在以下哪个位置?

    正如我之前所说的、.map 文件只会告诉您在该存储器空间中加载了"什么"、但不会告诉您有关内容的任何信息。 查看内容的一种方法是将 COFF 文件(.out 文件)转换为十六进制文件、并在 ASCII 编辑器上检查该文件。 密码地址位于闪存范围的最末尾、因此非常简单。 这可以告诉您是否有0xFFFF 以外的内容被写入密码地址。 不太可能、但您正在尝试调试..

    [引用 userid="484684" URL"~支持/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forume/1122994/TMS320F28335-target-device-locked-c28xx-gel-output-adc-calibral-not -complete-check-if-device-unlocked-and-recalibrate API/4173am/4176bytes 使用 单独的编程闪存库和41763bytes[#4am]

    好的。 我的印象是、您使用的是 CCS 闪存插件或 UniFlash。 当您在字级编程时、 出现错误的可能性会变得更高。  您可以从 https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/757585/faq-f05-flash-frequently-asked-questions 中受益。