Embedded 如何将ARM代码发送到实际设备JTAG?可以与Arduino一起即兴制作JTAG吗?

Embedded 如何将ARM代码发送到实际设备JTAG?可以与Arduino一起即兴制作JTAG吗?,embedded,arm,arduino,jtag,Embedded,Arm,Arduino,Jtag,好的,我对ARM处理器的编程有点困惑。一连串的问题时间: 如何将编译后的二进制文件放入ARM处理器 JTAG是正常的方法吗(我想这就是我的研究所表明的…) 这是唯一的方法吗 如果这是一种有效的方法,那么您究竟如何以这种方式使用它 如果不是,那是什么/我怎么做 此外,像Arduino这样的东西可以用来创建JTAG接口吗(如果这确实是编程ARM设备所需要的话) 我已经准备好测试代码等等,但我不确定如何将代码真正地进入物理领域 我基本上是在问:JTAG是ARM世界的设备程序员吗?我可以用Ardui

好的,我对ARM处理器的编程有点困惑。一连串的问题时间:


  • 如何将编译后的二进制文件放入ARM处理器
  • JTAG是正常的方法吗(我想这就是我的研究所表明的…)
  • 这是唯一的方法吗
  • 如果这是一种有效的方法,那么您究竟如何以这种方式使用它
  • 如果不是,那是什么/我怎么做
此外,像Arduino这样的东西可以用来创建JTAG接口吗(如果这确实是编程ARM设备所需要的话)

我已经准备好测试代码等等,但我不确定如何将代码真正地进入物理领域

我基本上是在问:JTAG是ARM世界的设备程序员吗?我可以用Arduino(Arduino wiggler克隆o.o.)来欺骗一个吗?如果JTAG不是,那是什么,我可以欺骗它吗

哦。。。我可能需要更好地解释JTAG是如何工作的

现在了解一些背景信息:
我有一个旧的Palm设备(),我相信它有XScale处理器。似乎再也没有任何积极的社区发展在进行,我对它也没有什么用处了,所以我只是想玩/搞乱它。基本上,这是一种很好的方法,可以用来处理大量传感器和其他杂项输入和输出,也可以用来组装手臂

如果我采取了错误的方法,请随时告诉我,但至少要提供替代方案(尽管我已经准备好专门处理LifeDrive,如果我只是想玩嵌入式编程,我会在Arduino上做。)


几乎现在一切都是在黑暗中拍摄的。我有点厌倦了四处奔波,因此我发布了这篇文章。

我无法具体帮助你,但我确实是用手臂工作的。它使用ARM编译器和链接器,并使用专门为该设备设计的调试器进行测试,然后将代码闪存到设备本机运行的媒体上


因此,您需要一种将信息闪存到Palm可以运行的媒体上的方法,或者需要一个软件模拟器进行测试。我希望我对Palm了解得更多,但我更多的是在游戏开发方面:)听起来JTAG可能是某种x86模拟器,所以我可能会从那里开始。

这是很多问题!以下是一些答案:


如何将编译后的二进制文件放入ARM处理器

这取决于许多因素

JTAG是正常的方法吗(我想这就是我的研究所表明的…)

大多数(可能是所有)基于ARM的现代设备都包含一个JTAG接口,用于连接到片上调试(FPGA上的软核可能除外)。这通常可用于编程片上或外部闪存或直接加载到RAM中。JTAG接口也是片上调试和跟踪功能的接口。一些设备具有额外的调试/编程接口,例如SWD

这是唯一的方法吗

在某些情况下。一些基于ARM的微控制器包括片上引导程序ROM,可支持串行、USB或其他编程片上闪存的方式。有时,这样的工具非常简单,只用于加载和运行从RAM执行并执行实际闪存编程的辅助引导加载程序

如果这是一种有效的方法,那么您究竟如何以这种方式使用它

通过使用适当的主机软件。JTAG是一个非常简单的接口,它没有定义任何特定的功能,只是一种数据传输方式。通常,编程软件需要知道它与什么设备通信,如果闪存不是片上的,则需要知道闪存设备及其地址。开发工具链通常包括对设备编程的支持,尤其是对带有片上内存的设备。如果您使用的是GNU工具链,那么您可以使用来编程设备和接口GNU调试器

如果不是,那是什么/我怎么做

如果您的目标是,它很可能包括一个引导加载程序,它已经允许通过USB、串行或以太网(例如)进行软件更新

此外,像Arduino这样的东西可以用来创建一个即兴JTAG接口吗(如果这确实是编写ARM设备所需要的话)

也许,正如我所说,JTAG本身实现起来非常简单,问题在于使它与您将使用的任何主机软件兼容(或者使软件与之兼容)。最简单的“JTAG”适配器是使用PC并行端口I/O实现的-速度不是特别快,但功能正常

我基本上是在问:JTAG是ARM世界的设备程序员吗

它最初定义为a,但现在广泛应用于大多数微处理器和微控制器,包括片上调试和编程

我可以用Arduino(Arduino wiggler克隆o.o.)来欺骗一个吗?如果JTAG不是,那是什么,我可以欺骗它吗

这不是一个“欺骗”的问题,接口可以通过多种方式实现。如何实现它主要影响界面的速度。16兆赫可以实现,但更简单的并行端口摆动器可能维持不超过500千赫。它是一个同步接口,所以可变时钟速率不是问题

哦。。。我可能需要更好地解释JTAG是如何工作的

我确信我做得比维基百科的解释更好。但是,对于在目标设备上的实施,您应该参考零件的参考手册/数据表

我有一个旧的Palm设备(),我相信它有处理器

“相信”可能还不够;你需要知道。JTAG引脚是否甚至暴露在电路板上?这在消费者身上很常见