NXP MCU 技术论坛
直播中

哥儿

9年用户 991经验值
擅长:嵌入式技术
私信 关注
[问答]

S32K142为什么无法计算出正确的BOOT_MAC?

我使用安全启动功能,想在修改代码后手动更新 BOOT_MAC。
我在 AN5401 中的示例代码(4_secure_boot_add_BOOT_MAC_manual)中使用了函数“MAC_SECURE_BOOT”,但是在我更改了BOOT_MAC后,它无法成功安全启动,因此无法使用密钥。
修改代码后如何计算BOOT_MAC ?
我使用了 S32k142 和 EVB。我更改了附带的示例“csec_boot_protection_s32k142”以测试BOOT_MAC计算函数,如附件所示。
以下是我测试该功能的程序:
1. FLASH_MODIFY=1,FLASH_TARGET=UNDEFINE,定义INIT_PHASE,在 RAM 中运行以将S32K142重置为出厂设置。
2. FLASH_MODIFY=0,FLASH_TARGET=DEFINE , UNDEFINE INIT_PHASE,在 Flash 中运行以烧录 S32K142 中的测试代码。
3. FLASH_MODIFY=0,FLASH_TARGET=UNDEFINE,UNDEFINE INIT_PHASE,在 RAM 中运行以定义安全启动。
4. FLASH_MODIFY=0,FLASH_TARGET=DEFINE , UNDEFINE INIT_PHASE,在 Flash 中运行以测试 S32K142 中的测试代码。密钥应该可用。
5. FLASH_MODIFY=1,FLASH_TARGET=DEFINE , UNDEFINE INIT_PHASE,在 Flash 中运行以测试 S32K142 中的修改。密钥应为 unavailable 。然后,代码使用 “MAC_SECURE_BOOT” 来计算Boot_MAC并更新它。
6. FLASH_MODIFY=1,FLASH_TARGET=DEFINE , UNDEFINE INIT_PHASE(与步骤 5 相同),在 Flash 中运行,测试是否安全启动成功。
预期结果是 key should be available ,但它不是 。


回帖(1)

京五环以外

2025-4-3 18:14:38

要通过LAN口连接并发送SCPI指令到鸟牌功率计4421A-20-11-0,您需要确保以下几点:


1. 确认网络连接



  • 确保功率计和您的计算机在同一个局域网中。

  • 通过Web UI访问功率计,确认网络连接正常。


2. 获取IP地址



  • 通过Web UI或设备的网络设置页面,获取功率计的IP地址。


3. 使用正确的工具



  • 您可以使用支持TCP/IP连接的工具来发送SCPI指令,例如:

    • Telnet:简单的命令行工具。

    • PuTTY:支持Telnet和SSH的免费工具。

    • Python脚本:使用socket库进行TCP通信。

    • 专业的SCPI工具:如NI VISA、Keysight IO Libraries等。



4. 配置TCP连接



  • 使用Telnet或PuTTY连接时,输入功率计的IP地址和端口号(通常为5025,具体请参考设备手册)。

  • 例如,使用Telnet连接:
     telnet 192.168.1.100 5025

  • 使用PuTTY时,选择“Telnet”协议,输入IP地址和端口号。


5. 发送SCPI指令



  • 连接成功后,您可以直接输入SCPI指令。例如:
     *IDN?

  • 按回车键发送指令,设备应返回其身份信息。


6. 检查返回值



  • 如果设备没有返回任何信息,请检查:

    • 是否正确连接到设备。

    • SCPI指令是否正确。

    • 设备是否处于远程控制模式(有些设备需要切换到远程模式才能接收SCPI指令)。



7. 使用Python脚本示例


如果您更倾向于使用Python,以下是一个简单的示例脚本:


   import socket

   # 设备的IP地址和端口号
   HOST = '192.168.1.100'
   PORT = 5025

   # 创建TCP连接
   s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
   s.connect((HOST, PORT))

   # 发送SCPI指令
   s.sendall(b'*IDN?n')

   # 接收返回值
   data = s.recv(1024)
   print('Received:', data.decode())

   # 关闭连接
   s.close()

8. 常见问题排查



  • 防火墙或网络设置:确保没有防火墙或网络设置阻止了TCP连接。

  • 设备状态:确保设备处于远程控制模式,并且没有其他程序占用了网络连接。

  • SCPI指令格式:确保SCPI指令格式正确,通常以换行符(n)结尾。


9. 参考设备手册



  • 查阅鸟牌功率计4421A-20-11-0的用户手册,确认SCPI指令集和网络配置的具体要求。


通过以上步骤,您应该能够成功通过LAN口连接并发送SCPI指令到功率计。如果问题仍然存在,建议联系设备的技术支持获取进一步帮助。

举报

更多回帖

发帖
×
20
完善资料,
赚取积分