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.

[参考译文] CC1310:CC1310在重置时停止,无法设置64KB 版本的配置

Guru**** 2607365 points
Other Parts Discussed in Thread: CC1310, CC1101

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

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/1085599/cc1310-cc1310-halt-on-reset-and-unable-to-set-configuration-for-64kb-version

部件号:CC1310
“线程:测试CC1101”中讨论的其它部件

您好,

我们正在尝试启用基于 CC1310F64RSM 的自定义主板。 我们的程序在启动板上运行良好,但自定义 CC1310F64RSM 板出现问题。

我们遵循了以下顺序

-更改了 Board.h 文件和 PIN 配置
-将 targetConfigs 更改为 CC1310F64.CCXML
-我们能够成功上传程序,自定义 CC1310F64RSM 板上的 LED 指示灯闪烁(根据启动板具有闪存设置)

我们面临的问题:

问题1#

对于 CC1310F64RSM,我们需要使用正确的闪存和 RAM 大小更改 cmd 文件。

我们的改变:
#define flash_base 0x0
#define flash_size 0x10000 //launchpad 的大小为0x20000
#define RAM_BASE 0x20000000
#define RAM_SIZE 0x4000 //launchpad 为0x5000

使用上述配置时,程序会闪烁,但无法启动

错误:
Cortex_M3_0:错误:(错误-1170 @ 0x0)无法访问 DAP。

为了恢复设备,我们需要使用 SmartRF 工作室擦除闪存。 需要将 flash_base 更改为0x20000并再次刷新,它可以正常工作。

我不理解为什么 flash_size (0x10000)不能按照 TI 指定的64KB 版本工作

问题2#
重置时设备无法启动。

在上述任何情况下,如果我们执行硬重置或关机后再开机,设备将无法启动
我们怀疑设备将进入“引导加载程序”模式,因为 image_valid 位无法达到0x000000。 尽管在./source/ti/devices/cc13x0/startup_files/ccfg.c 中将其称为0x0

//###################################
//闪存映像有效
//###################################
#ifndef set_CCFG_IMAGE_VALID_CONF_IMAGE_VALid
#define Set_CCFG_IMAGE_VALID_CONF_IMAGE_VAL号0x00000000 //闪存映像有效
//#define set_CCFG_IMAGE_VALID_CONF_IMAGE_VALID <non-zero>//闪存映像无效。 ROM 引导加载器被调用。
#endif

关于这些问题的任何指示

萨蒂什

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

    从描述中可以听到您实际上拥有 F128设备的声音?

    使用闪存编程器2:  

    -设备是否被报告为 F64设备?

    — —如果你读出了闪存,更具体地说,CCFG 是:CCFG 的内容是否符合预期? 它是否位于 闪存的最后一页?  

    如果您使用 F128设置编译并将十六进制/输出文件上传到 F64设备,CCFG 将出现在错误的位置,我不希望有任何东西可以使用。  

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

    亲爱的之三:  

    从描述中可以听到您实际上拥有 F128设备的声音? 不是,这是一个64KB 的设备。

    我们正在闪烁的设备是 CC1310F64RSM。  

    -设备是否被报告为 F64设备? 是的,下面是闪存编程器的快照。

    实验和观察的细节。  

    主板 CC1310F64 RSM 板
    情景
    64KB 配置 .cmd 设置
    -----
    #define flash_base             0x0
    #define flash_size            
     0x10000
    #define RAM_BASE               0x20000000
    #define RAM_SIZE               0x4000
    内存浏览器中的.ccfg:@0xFFA8 (即0x10000 - 88)
    _ccfg
    01800000 FF880010 0058FFFD F3BFF3A FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 FFFF500C5
    FF000000 0000FFFFFF0000FFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF:

    设备重置错误和程序无法正常工作:
    Cortex_M3_0:GEL 输出:内存映射初始化完成。
    Cortex_M3_0:凝胶输出:电路板重置完成。
    Cortex_M3_0:错误:(错误-1170 @ 0x0)无法访问 DAP。 重置设备,然后重试此操作。

    设备恢复:
    使用 SmartRF 工作室擦除闪存
    64KB 配置 .cmd 设置
    -----
    #define flash_base             0x0
    #define flash_size              
    0x9000
    #define RAM_BASE               0x20000000
    #define RAM_SIZE               0x4000
    内存浏览器中的.ccfg:@0x8FA8 (即0x9000 - 88)
    _ccfg
    01800000 FF880010 0058FFFD F3BFF3A FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 FFFF500C5
    FF000000 0000FFFFFFFF

    设备启动,程序工作正常 ,但硬复位时会停止
    错误:

    Cortex_M3_0:GEL 输出:内存映射初始化完成。
    Cortex_M3_0:凝胶输出:电路板重置完成。
    Cortex_M3_0:错误:(错误-1170 @ 0x0)无法访问 DAP。 重置设备,然后重试此操作。 如果错误仍然存在,
    Cortex_M3_0:停止目标 CPU 时出现问题:

    恢复:
    我们可以使用 CCS 信息自动刷新程序。 仅重置问题
    128KB 配置 .cmd 设置
    -----
    #define flash_base             0x0
    #define flash_size           
      0x20000
    #define RAM_BASE               0x20000000
    #define RAM_SIZE               0x4000
    闪烁警告:(需要)
    Cortex_M3_0:GEL 输出:内存映射初始化完成。
    Cortex_M3_0:凝胶输出:电路板重置完成。
    Cortex_M3_0:加载器:程序的一个或多个部分属于不可写的内存区域。  这些地区实际上不会写入目标。  检查链接器配置和/或内存映射。

    @0xFFA8中不存在.ccfg -这是预期的,因为它的128KB 设置:)


    设备启动,程序工作正常,但硬复位时会停止
    错误:
    Cortex_M3_0:GEL 输出:内存映射初始化完成。
    Cortex_M3_0:凝胶输出:电路板重置完成。
    Cortex_M3_0:错误:(错误-1170 @ 0x0)无法访问 DAP。 重置设备,然后重试此操作。 如果错误仍然存在,
    Cortex_M3_0:停止目标 CPU 时出现问题:

    恢复:
    我们可以使用 CCS 信息自动刷新程序。 仅重置问题

    测试设置:  

    1. F64版本是否有任何特定的 ROM?

    2.除之外,编程工具是否有任何更改

    CC1310F64.CCXML 和.cmd 配置?  

    这对我们来说是生产障碍问题,请您认真回答。  

    谢谢,  

    萨蒂什  

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

    您是否可以共享一个最小项目,您在该项目中更改了目标和闪存大小(除了引脚设置),如第一篇文章中所述? 我可以看到我是否找到一个具有相同芯片的 EM 进行测试。  

    我已经更改了一个项目,使其在 F64上运行了几次,没有任何问题。 我有时采取的唯一附加步骤是删除未使用的目标的.CCXML。  

    我认为您已经检查了生成的十六进制文件是否小于64 KB?

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

    您好,

    查找附加项目以供参考。

    是的,十六进制文件比64 KB 小得多。

    项目链接编号

    https://drive.google.com/file/d/18sY5X7itMbLN7qj-CsXHDceL_1QY-3Wt/view?usp=sharing

    我只保留 了 CC1310F64.CCXML

    正在等待您对此的输入。 我们一直坚持这一点。

    萨蒂什

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

    您是否能够为项目执行.zip 操作? 由于规则的原因,我不能直接从驱动器下载。

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

    e2e.ti.com/.../6558.empty_5F00_CC1310_5F00_LAUNCHXL_5F00_tirtos_5F00_ccs.zip

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

    您好,

    我又做了一个实验,想和你们分享。

    设备:CC1310启动板

    配置:64KB,但在 cmd 文件中对.ccfg 地址进行硬编码。

    观察:结果与我的董事会面临的情况相同。  

    64KB 配置 内存

       /*应用程序存储在中,并从内部闪存中执行*/
       闪存(RX):原点= 0x0,长度= 0x1FFA8
       /*客户配置区域(CCFG)*/
       Flash_CCFG (RX):原点= 0x1FFA8,长度= 88
       /*应用程序使用内部 RAM 进行数据*/
       SRAM (rwx):原点= 0x20000000,长度= 0x5000
       如果 CCFG 中禁用了缓存,/*应用程序可以将 GPRAM 区域用作 RAM
          (DEFAULT_CCFG_SIZE 和 DIS_FLAS.Set_CCFG_SIZE 和 DIS_FLAGS_DIS_GPRAM = 0)*
       GPRAM (rwx):原点= 0x11000000,长度= 0x2000

    }
       ccfg   :> flash_CCFG
    ccfg @0x1FFA8
    _ccfg
    01800000 FF880010 0058FFFD F3BFF3A FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 FFFF500C5
    FF000000 0000FFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF:

    设备启动,程序工作正常,但硬复位时会停止
    错误:
    Cortex_M3_0:GEL 输出:内存映射初始化完成。
    Cortex_M3_0:凝胶输出:电路板重置完成。
    Cortex_M3_0:错误:(错误-1170 @ 0x0)无法访问 DAP。 重置设备,然后重试此操作。 如果错误仍然存在,
    Cortex_M3_0:停止目标 CPU 时出现问题:
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    e2e.ti.com/.../CC1310_5F00_64.zip

    不确定您的代码有什么问题。 我拿了附件并刷新了一个 CC1310 4x4 F64 EM (连接到 SmartRF06板),我在运行和重新连接您的板上没有任何问题。  

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

    亲爱的之三:

    当我们在主板上使用以下配置(CC1310F64)时,

    #define flash_base 0x0
    #define flash_size 0x10000
    #define RAM_BASE 0x20000000
    #define RAM_SIZE 0x4000

    我们遇到了以下问题:

    注:闪烁正常,但设备无法启动。

    萨蒂什

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

    正如我发布的示例所示:

    ——要将代码移植到4x4,F64设备:您的修改应该足够。 我唯一需要做的是修改.cmd 文件并选择 F64作为设备。 此外,我不得不将接近所有引脚的设置设置为未定义 ,并删除一些试图访问4x4中不可用引脚的初始化代码。 从您的代码中可以看出,引脚定义看起来是正确的。 如果您根本不使用任何 PIN,这是否是相同的行为?  

    -您正在写入闪存工作正常,但引导不工作。 您看到的问题是否出在尝试调试时,这意味着您在按下 Play 时断开了连接?   

    CCFG:我看不到项目中包含的对 ccfg.c 的任何更改。 您是否对其中包括的文件进行了任何修改?  

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

    亲爱的之三:

    最后,我们得到了一些线索,并发现了到目前为止对软件的肮脏修复。

    我们所做的

    首先,我们比较了128KB 工作容量的.ccfg 部分和64KB 版本的.ccfg 部分。 两者都是相同的,因此最初排除了.ccfg 部分不同的可能性。

    但后来我们意识到,使用64KB 版本,如果我们在正确的位置写入.ccfg (.ccfg:> flash (高)))

    错误为:

    设备重置错误和程序无法正常工作:
    Cortex_M3_0:GEL 输出:内存映射初始化完成。

    因此,我们再次开始深入研究.ccfg 部分并逐一检查寄存器。 最后,  

    MODE_CONF -> DCDCDC_ACTIVE (1:在活动模式下不要使用 DC/DC (默认)。)。在 TRM 中-第9.1.1.4节

    我们已将其更改为1,一切都回到了正轨。

    在这一变化之后,我们再次审查了电路板 PCB 设计,结果是电感器值从6.8 uh (正确值)-> 6.8 nh (错误值)发生了变化。 从 CC1101设计中获得的价值。  

    我们将 重新制造一个具有正确价值的电路板,以验证我们的假设。

    但是,随着速度的发展,这些东西对我们来说是不可阻挡的。  

    “@,我感谢你的努力和对这一问题的迅速答复。  

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

    表示 VDDR 上的电压不正确? 这就是 为什么 https://www.ti.com/lit/pdf/swra640中有一个“主板启动”部分 来涵盖基本主板问题的原因。  

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

    硬件团队已参考此文档。 我认为,唯一发生的错误是忽略或拼写错误,或复制/粘贴“u”到“n”(6.8 uf 到6.8 NF)。 字母更改

    VDDR 电压仅正确。但 DCDCDC_SW 路径可能需要正确的电感器。