【问题标题】:Sparkfun edge bootloader problem... not workingSparkfun边缘引导加载程序问题......不工作
【发布时间】:2020-08-02 07:49:31
【问题描述】:

您好,我一直在学习 here 中的 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 answer重新安装了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 灯不再闪烁)。

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

【问题讨论】:

  • 顺便说一下,这是上周刚买的全新板子。

标签: arduino port tensorflow-lite sparkfun


【解决方案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 时不要使用重置引导加载序列。

【讨论】:

    【解决方案2】:

    尝试将串行速度从 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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-03-04
      • 1970-01-01
      • 2015-12-20
      • 2017-02-09
      • 2013-08-14
      • 2011-05-07
      • 2013-04-25
      • 2011-12-23
      相关资源
      最近更新 更多