提问人:Thugmek 提问时间:7/12/2023 最后编辑:Thugmek 更新时间:7/13/2023 访问量:64
SAME70 上的 Harmony 引导加载程序 - 没有 UART 通信,调试不起作用
Harmony bootloader on SAME70 - no UART communication, debug not working
问:
我在使用片上 Harmony 引导加载程序时遇到困难。我想构建简单的引导加载程序,以便能够通过 UART4 刷新固件。我无法使用集成引导加载程序,因为它在 UART0 上运行(可能不是 UART0,现在不确定),这在我的板上无法访问。没有办法改变电路板设计。
我已经下载了 MPLAB X IDE,制作了新项目并通过添加了一些和声包。我不确定,它到底是什么包,我现在无法打开同一个窗口,MCC 按钮现在打开 Project Graph,但它与 ATSAME70、UART 和一些核心 Harmony 包有关。
此时将显示项目图形窗口,其中包含节点 、 和 。我已经添加并将它们相互连接。我还找到了窗口,我已经签名并加入了 UART4。默认情况下时钟设置应该没问题,我已经检查过了。然后我点击了按钮。
我的项目中出现了很多 C 文件,其中包含所有固件更新逻辑。我有覆盖引导加载程序触发器,所以它应该始终继续引导加载程序,而不是固件本身(临时解决方案,我想稍后在这里实现一些逻辑)。我已经构建了它,并通过调试器将其刷写到电路板上。但是当我尝试使用提供的 python 工具通过 UART 刷写程序时,没有从板到计算机的通信(从计算机到计算机是)。
我尝试使用调试器调试生成代码,但是当我放置断点时,它说.船上运行着一些代码,我可以阅读和查看反汇编的代码。有一些标签,如 或 ,这表明存在一些构建和刷新的代码以及一些链接器调试文件。
当我使用一些基本的 LED 闪烁代码制作空白项目时,我可以很好地调试它。我可以设置断点,我可以单步执行代码,标准调试操作......
我不熟悉MPLAB IDE,它并不完全是用户友好的(它试图这样做,这让事情变得更糟......我在 eclipse 中有很多 C 和 C++ 嵌入式编程和调试的经验,这应该是相似的,但我在这里缺少一些东西。
B.R.
Michal
编辑:通过进一步的调查,我发现调试在包含重置处理程序的文件中工作。代码单步执行在这里工作得很好。生成过程一定有问题,因为当代码跳出此文件时,调试会中断。我对这个IDE感到非常困惑。SAME70N20B
SAMBA
MCC Content Manager Wizard
EFC
Device Family Pack
System
CMSIS Pack
UART Bootloader
UART4
Pin Settings
PD18
PD19
Generate
Atmel-ICE
Atmel-ICE
Broken Breakpoint
Execution Memory
bootloader_UART_Tasks
main
startup_xc32.c
答: 暂无答案
评论