3

嗨,我在这里学习了一个 sparkfun edge 人体检测编程教程。(github 链接中给出的代码已被弃用,因此我使用了 tensorflow_lite 库中的代码。他们已经有示例代码)

该教程似乎非常清晰易懂,但是当我尝试上传草图时,我总是遇到这个错误。

Artemis SVL Bootloader
Script version 1.7

Phase:  Setup
    Cleared startup blip
Failed to enter bootload phase

Phase:  Setup
    Cleared startup blip
Failed to enter bootload phase

Phase:  Setup
    Cleared startup blip
Failed to enter bootload phase
Target failed to enter bootload mode. Verify the right COM port is selected and that your board has the SVL bootloader.

然后我意识到,即使是一个普通的(你在制作新草图时得到的初始草图)草图也不会被上传并吐出完全相同的错误消息。

我的设置:

  • 新的 Macbook Pro(还有我桌面上的 Gentoo linux 和 virtualBox 中的 windows10)
  • Sparkfun 系列基本突破(默认跳转到 3v3)
  • FTDI 3v3 串行电缆

我尝试过的设置:\

  • Linux x86_64 (Gentoo Linux) -> 还重新安装了 CH341SER 驱动程序。

  • Mac os Catalina(10.15.6) -> 再次根据这个stackoverflow答案重新安装了CH340驱动程序

  • Windows10(在 Gentoo Linux Destktop 上的 virtualBox 中)

  • 我不仅尝试使用最新的库和 apollo3 board manager(1.1.2),还尝试使用早期的库(1.0.30 及以下)。

  • 尝试将波特率更改为作为选项提供的每个可能的速率。

  • 我尝试使用Ambiq Secure Bootloader而不是,SVL当我这样做时会吐出此消息。(在 Linux 中出现以下错误消息,但在 Mac OS 中也出现同样的错误)

Connecting over serial port /dev/ttyUSB0...
Sending Hello.
No response for command 0x00000000
Failed to respond
Fail
Sending Hello.
No response for command 0x00000000
Failed to respond
Fail
Sending Hello.
No response for command 0x00000000
Failed to respond
Fail
Tries = 3
Upload failed
  • 还尝试在上传草图文件之前重置电路板(以便 LED 灯不再闪烁)。

董事会可能从一开始就出现故障吗?默认的微语音推理似乎在对“是”和“否”做出反应时起作用。谷歌搜索无法帮助我解决这个问题......我已经尝试了好几天了......你认为还有其他可能性来解决这个问题吗?

4

2 回答 2

1

SparkFun 提供的 Edge 板没有 SVL 引导加载程序。您的第一个错误消息表明尝试使用 SVL 加载程序来刷新代码。当您在 Arduino 中选择 Edge 作为您的电路板时,这不应该发生,除非您手动更改了工具菜单中的“引导加载程序”选项。

您还应该对 Ambiq Secure Bootloader 设置使用的波特率感到厌烦。你说你上周买了这块板——所有通过 SparkFun.com 出售的板都设置为 ASB 引导加载程序的 921600 波特。确保在 Arduino 工具菜单中选择了正确的选项。

当您使用 ASB 引导加载程序(Edge 的默认设置)时,您必须使用按钮 14 强制电路板进入引导加载模式。当电路板复位时按下按钮 14 时,电路板将进入引导加载模式。上传工具会自动重置板子,所以使用 ASB 上传时一定要按住按钮 14。您可以选择手动循环(按住 14,按下复位,上传时按住 14)以防主板有大量串行流量。

一旦工作正常,您还可以升级到 SVL(这样做需要使用 ASB 刷新映像)。使用 SVL 时,不要使用复位引导加载序列。

于 2020-08-13T23:31:39.530 回答
0

尝试将串行速度从 921600 降低到 115200。在arduinoSDK上为我工作。

make BOARD=$YOUR_BOARD bootload_svl COM_PORT=/dev/ttyUSB0 SVL_UPLOAD_BAUD=115200
Makefile:112: Using BOARD=redboard_artemis_atp at ../../../../redboard_artemis_atp
Makefile:121: warning: you have not defined PYTHON3. assuming it is accessible by 'python3'
Makefile:125: defaulting to 115200 baud for ASB
Makefile:134: warning: you have not defined SDKPATH so will continue assuming that the SDK root is at ../../../../..
Makefile:142: warning: you have not defined COMMONPATH so will continue assuming that the COMMON root is at ../../../../common
Makefile:163: warning: you have not defined PROJECTPATH so will continue assuming that the PROJECT root is at ..
Makefile:170: CONFIG=../gcc/redboard_artemis_atp/bin
python3 ../../../../common/tools_sfe/svl/svl.py /dev/ttyUSB0 -f ../gcc/redboard_artemis_atp/bin/blinky_svl.bin -b 115200 -v


Artemis SVL Bootloader
Script version 1.7

Phase:  Setup
    Cleared startup blip
    Got SVL Bootloader Version: 3
    Sending 'enter bootloader' command

Phase:  Bootload
    have 4824 bytes to send in 3 frames
    Sending frame #1, length: 2048
    Sending frame #2, length: 2048
    Sending frame #3, length: 728

    Upload complete

    Nominal bootload bps: 9724.7

在此处输入图像描述

于 2020-09-28T22:09:50.593 回答