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.

ESP8266通过串口给CC2640R2F做固件升级

Other Parts Discussed in Thread: CC2640R2F, CC2640

原理图.doc各位好,请问一下谁做过CC2640R2F的UART固件升级,我想通过下面得原理图实现ESP8266对CC2640R2F的固件升级,但是怎么调试也不行,第一步的同步波特率“0x5555",返回值都是错的,无法同步,实在不知道怎么往下进行了。原理上应该可行的,不知道是我原理图上错误,还是别的什么问题存在?

  • 你好,我们就是参考这个做的,逻辑都是按照cpp代码中的做的,这篇文档和工具我们知道的,试下来的结果就是第一步同步波特率都没返回成功
  • 不同封装的芯片串口引脚有区别的。另外确保ccfg配置的boot参数正确。
  • 对的,我已经上传了原理图,选择的就是DIO0和DIO1,其他配置跟文档里一模一样的,可以进入BootLoader模式,就是发送同步波特率命令“0x5555”时返回失败
  • liu, 

    1. 你是裸片?第一次烧录?

    2. 如果JTAG下载,运行都正常吗?

    BR.AZ

  • 1、不是裸片,是先用XDS100V3下载器给CC2640R2F烧录好固件,固件中已经配置好backdoor管脚,低电平使能BootLoader,由原理图中的UART_UP_CON控制,流程是ESP8266将UART_UP_CON拉低后延迟100ms,再将RESET_CON管脚拉低,进入BootLoader模式,正常逻辑是先同步波特率然后进行后面操作,最后ESP8266通过MCU_TXD和MCU_RXD给CC2640R2F的ROM发送固件包,做固件更新;但是我们同步波特率返回失败,所以无法往下进行;
    2、固件运行正常,项目的其他部分都已调通,就差这最后一步:WIFI芯片ESP8266通过自身的UART串口给蓝牙芯片CC2640R2F固件升级
  • mengmeng liu 说:
    1、不是裸片,是先用XDS100V3下载器给CC2640R2F烧录好固件,固件中已经配置好backdoor管脚,低电平使能BootLoader,由原理图中的UART_UP_CON控制,流程是ESP8266将UART_UP_CON拉低后延迟100ms,再将RESET_CON管脚拉低,进入BootLoader模式,正常逻辑是先同步波特率然后进行后面操作,最后ESP8266通过MCU_TXD和MCU_RXD给CC2640R2F的ROM发送固件包,做固件更新;但是我们同步波特率返回失败,所以无法往下进行;
    2、固件运行正常,项目的其他部分都已调通,就差这最后一步:WIFI芯片ESP8266通过自身的UART串口给蓝牙芯片CC2640R2F固件升级

    如果你芯片是空的,boot from UART可以工作吗?

    BR. AZ

  • R2F芯片内部没有固件肯定不能用UART进行烧录的,因为R2F必须先指定一个GPIO作为backdoor的enable使能
  • mengmeng liu 说:
    R2F芯片内部没有固件肯定不能用UART进行烧录的,因为R2F必须先指定一个GPIO作为backdoor的enable使能

    可以的。默认就无需backdoor,每个口轮询的。

    所以,

    1. 如果裸片你能烧,说明你backdoor或者ccfg配置问题。

    2. 如果裸片都不能烧,查一下esp的driver是否正确吧。可以用示波器实际看一下UART。

    BR. AZ

  • 裸片中没固件,可以烧的,有固件不能烧,必须用设定的backdoor enable管脚进入BootLoader后用sblAppEx.exe脚本烧录;这两个方法烧录都正常的,不正常的是我们把ESP8266与CC2640R2F的TXD和RXD接通后就不能烧录了
  • mengmeng liu 说:
    裸片中没固件,可以烧的,有固件不能烧,必须用设定的backdoor enable管脚进入BootLoader后用sblAppEx.exe脚本烧录;这两个方法烧录都正常的,不正常的是我们把ESP8266与CC2640R2F的TXD和RXD接通后就不能烧录了

    我说的这两个“烧”, 都是用ESP烧录CC2640(不是JTAG)。你上面的逻辑我没太看懂呀。

    1. 如果裸片你能烧,说明你backdoor或者ccfg配置问题。

    2. 如果裸片都不能烧,查一下esp的driver是否正确吧。可以用示波器实际看一下UART。