Sparkfun Edge 引导加载程序问题

opp*_*rud 5 bootloader tensorflow-lite

今天终于到了火花板边缘板;-)

按照这个写得很好的指南:https : //codelabs.developers.google.com/codelabs/sparkfun-tensorflow/#3 我在尝试使用uart_wired_update.py脚本在 Ambiq 上刷写代码时遇到了以下 NoResponseError张量流示例

opprud$ python3 tensorflow/lite/experimental/micro/tools/make/downloads/AmbiqSuite-Rel2.0.0/tools/apollo3_scripts/uart_wired_update.py -b 115200 /dev/cu.usbserial-1430 -r 1 -f main_nonsecure_wire.bin -i 6

MOJ/Connecting with Corvette over serial port /dev/cu.usbserial-1430...

Sending Hello.

No response for command 0x00000000

Traceback (most recent call last):

  File "tensorflow/lite/experimental/micro/tools/make/downloads/AmbiqSuite-Rel2.0.0/tools/apollo3_scripts/uart_wired_update.py", line 336, in <module>

    main()

  File "tensorflow/lite/experimental/micro/tools/make/downloads/AmbiqSuite-Rel2.0.0/tools/apollo3_scripts/uart_wired_update.py", line 38, in main

    connect_device(ser)

  File "tensorflow/lite/experimental/micro/tools/make/downloads/AmbiqSuite-Rel2.0.0/tools/apollo3_scripts/uart_wired_update.py", line 58, in connect_device

    response = send_command(hello, 88, ser)

  File "tensorflow/lite/experimental/micro/tools/make/downloads/AmbiqSuite-Rel2.0.0/tools/apollo3_scripts/uart_wired_update.py", line 235, in send_command

    raise NoResponseError

__main__.NoResponseError
Run Code Online (Sandbox Code Playgroud)

我的设置:

  • Macbook pro,尝试了旧的 15" 和新的 13"
  • Sparkfun串口基础突破,USBC版(默认跳转3v3)
  • FTDI 3v3 串口线

我试过了

  • 两个不同的边缘板,具有正确的 Key14 和重置组合 + 其他变体和计时
  • 旧 Macbook 上的旧 USB
  • 带 USB C 的新 Macbook
  • FTDI 3v3 串行电缆作为 sparkfun 串行板的替代品
  • uart_boot_host.py在 tensorflow/lite/experimental/micro/tools/make/downloads/AmbiqSuite-Rel2.0.0/tools/bootloader_scripts/uart_boot_host.py 中运行替代脚本,也没有响应

我可以用示波器测量握手字节“0x14”、“0x55”、“0x9d”、“0xe9”、“0x0”、“0x0”、“0x8”、“0x0”,这些字节最初在 TXO 引脚上的 115200 处传输在编程标题上 - 但 ambiq 没有回复任何内容。

顺便提一句。板载演示正在运行,蓝色 LED 闪烁,正在识别一些“是”。

欢迎任何输入。

有谁知道 corvette 引导加载程序的协议?

第一批电路板是否有任何 CPU 修订更改,或者可能有任何从 sparkfun 意外编程的锁定位?

来自热心的 TF lite 用户的 rgds ;-)

opp*_*rud 2

我尝试使用 rx/tx 引脚上的示波器测量实际波特率,发现使用默认 OSX 串行驱动程序的位时序相当不精确,应用程序关闭 10%,导致错误读数,并最终在波特率较高时丢失字节。

更新到 ch340 串行驱动程序后,时序得到改善,并且位时序正确。在921600bps下,单字节8N1应该是10.9uS

驱动程序安装 https://github.com/adrianmihalko/ch340g-ch34g-ch34x-mac-os-x-driver