利用 Jam STAPL 的嵌入式编程
Jam 标准测试和编程语言 (STAPL) 满足通过嵌入式处理器进行系统内编程的系统需求,因为它的文件较小、方便使用且独立于任何平台。通过嵌入式处理器将 Jam STAPL 用于系统内编程可让现场升级更加便捷、原型设计更加轻松且生产过程更加快速。这些优势延长了设备的使用寿命,增强了终端产品的质量和灵活性。同时不再需要存储和跟踪编程后的设备,因而减少了设备库存。
运行方式
通过嵌入式处理器将 Jam STAPL 用于系统内编程分为两个阶段(如图 1 所示)。首先,英特尔® FPGA Quartus® II 开发工具生成 Jam STAPL 源代码或 Jam 文件 (.jam),然后将其存储在系统内存中。Jam 文件包含对支持在系统可编程 (ISP) 的设备进行编程所需的所有信息,其中包括升级一个或多个设备所需的编程算法和数据。
图 1.通过嵌入式处理器使用 Jam 文件和 Jam Player 的系统内编程。
关于 Jam 文件 (.jam)
要使用 Jam STAPL 对英特尔 FPGA 设备进行编程,设计人员必须先使用 Quartus II 开发软件创建 Jam 文件。不必重新编译现有设计,因为 Quartus II 软件可以从编程器对象文件 (.pof) 创建 Jam 文件。要将 Jam 文件存储在可擦除可编程的只读存储器 (EPROM) 或闪存中,首先必须将其转换为十六进制(英特尔格式)文件 (.hex) 或类似编程文件。嵌入式处理器软件包或其他实用程序可以自动转换用于 EPROM 或闪存编程的 Jam 文件。同样,一些 EPROM 编程器支持“原始二进制”或“绝对二进制”格式,这样编程器无需转换即可直接读取 Jam 文件。
图 2 描述了如何生成用于系统内编程的 Jam 文件。
图 2.生成 Jam 文件。
关于 Jam Player
Jam Player 是一个 C 程序,用于解析 Jam 文件,解释每条 Jam STAPL 指令,并从 JTAG 链读写数据。Jam Player 处理的变量取决于执行时显示的初始化列表变量。由于每个应用程序都有自己独特的需求,因此 Jam Player 源代码可轻松进行修改。
图 3 显示了 Jam Player 源代码结构。
图 3.Jam Player 源代码结构。
注:
- TCK、TMS、TDI 和 TDO 是 JTAG I/O 引脚。
主程序无需修改即可执行 Jam Player 的所有基本函数。只有 I/O 函数必须要进行修改。如图 3 所示,此类函数包含在 jamstub.c 文件中,其中包括用于指定 I/O 引脚地址、延迟例程、操作系统特定函数和文件 I/O 引脚例程的函数。只需编辑 jamstub.c 文件即可定制这些函数,然后可编译源代码以在任何平台上使用。
Jam Player 永久存放在系统内存中,它将解释 Jam 文件中所提供的命令,并生成二进制数据流用于设备编程。此结构限用于 Jam 文件的所有升级,且 Jam Player 可利用此结构来适应任何系统架构。
下载
- Jam STAPL 程序(免费)
- Quartus II Web 版软件(免费)
相关文档
- 《MAX® II 设备手册》的通过嵌入式处理器使用面向 ISP 的 Jam STAPL (PDF) 章节
常见问题解答
- 我可以在 Jam™ 标准测试和编程语言 (STAPL) Player 或 Jam STAPL Byte-Code Player 中使用旧版的 Jam 文件 (.jam) 和 Jam STAPL Byte-Code 文件 (.jbc) 吗?
- 为何在结合使用独立 DOS Jam STAPL Player 和 ByteBlaster® II 下载电缆对设备进行编程时会出现“Device Programming Failure”错误,但使用 Quartus II Programmer 时则不会出现?
- 当使用 Jam™ 标准测试和编程语言 (STAPL) 文件编程设备时,如何设置安全位?
- FPGA 知识库