Versal 自适应 SoC SelectMAP 启动检查表
本文档提供了有关 SelectMAP 启动设置的技巧和指南。在提交个案服务请求之前,应认真查看以下检查表。
SelectMAP 启动模式的常规检查表:
注:建议在所有开发板上使用 JTAG 启动模式选项。选择 JTAG 启动模式选项可防止在调试期间出现长时间超时(即,如果 SelectMAP 数据接口无法正常工作,则可能需要等待 30 分钟的超时周期,然后才能在不更改模式管脚的情况下尝试加载 JTAG PDI。)
如果无法物理更改启动模式管脚,并且想要在 SelectMAP 启动失败后加载 PDI,请按以下顺序执行操作:
- 以 SelectMAP 启动模式启动
- 等待 30 分钟超时周期
- 运行此 XSCT 脚本,以强制使用 JTAG 启动模式并发出 SRST。
versal_change_boot_mode.tcl ==============================
tar -set -filter {name =~ "Versal *"}
# Enable ISO
mwr -force 0xf1120000 0xffbff
# Switch boot mode
mwr 0xf1260200 0x0100
mrd 0xf1260200
# Set MULTIBOOT address to 0
mwr -force 0xF1110004 0x0
# Perform reset
tar -set -filter {name =~ "PMC"}
rst
=================================================
- 通过 JTAG 加载 PDI
软件流程 SelectMAP 检查表:
为 SelectMAP 启动模式生成 PDI 时,请确保已按以下步骤进行核对:
对于 SelectMAP x8
new_bif:
{
id_code = 0x04d80093
extended_id_code = 0x01
id = 0x2
boot_config{smap_width=8}
image
{
name = pmc_subsys
id = 0x1c000001
…
Or for Select x16
new_bif:
{
id_code = 0x04d80093
extended_id_code = 0x01
id = 0x2
boot_config{smap_width=16}
image
{
name = pmc_subsys
id = 0x1c000001
注:在 2022.2 版中,当用户在“CIPS Peripheral IO”选项卡中选择 SelectMAP x8 或 x16 时,上述属性将自动写入 BIF 文件中。
BIF 文件中有关 SSIT 器件的设置示例
// For generating SLR1 – boot PDI
bitstream_boot_1:
{
id_code = 0x04d10093
extended_id_code = 0x01
id = 0xb
// Do NOT change setting shown on SSIT Slave SLRs
boot_config {smap_width=0}
image
{
name = pmc_subsys, id = 0x1c000001
partition { id = 0xb01, type = bootloader, file = gen_files/plm.elf }
partition { id = 0xb0A, type = pmcdata, load = 0xf2000000, file = gen_files/pmc_data_slr_1.cdo }
…
// For generating final PDI – by combining above generated PDIs.
bitstream_master:
{
id_code = 0x04d10093
extended_id_code = 0x01
id = 0x2
// Add attribute for SelectMAP 8-bit (smap_width=8) and 16-bit (smap_width=16) under the "bitstream_master" section of BIF file
boot_config{smap_width=8)
image
{
name = pmc_subsys, id = 0x1c000001
SelectMAP 写入数据加载顺序示例:
Versal SelectMAP PDI 16 字节总线检测模式顺序:
Versal SelectMAP 多器件接口示例:
大多数应用都在写入模式下使用 Versal SelectMAP 启动模式。对于不以读取操作为目标的应用,建议将 SMAP_RDWR_b 保持在写入模式 (SMAP_RDWR_b=0)。
下面显示了两种 Versal 多器件设置示例。第一个示例显示的控制信号可在上电时或使用相同的 REF_CLK 源时连接在一起。第二个示例表明每个器件的信号都是唯一的,以保证更大的灵活性。
这两种设置都显示了唯一的 SMAP_RDWR_B,这样可防止在不太常见的读取模式用例中出现任何信号争用情况。使用读取模式 (SMAP_RDWR_b=1) 时,无论 SMAP_CS_b 设置如何,数据 I/O 都不会为三态。对于多器件设置,在读取模式下以某个器件为目标时,不属于读取操作目标的器件应保持在写入模式 (SMAP_RDWR_b=0) 下且 SMAP_CS_b=1。
示例 1.
示例 2.