Multi Source Translation Content

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

Multi Source Translation Content

ディスカッション

ソート順:
MCXN547 - Secure OTA with Zephyr Hi, I'm working on a project with the MCXN947: Zephyr on Core0 and bare-metal on Core1 (embedded inside the Zephyr image). Total firmware size is ~800 KB in internal Flash, with the rest reserved for MCUboot + OTA slot. I need to implement secure OTA updates compliant with the EU Cyber Resilience Act (CRA), preferably without external memory. I looked into the SB3 format but I have some doubts: - Is it compatible with Zephyr ? - Does it require external memory to receive and validate the image? What solution would you recommend for this setup? Thanks Board Design Boot ROM|Booting | Flash Core and Memory MCXN Security(Edgelock | secure boot | OTP) Re: MCXN547 - Secure OTA with Zephyr Hi @Jorini  Thank you for the post! 1. Zephyr does not support SB3 files natively, you could use a ROM API to process it.  2. It would depend on your implementation, the MCX N94x Over-The-Air (OTA) Update by Using SB3 File application note use the external flash to store and process the SB3 file before overwriting the secondary image area.  If you only want to manage the version of your firmware signed firmware you could do it directly from mcuboot with zephyr: Building and using MCUboot with Zephyr Re: MCXN547 - Secure OTA with Zephyr Hi, It seems like a good alternative. Anyway, I'm interested to know if Mongoose supports SB3, and if it needs an external memory. Re: MCXN547 - Secure OTA with Zephyr Hi, For an MCXN947 + Zephyr project, you can use the Mongoose Web Server along with its OTA features. It has MCXN947 OTA support and writes the update directly to the inactive flash area. Below is a sample project for MCXN947 on Zephyr, from which you can start: https://mongoose.ws/wizard/#/output?board=mcxn947&ide=Zephyr&rtos=baremetal&file=README.md To download it to your workstation, access that URL, go to the 'Settings' tab, select a directory in the `Source Code Generator` section and click the blue `Generate C/C++ code` button in the upper-right corner of the page. The project features a modern dashboard, powered by Mongoose, which includes a button to upload the new firmware to your board. Open the project, then add this to `mongoose_config.h`: #define MG_OTA MG_OTA_MCXN #define MG_IRAM __attribute__((noinline, section(".ramfunc"))) For signed firmware, generate a key and sign the image with Mongoose’s `resources/sign.js`, found here in the Mongoose official repo: node sign.js keygen node sign.js sign firmware.bin `keygen` prints a public key define. Add that to `mongoose_config.h` too: #define MG_OTA_PUBLIC_KEY { /* generated 64-byte public key */ } That should be enough to generate a signed image. For more documentation on Mongoose OTA functionality and image signing, you can access this documentation page https://mongoose.ws/docs/guides/firmware-ota-updates/ Heads up: I am part of the Mongoose development team, I hope this helps you in your process. Re: MCXN547 - Secure OTA with Zephyr Mongoose does not use SB3, the OTA functionality is a much simpler alternative to using the SB3 updating flow. It receives the signed firmware image, writes it to the 2nd half of the flash memory, verifies the signature, and then swaps the 2 flash partitions, so at the next boot, the new firmware images runs.
記事全体を表示
How to use the HCI_bb on Kinetis family products and get access to the DTM mode This article is presenting 2 parts:    Part1: How to flash the HCI_bb binary into the Kinetis product (here is the example of the KW38).    Part 2: Perform RF measurements using the R&S CMW270  2 attached files:    - bci_black_box.bin (zip file)    - mbed_WinSerial.exe (zip file) Part1: How to flash the HCI_bb binary into the Kinetis product (here is the example of the KW38). The HCI_bb application example is on the SDK folder below: Plug the FRDM-KW38 board on your PC using the USB cable. The FRDM-KW38 board will be seeing as a hard disk. Disk 😧 in this example. Select the hci_black_box_frdmkw38.bin file and drag and drop this file to the FRDM-KW38 (D:) The KW38 is flashed when 100% is reached. The FRDM-KW38 board is ready to be used with the DTM mode. Part 2: Perform RF measurements using the R&S CMW270  The FRDM-KW38 board could be connected to the R&S CMW270 using the USB cable. The hci_bb set the KW38 in DTM mode. The CMW270 could communicate by sending DTM commands. Note: You need to install the mbedWinSerial driver (attached in this article) in the CMW270 to detect the FRDM-KW38 board. Re: How to use the HCI_bb on Kinetis family products and get access to the DTM mode I am trying to doing this DTM test on KW36(specific application hardware, not a development board) ,can you please help or share the entire process as well as firmware & list of tools required to perform this test?
記事全体を表示
How to Disable Mass Erase on the FRDM-A-S32K344 have created two applications for the FRDM-A-S32K344. One application is located at address 0x00400000, and the other is located at address 0x00500000. When I flash one of the applications using the onboard debugger, it performs a mass erase and removes the other application as well. How can I disable mass erase and configure the debugger to erase only a specific flash region or section during programming? Re: How to Disable Mass Erase on the FRDM-A-S32K344 Hello, OK, So you are able to load both binaries at once successfully. But, you didn't mention that you will use bootloader. What you actually want Reset → Bootloader runs → wait for SW2 → jump to App   When using Launch Group in S32DS, each debug configuration loads its ELF and the last one determines the current PC. Therefore, the application entry point overrides the bootloader, causing it to be skipped. To ensure correct bootloader execution, use a single debug configuration that loads both images but starts execution from the bootloader reset vector. Also disable “Run to main” to avoid skipping startup code. After a real reset the S32K3 always starts execution from the predefined boot address (internal flash at 0x00400000), and the first valid image (typically your bootloader) is executed. However, during debugging with S32DS, this behavior can be overridden by the debugger, which may set the program counter to the application entry point after loading ELF files, effectively bypassing the bootloader. Best regards, Peter Re: How to Disable Mass Erase on the FRDM-A-S32K344 Hello, Thank you for the suggestion. I created a Launch Group and added both the Bootloader and Application ELF debug configurations. However, when I start the debug session, it appears that only the application code is running, and the bootloader execution is being bypassed. My requirement is for the bootloader to execute first after reset and then jump to the application only when SW2 is pressed. Could you please advise if there are any additional Launch Group settings or debugger configurations required to ensure the bootloader runs before the application? I am using on board debugger in FRDM-A-S32K344 Re: How to Disable Mass Erase on the FRDM-A-S32K344 Hello, In Debug Configurations, you can create a Launch Group and simply add all the ELF files you want to load. This lets you load multiple images (e.g. bootloader + application) in one go. Best regards, Peter
記事全体を表示
通过 MU 安装 HSE 固件时出现 S32K3 恢复问题 我们目前正在使用 HSE 在 S32K344/S32K314 上开发安全启动功能,该功能基于 `S32K344_Advanced_SecureBoot` 演示程序,该演示程序来自 `S32K3_HSE_DemoExamples`。我们已经完成了大部分功能开发,并且可以成功进行调试。在我们的配置程序中,我们使用 ED25519 计算 BM、FBL 和 APP 的签名,将它们写入闪存中的指定地址,并为这三个应用程序配置 SMR 和 CR(BM 作为启动前 SMR,FBL 和 APP 作为启动后 SMR)。但是,我们遇到了一些不清楚的问题,希望您能提供帮助。我们目前使用的是 HSE 的FULL_MEM形式。 由于我们使用 ED25519 算法来计算所有应用程序二进制文件的签名,因此配置程序需要很长时间才能执行。如果在程序完成之前意外发生断电,我们发现 HSE 会进入不可恢复的错误状态。重启或重新刷新固件后,HSE 不再响应任何主机请求。通过检查 `0x4039C028` (HSE_CONFIG_GPR3) 处的寄存器,我们发现其值为 `0xC0`;第 0 位已变为 `0`,这表明 HSE 固件可能已被 SBAF 擦除。上电后,MU0 FSR 寄存器也为“0”。因此,我们尝试重新安装 HSE 固件。由于通常基于 IVT 的安装方法不再有效,我们尝试通过 MU 界面进行安装。 我们模拟了文档中描述的步骤,但发现将粉色图像的 SRAM 地址写入 MU Tx 寄存器(步骤 5)后,HSE_CONFIG_GPR3 中的值立即从 `0xC2` 变回 `0xC0` – 即,位 1 从 `1` 变为 `0` – 我们始终无法收到预期的成功响应 `0xDACACADA`。 我们在论坛上也提到过类似的问题: S32K3_HSE 的 MU 安装 AB_SWAP 过程不正确。我们尝试在步骤 5 之后立即执行功能 RESET,但 RESET 后仍然无法安装新的 HSE 固件。 请问如何处理和恢复这种损坏的 HSE 状态? 如果需要任何调整,请告诉我。 Re: S32K3 recovery issue when install HSE fw via MU 嗨@成金王 我无法读取您分享的项目中的源文件,因为它们已被加密。请提供包含纯文本(未加密)文件的版本。 几天前,我创建了一个 Trace32 脚本,用于通过 MU 接口恢复 HSE AB_SWAP 固件,所以我很快将其修改为 FULL_MEM 版本。我这边可以正常工作——我收到了 0xDACACADA 响应。 在输入粉色图像位置后,您是否会等待大约 1.5 秒再执行任何进一步操作?FULL_MEM 安装过程中没有明确提及此延迟,但 AB_SWAP 版本需要此延迟。这可能是问题所在。 如果你在使用 Trace32,请告诉我,我可以分享我的脚本。 此致, Lukas Re: S32K3 recovery issue when install HSE fw via MU 这是我通过 MU 安装 HSE 固件时使用的恢复程序;您能帮忙看一下哪里出了问题吗? Re: S32K3 recovery issue when install HSE fw via MU 附件是我当前使用的项目的未加密版本。我的测试中使用了 S32K344 芯片、PE 调试器和附件中的 S32DS 项目。我尝试在写入粉色图像后等待几秒钟,以接收来自 SBAF 的成功响应,但这也没有奏效。直接执行功能重置也无效。请您检查一下附件项目中我的 MU 安装程序是否存在任何问题?
記事全体を表示
PN5190を使用したタイプ2タグのエミュレーション カスタムLinuxプラットフォームでPN5190をカードリーダーとして動作させることに成功しました。 今度は、これをタイプ2タグとして機能させ、タップされたスマートフォンに(できるだけ速く)URLを送信するように試してみたいと思います。 NFCReaderLibraryでこれを実現できる例はありますか? もしそうでなければ、どうやって実現すればいいのか教えていただけませんか? Re: Type 2 Tag Emulation with PN5190 お世話になります。 私たちの製品にご関心を持っていただき、本当にありがとうございます。 残念ながら、私たちのNFCリーダーライブラリにはType 4タグのホストカードエミュレーションの例しかありません。 例8_HCE_T4Tです。   この情報がお役に立てば幸いです。
記事全体を表示
About the Finite-State Machine (FSM) of i.MX8Mplus We use Toradex's Veridin i.MX8Mplus at our company. At that time, the SOM_PW_ON signal is input to control the SoM's power supply. (Directly connected to the ON/OFF signal of the i.mx8MPlusSoC). *Please refer to the waveform on the attached oscilloscope.   Due to the circuit configuration on the SoM side, the voltage should be High (1.8V), but for about 800 msec after startup, it remains at an intermediate potential of approximately 0.3-0.4V. I'd like to know how this voltage (0.3 to 0.4V) is handled as an ON/OFF signal on the SoC side. This information was not included in the datasheet or reference manual. I think that in cases of very short ON/OFF operations (<5s), the system may proceed to shutdown. Would the operation detection criteria be the transition from High to Low edge state and the duration of the Low state? I would also like to know the exact minimum/maximum times for those times. i.MX 8M | i.MX 8M Mini | i.MX 8M Nano
記事全体を表示
EdgeLock SE051: se05x_Minimal fails with SCP03 errors after loading OpenSSL Provider Hello, I am trying to use the OpenSSL Provider with the EdgeLock SE051 and SCP03 on Linux. I have run into an issue where the se05x_Minimal example works perfectly at first, but fails with SCP03 authentication errors after I install the shared libraries for the OpenSSL Provider. Could you please advise on what might be causing this conflict? Environment: Board: MCIMX8M-WEVK and OM-SE051ARD SoC: i.MX 8M Linux version: 6.1.151-cip46 OpenSSL version: 3.0.20 Plug & Trust MW version: 04.07.01 Steps Taken: Built the Plug & Trust MW with the following CMake configuration: cmake ../simw-top \ -DPTMW_Applet=SE05X_C \ -DPTMW_SE05X_Ver=07_02 \ -DPTMW_Host=iMXLinux \ -DPTMW_SMCOM=T1oI2C \ -DPTMW_HostCrypto=OPENSSL \ -DPTMW_RTOS=Default \ -DPTMW_mbedTLS_ALT=None \ -DPTMW_SCP=SCP03_SSS \ -DPTMW_FIPS=None \ -DPTMW_SBL=None \ -DPTMW_SE05X_Auth=PlatfSCP03 \ -DPTMW_Log=Default \ -DCMAKE_BUILD_TYPE=Release \ -DPTMW_SE_RESET_LOGIC=1 Copied simw-top/demos/linux/common/openssl30_sss_se050.cnf from the Plug & Trust MW directory to /root on the i.MX 8M. Exported the configuration environment variable: export OPENSSL_CONF=/root/openssl30_sss_se050.cnf Executed se05x_Minimal to confirm that the SE051 with SCP03 works correctly. It succeeded. App :INFO :Running bin/se05x_Minimal App :INFO :If you want to over-ride the selection, use ENV=EX_SSS_BOOT_SSS_PORT or pass in command line arguments. App :INFO :PlugAndTrust_v04.07.01_20250519 App :INFO :Using default PlatfSCP03 keys. You can use keys from file using ENV=EX_SSS_BOOT_SCP03_PATH sss :INFO :atr (Len=35) (snip) App :INFO :mem=17196 App :INFO :se05x_Minimal Example Success !!!... App :INFO :ex_sss Finished Copied libsssapisw.so, libsss_pkcs11.so, and libsssProvider.so to /usr/local/lib/. (Note: /usr/local/lib/ is the path specified in the [nxp_prov_sec] section of /root/openssl30_sss_se050.cnf) Executed se05x_Minimal again. This time, it failed with the following errors: Error Output: App :INFO :Running bin/se05x_Minimal App :INFO :If you want to over-ride the selection, use ENV=EX_SSS_BOOT_SSS_PORT or pass in command line arguments. App :INFO :PlugAndTrust_v04.07.01_20250519 App :INFO :Using default PlatfSCP03 keys. You can use keys from file using ENV=EX_SSS_BOOT_SCP03_PATH sss :INFO :atr (Len=35) (snip) App :INFO :If you want to over-ride the selection, use ENV=EX_SSS_BOOT_SSS_PORT or pass in command line arguments. App :INFO :Using default PlatfSCP03 keys. You can use keys from file using ENV=EX_SSS_BOOT_SCP03_PATH sss :INFO :atr (Len=35) (snip) sss :ERROR:Error in RAND_pseudo_bytes scp :WARN :nxEnsure:'status == kStatus_SSS_Success' failed. At Line:121 Function:nxScp03_AuthenticateChannel sss :ERROR:Could not set SCP03 Secure Channel App :ERROR:sss_session_open failed App :WARN :nxEnsure:'kStatus_SSS_Success == status' failed. At Line:240 Function:OSSL_provider_init smCom :ERROR:phNxpEseProto7816_DecodeFrame Max retry count reached!!! smCom :ERROR:phNxpEseProto7816_Transceive Transceive failed, hard reset to proceed smCom :ERROR: phNxpEse_Transceive phNxpEseProto7816_Transceive- Failed smCom :ERROR: Transcive Failed sss :WARN :nxEnsure:'retStatus == SM_OK' failed. At Line:7977 Function:sss_se05x_channel_txn sss :WARN :nxEnsure:'ret == SM_OK' failed. At Line:7839 Function:sss_se05x_TXn sss :WARN :APDU Transaction Error: Error (0xFFFF) scp :ERROR:GP_InitializeUpdate Failure on communication Link FFFF scp :ERROR:nxScp03_GP_InitializeUpdate fails with Status 3C3C0000 sss :ERROR:Could not set SCP03 Secure Channel App :ERROR:sss_session_open failed App :ERROR:ex_sss_session_open Failed App :ERROR:!ERROR! ret != 0. It seems that once the OpenSSL provider is successfully loaded by the configuration, something (possibly related to RAND_pseudo_bytes) breaks the SCP03 channel establishment. Has anyone encountered this or knows what additional configurations might be missing? Thank you in advance for your help. Re: EdgeLock SE051: se05x_Minimal fails with SCP03 errors after loading OpenSSL Provider Hi @Uc_S , Did you set up the proper openssl version?  Please use the following option: -DPTMW_OpenSSL=3_0 BTW, for test purpose, please enable verbose log to have more debug info.  -DPTMW_Log=Verbose Have a great day, Kan ------------------------------------------------------------------------------- Note: - If this post answers your question, please click the "Mark Correct" button. Thank you! - We are following threads for 7 weeks after the last post, later replies are ignored Please open a new thread and refer to the closed one, if you have a related question at a later point in time. -------------------------------------------------------------------------------
記事全体を表示
如何禁用 FRDM-A-S32K344 上的批量擦除功能 为 FRDM-A-S32K344 创建了两个应用程序。一个应用程序位于地址 0x00400000,另一个应用程序位于地址 0x00500000。 当我使用板载调试器烧录其中一个应用程序时,它会执行批量擦除,并将另一个应用程序也删除。 如何禁用批量擦除,并将调试器配置为在编程期间仅擦除特定的闪存区域或部分? Re: How to Disable Mass Erase on the FRDM-A-S32K344 你好, 好的,看来您能够同时成功加载这两个二进制文件。 但是,你没有提到你会使用引导加载程序。 你真正想要的 RESET → 启动加载程序运行 → 等待 SW2 → 跳转到应用程序   在 S32DS 中使用启动组时,每个调试配置都会加载其 ELF 文件,最后一个 ELF 文件决定当前程序计数器。因此,应用程序入口点会覆盖引导加载程序,导致引导加载程序被跳过。 为确保引导加载程序正确执行,请使用单个调试配置,该配置加载两个映像,但从引导加载程序重置向量开始执行。同时禁用“运行到主程序”以避免跳过启动代码。 真正复位后,S32K3 总是从预定义的启动地址(内部闪存地址 0x00400000)开始执行,并执行第一个有效的映像(通常是您的引导加载程序)。 然而,在使用 S32DS 进行调试时,调试器可以覆盖此行为,在加载 ELF 文件后,调试器可能会将程序计数器设置为应用程序入口点,从而有效地绕过引导加载程序。 顺祝商祺! Peter Re: How to Disable Mass Erase on the FRDM-A-S32K344 你好, 谢谢你的建议。 我创建了一个启动组,并添加了引导加载程序和应用程序 ELF 调试配置。但是,当我启动调试会话时,似乎只有应用程序代码在运行,而引导加载程序的执行被绕过了。我的要求是,RESET后先执行引导加载程序,然后只有在按下 SW2 时才跳转到应用程序。 请问是否需要进行任何额外的启动组设置或调试器配置,以确保引导加载程序在应用程序运行之前运行? 我正在使用FRDM-A-S32K344上的板载调试器。 Re: How to Disable Mass Erase on the FRDM-A-S32K344 你好, 在调试配置中,您可以创建一个启动组,然后简单地添加所有要加载的 ELF 文件。这样就可以加载多个图像(例如)一次性完成引导加载程序 + 应用程序。 顺祝商祺! Peter
記事全体を表示
EdgeLock SE051:加载 OpenSSL 提供程序后,se05x_Minimal 出现 SCP03 错误而失败 你好, 我正在尝试在 Linux 系统上使用 EdgeLock SE051 和 SCP03 以及 OpenSSL 提供程序。我遇到了一个问题,se05x_Minimal 示例一开始运行完美,但在安装 OpenSSL 提供程序的共享库后,出现 SCP03 身份验证错误。 请问造成这种冲突的原因可能是什么? 环境: 板: MCIMX8M-WEVK 和 OM-SE051ARD SoC: i.MX 8M Linux 版本: 6.1.151-cip46 OpenSSL 版本: 3.0.20 Plug & Trust MW 版本: 04.07.01 已采取的步骤: 使用以下 CMake 配置构建 Plug & Trust MW: cmake ../simw-top \ -DPTMW_Applet=SE05X_C \ -DPTMW_SE05X_Ver=07_02 \ -DPTMW_Host=iMXLinux \ -DPTMW_SMCOM=T1oI2C \ -DPTMW_HostCrypto=OPENSSL \ -DPTMW_RTOS=Default \ -DPTMW_mbedTLS_ALT=None \ -DPTMW_SCP=SCP03_SSS \ -DPTMW_FIPS=None \ -DPTMW_SBL=None \ -DPTMW_SE05X_Auth=PlatfSCP03 \ -DPTMW_Log=Default \ -DCMAKE_BUILD_TYPE=Release \ -DPTMW_SE_RESET_LOGIC=1 将 Plug & Trust MW 目录中的 simw-top/demos/linux/common/openssl30_sss_se050.cnf 复制到 i.MX 8M 的 /root 目录。 已导出配置环境变量: export OPENSSL_CONF=/root/openssl30_sss_se050.cnf 执行 se05x_Minimal 以确认 SE051 与 SCP03 能够正常工作。它成功了。 App :INFO :Running bin/se05x_Minimal App :INFO :If you want to over-ride the selection, use ENV=EX_SSS_BOOT_SSS_PORT or pass in command line arguments. App :INFO :PlugAndTrust_v04.07.01_20250519 App :INFO :Using default PlatfSCP03 keys. You can use keys from file using ENV=EX_SSS_BOOT_SCP03_PATH sss :INFO :atr (Len=35) (snip) App :INFO :mem=17196 App :INFO :se05x_Minimal Example Success !!!... App :INFO :ex_sss Finished 已复制 libsssapisw.so,libsss_pkcs11.so 和 libsssProvider.so 到 /usr/local/lib/。(注:/usr/local/lib/ 是 /root/openssl30_sss_se050.cnf 的 [nxp_prov_sec] 部分中指定的路径) 再次执行 se05x_Minimal。这次失败了,出现了以下错误: 错误输出: App :INFO :Running bin/se05x_Minimal App :INFO :If you want to over-ride the selection, use ENV=EX_SSS_BOOT_SSS_PORT or pass in command line arguments. App :INFO :PlugAndTrust_v04.07.01_20250519 App :INFO :Using default PlatfSCP03 keys. You can use keys from file using ENV=EX_SSS_BOOT_SCP03_PATH sss :INFO :atr (Len=35) (snip) App :INFO :If you want to over-ride the selection, use ENV=EX_SSS_BOOT_SSS_PORT or pass in command line arguments. App :INFO :Using default PlatfSCP03 keys. You can use keys from file using ENV=EX_SSS_BOOT_SCP03_PATH sss :INFO :atr (Len=35) (snip) sss :ERROR:Error in RAND_pseudo_bytes scp :WARN :nxEnsure:'status == kStatus_SSS_Success' failed. At Line:121 Function:nxScp03_AuthenticateChannel sss :ERROR:Could not set SCP03 Secure Channel App :ERROR:sss_session_open failed App :WARN :nxEnsure:'kStatus_SSS_Success == status' failed. At Line:240 Function:OSSL_provider_init smCom :ERROR:phNxpEseProto7816_DecodeFrame Max retry count reached!!! smCom :ERROR:phNxpEseProto7816_Transceive Transceive failed, hard reset to proceed smCom :ERROR: phNxpEse_Transceive phNxpEseProto7816_Transceive- Failed smCom :ERROR: Transcive Failed sss :WARN :nxEnsure:'retStatus == SM_OK' failed. At Line:7977 Function:sss_se05x_channel_txn sss :WARN :nxEnsure:'ret == SM_OK' failed. At Line:7839 Function:sss_se05x_TXn sss :WARN :APDU Transaction Error: Error (0xFFFF) scp :ERROR:GP_InitializeUpdate Failure on communication Link FFFF scp :ERROR:nxScp03_GP_InitializeUpdate fails with Status 3C3C0000 sss :ERROR:Could not set SCP03 Secure Channel App :ERROR:sss_session_open failed App :ERROR:ex_sss_session_open Failed App :ERROR:!ERROR! ret != 0. 似乎一旦 OpenSSL 提供程序通过配置成功加载,某些东西(可能与 RAND_pseudo_bytes 有关)就会破坏 SCP03 通道的建立。 有人遇到过这种情况吗?或者知道可能还缺少哪些配置吗? 提前感谢您的帮助。 Re: EdgeLock SE051: se05x_Minimal fails with SCP03 errors after loading OpenSSL Provider 嗨@Uc_S , 你是否安装了正确的 OpenSSL 版本?请使用以下选项: -DPTMW_OpenSSL=3_0 另外,为了测试目的,请启用详细日志以获取更多调试信息。 -DPTMW_Log=详细 祝你有美好的一天, 坎 ------------------------------------------------------------------------------- 笔记: - 如果此回复解答了您的问题,请点击“标记为正确答案”按钮。谢谢你! - 我们会持续关注帖子,从最后一条回复发出后持续7周,之后的回复将被忽略。 如果您之后有相关问题,请另开新帖并引用已关闭的帖子。 -------------------------------------------------------------------------------
記事全体を表示
MCXN547 - 使用 Zephyr 进行安全 OTA 升级 您好, 我正在使用 MCXN947 开发一个项目:在 Core0 上运行 Zephyr,在 Core1 上运行裸机(嵌入在 Zephyr 镜像中)。固件总大小约为 800 KB,存储在内部闪存中,其余空间预留给 MCUboot 和 OTA 插槽。 我需要实现符合欧盟网络安全弹性法案 (CRA) 的安全 OTA 更新,最好无需外部存储器。 我研究过SB3格式,但我有一些疑问: 它与 Zephyr 兼容吗? - 是否需要外部存储器来接收和验证图像? 针对这种情况,您会推荐哪种解决方案? 谢谢! 电路板设计 启动 ROM | 启动配置 | 闪存 核心与内存 MCX N 安全(Edgelock | 安全启动 | OTP) Re: MCXN547 - Secure OTA with Zephyr 嗨@Jorini 谢谢你的帖子! 1. Zephyr 本身不支持 SB3 文件,您可以使用 ROM API 来处理它。 2. 这取决于你的实现方式, MCX N94x 空中( OTA )更新使用 SB3 文件应用笔记使用外部闪存来存储和处理 SB3 文件,然后再覆盖辅助映像区域。 如果您只想管理已签名固件的版本,可以直接使用 Zephyr 从 MCUboot 中进行管理:使用 Zephyr 构建和使用 MCUboot Re: MCXN547 - Secure OTA with Zephyr 您好, 这似乎是一个不错的替代方案。总之,我想知道 Mongoose 是否支持 SB3,以及它是否需要外部存储器。 Re: MCXN547 - Secure OTA with Zephyr 您好, 对于 MCXN947 + Zephyr 项目,您可以使用 Mongoose Web 服务器及其 OTA 功能。它支持 MCXN947 OTA,并将更新直接写入非活动闪存区域。 以下是基于 Zephyr 的 MCXN947 示例项目,您可以从这里开始: https://mongoose.ws/wizard/#/output?board=mcxn947&ide=Zephyr&rtos=baremetal&file=README.md 要将其下载到您的工作站,请访问该 URL,转到“设置”选项卡,在“源代码生成器”部分选择一个目录,然后单击页面右上角的蓝色“生成 C/C++ 代码”按钮。 该项目采用由 Mongoose 提供支持的现代化仪表盘,其中包含一个按钮,可将新固件上传到您的板。 打开项目,然后将以下内容添加到 `mongoose_config.h` 文件中: #define MG_OTA MG_OTA_MCXN #define MG_IRAM __attribute__ ((noinline, section(".ramfunc"))) 对于已签名的固件,请生成密钥并使用 Mongoose 的 `resources/sign.js` 对镜像进行签名。在Mongoose 官方仓库中可以找到: node sign.js 密钥生成器 node sign.js 签名 firmware.bin `keygen` 会打印出一个公钥定义。将其添加到 `mongoose_config.h` 中也: #define MG_OTA_PUBLIC_KEY { /* 生成的 64 字节公钥 */ } 这样应该足以生成签名镜像。有关 Mongoose OTA 功能和镜像签名的更多文档,您可以访问此文档页面:https://mongoose.ws/docs/guides/firmware-ota-updates/ 友情提示:我是 Mongoose 开发团队的一员,希望这对您的开发过程有所帮助。 Re: MCXN547 - Secure OTA with Zephyr Mongoose 不使用 SB3,OTA 功能是比使用 SB3 更新流程简单得多的替代方案。它接收已签名的固件映像,将其写入闪存的后半部分,验证签名,然后交换两个闪存分区,以便在下次启动时运行新的固件映像。
記事全体を表示
How To Do FRDM-KW36 Direct Test Mode or Radio Test Mode? Hello, I want to perform DTM (Direct Test Mode) or RF testing on our application hardware board, on which we are using the FRDM-KW36 as the controller. Could anyone please suggest how to perform this test, and provide a list of the required tools and which firmware should be used for this purpose? FRDM-KW36  Re: How To Do FRDM-KW36 Direct Test Mode or Radio Test Mode? Hello Sofia, I am trying to do this test over the application specific hardware, not over the development board and I gone through hci_bb example code in that it is not mentioned for KW36 family it is for KW38/40. So could you please tell me how to do it and what will be the connections as we;; as required tools(like software like Test Tool12)? Although I already tried by uploading the hci_bb example code over my hardware and tried to connect it to Test Tool12 using UART cable but its not detecting in Test Tool12, so could please help me to resolve this? (Note: I have checked that the UART port is detecting in device_manager). Re: How To Do FRDM-KW36 Direct Test Mode or Radio Test Mode? Hello, hope you are doing well!   You can refer to this document: AN12076 FRDM-KW36 RF System Evaluation Report for the Bluetooth LE applications. It provides the RF evaluation test results of FRDM-KW36 for Bluetooth LE applications, as well as the test setup description and the tools required so you can perform the tests on your own. The binary codes used for the tests are based on the Connectivity Software Package (GenFSK protocol) and the HCI_blackbox example, with the Tera Term terminal emulator used to communicate with the KW36 MCU.   Additionally, we also have these guides that might be helpful, as they explain how to use the HCI Blackbox example to perform DTM on KW devices: How to use the HCI_bb on Kinetis family products and get access to the DTM mode Bluetooth LE HCI Black Box Quick Start Guide   Best regards, Ana Sofia. Re: How To Do FRDM-KW36 Direct Test Mode or Radio Test Mode? I tried to perform it by uploading the example code "hci_bb_bm" through mcuxpresso but when I tried to connect the board to Test Tool12 using UART interface(UART-TTL) then Test Tool12 will not detect the  COM-port, could anyone help me to resolve/correct this problem?
記事全体を表示
LinuxリリースRev.LF5.15.71_2.2.2 i.MX 参考・ガイドドキュメント こんにちは、スタッフの皆さん。 現在、IMX8MPUを使って i.MX YoctoプロジェクトLF5.15.71_2.2.2に取り組んでいます。 この特定のバージョンに対応する ユーザーガイドやリファレンスマニュアルなどにアクセスする必要があります。しかし、NXPのデザインセンターで検索しても、最新の 6.x カーネルバージョンのドキュメントしか見つからずダウンロードもできません。 どなたか正しい方向を教えていただけるか、 LF5.15.71_2.2.2のアーカイブドキュメントへの直接リンクを教えていただけませんか? よろしくお願いします! 評価ボード
記事全体を表示
如何进行FRDM-KW36直接测试模式或无线电测试模式? 你好, 我想在我们的应用硬件板上执行 DTM(直接测试模式)或 RF 测试,该板采用 FRDM-KW36 作为控制器。请问各位能否提供如何进行这项测试的建议,并提供所需工具清单以及应该使用哪个固件? FRDM-KW36 Re: How To Do FRDM-KW36 Direct Test Mode or Radio Test Mode? 你好,索菲亚, 我正在尝试在特定应用硬件上进行此测试,而不是在开发板上进行测试。我查看了 hci_bb 示例代码,但其中没有提到 KW36 系列,而是提到了 KW38/40。所以,请问您能否告诉我该如何操作,以及我们需要哪些连接,例如需要哪些工具(如Test Tool12之类的软件)? 虽然我已经尝试将 hci_bb 示例代码上传到我的硬件,并尝试使用 UART 电缆将其连接到 Test Tool12,但 Test Tool12 无法检测到它,请问您能否帮我解决这个问题? (注:我已经检查过,设备管理器中可以检测到 UART 端口。) Re: How To Do FRDM-KW36 Direct Test Mode or Radio Test Mode? 你好,希望你一切都好!   您可以参考以下文档: AN12076 FRDM-KW36 射频系统蓝牙低功耗应用评估报告。它提供了 FRDM-KW36 在蓝牙低功耗应用中的射频评估测试结果,以及测试设置说明和所需工具,以便您可以自行执行测试。 测试中使用的二进制代码基于连接软件程序包(GenFSK 协议)和 HCI_blackbox 示例,并使用 Tera Term 终端仿真器与 KW36 MCU 进行通信。   此外,我们还有一些指南可能对您有所帮助,因为它们解释了如何使用 HCI Blackbox 示例在 KW 设备上执行 DTM: 如何在 Kinetis 系列产品上使用 HCI_bb 并访问 DTM 模式 蓝牙低功耗人机交互黑盒快速入门指南   此致, 安娜·索菲亚。 Re: How To Do FRDM-KW36 Direct Test Mode or Radio Test Mode? 我尝试通过 mcuxpresso 上传示例代码“hci_bb_bm”来执行此操作,但是当我尝试使用 UART 接口(UART-TTL)将开发板连接到 Test Tool12 时,Test Tool12 无法检测到 COM 端口,请问有人可以帮我解决/纠正这个问题吗?
記事全体を表示
LS1028A IEEE1588 Phyタイムスタンプによるサポート こんにちは、IEEE1588 LS1028Aのサポートについて質問があります。利用可能な資料をざっと見てみましたが、質問の答えが見つかりませんでした。具体的には、FelixのスイッチドライバーかMACドライバー(どちらかは不明)が、タイムタンピングがMACレイヤーではなくEthernet Phyで行われるIEEE1588をサポートしていますか?理論的には、Phyタイムスタンプを使用すると、ラインに近いので、より高い精度が得られるはずなので、疑問に思っています。少なくとも理論上は。このSoCではどのように動作するのですか? Re: LS1028A IEEE1588 support with Phy timestamping こんにちは、 いいえ — LS1028Aでは、IEEE 1588/PTPのタイムスタンプは、SoCの内部イーサネットハードウェア(ENETC MACまたはFelix switch MAC/PTPブロック)によって行われると記録されており、外部イーサネットPHYによって行われていません。IEEE 1588タイムスタンプは、外部のPHYベースのパケットタイムスタンプではなく、ENETC/Felix MAC側のPTPハードウェアと個別のPHCブロックによって内部的に処理されます。 よろしくお願いします。
記事全体を表示
FS26 Amux 传感问题 我尝试在将BAT 感知电压连接到AMUX 引脚后测量该引脚上的电压。我已经验证了所有相关的寄存器值, FS_STATES寄存器报告设备处于正常模式。然而,AMUX 引脚持续输出 0 V,我的 12 位 ADC 读数始终为 0。我的代码以S32K3xx 参考示例之一为基础(已附上),但 AMUX 测量功能并未按预期工作。请查一下。 Re: FS26 Amux sensing issue 您好, 感谢您分享代码和详细信息。请您核对以下内容: - 写入后读取 M_AMUX_CTRL 寄存器,并确认 AMUX_EN = 1 且 AMUX[4:0] = 0x16(已选择 BATSENSE)。 - 请同时确认 SPI 响应指示 M_AVAL = 1,这意味着主状态机处于正常模式。 - 硬件方面,请确认 BATSENSE 引脚是否有预期的电压,以及 AMUX 引脚是否正确连接到 ADC 输入。   BRs,托马斯 Re: FS26 Amux sensing issue M_AMUX_CTRL 寄存器配置为 M_AMUX_EN | M_AMUX_BATSENSE | M_AMUX_DIV_0,并通过回读验证为 0x56。这证实了模拟多路复用器处于活动状态,并正确地路由了 12V 电池感应输入。   但是,SPI 设备状态 (u8DeviceStatus) 读取结果为 0xCA。由于最高有效位已设置(sbc_fs26_RxFrameType.u8DeviceStatus & 0x80 == 1),因此全局故障保护故障处于活动状态。此外,FS_STATES 寄存器返回 11,证明设备卡在 INIT_FS(初始化故障保护)状态。 Re: FS26 Amux sensing issue 你好, 您的回读结果确认 AMUX 配置正确,但设备卡在 INIT_FS 中。 为解决此问题,请按照AN13850 (需要签署保密协议的安全文件)第 6.1 节和第 6.2 节中描述的初始化和监视程序序列进行操作: 上电或 RESET 后,按照 6.1 节所述配置所有必需的 FS_I_xxx 和 FS_I_NOT_xxx 寄存器。 在 256 毫秒的 INIT_FS 窗口内执行一次良好的看门狗刷新,以结束初始化阶段。 一旦功能安全输出解除,设备将进入正常模式,AMUX 测量功能将按预期运行。 BRs,托马斯
記事全体を表示
i.MX Linux 版本 Rev.LF5.15.71_2.2.2 的参考和指南文档 各位员工好。 我目前正在使用imx8mp MPU 开发 i.MX yocto 项目LF5.15.71_2.2.2 。 我需要查阅该特定版本的用户指南、参考手册等资料。但是,在 NXP 设计中心搜索时,我只能找到并下载最新的6.x内核版本的文档。 请问有人能指点一下,或者提供LF5.15.71_2.2.2的存档文档的直接链接吗? 谢谢您! 评估板
記事全体を表示
S32K358 eMIOS ISR 卡在 85°C 尊敬的恩智浦技术支持团队: 我们在 S32K358 上进行 85°C 左右的温度测试时遇到了问题。   在我们的应用中,我们使用了 6 个 eMIOS 通道,每个通道都配置为在 PWM 的两个边沿生成中断,频率为 200Hz。   在 85°C 时,MCU 有时会卡在某个 eMIOS 中断服务例程 (ISR) 中。ISR 无法退出,因为代码会通过读取 eMIOS 寄存器来检查中断标志,但该标志的值为 0(文件 Emios_Mcl_Ip_Irq.c)。 😞   如果( 0U != ((Emios_Ip_paxBase[Instance]->CH.UC[Channel].S) & (uint32) eMIOS_S_FLAG_MASK ))   调试后我们发现,当问题出现时,包含 eMIOS 基地址的变量( Emios_Ip_paxBase)为 NULL 。而当应用程序正常运行时,该指针有效,并且 eMIOS 寄存器也能被正确读取。 似乎在某些情况下,对 eMIOS 外设的引用在 ISR 执行期间会被损坏或清除。   您是否有任何关于可能存在的已知问题或根本原因的线索,例如堆栈溢出、内存损坏、并发访问、中断服务例程处理或温度相关行为?   顺祝商祺! 西蒙 Re: S32K358 eMIOS ISR stuck at 85°C 嗨,范恩 我目前使用的是 RTD 7.0.0 版本。 Re: S32K358 eMIOS ISR stuck at 85°C 嗨@simon98 你使用的是哪个版本的RTD?任何其他信息都将不胜感激。 此外,在 6.0.0 之前的 RTD 版本中,存在一个与函数作用域内静态变量的内存映射不正确相关的已知问题 (ARTD-159985)。 此问题描述了在 Emios_Mcl_Ip.c 中定义的变量 Emios_Ip_paxBase 存在的问题。Emios_Mcl_Ip_Irq.c 被赋予了不一致的初始化特性。更多详情请参阅软件版本说明。 BR,VaneB Re: S32K358 eMIOS ISR stuck at 85°C 嗨@simon98 能否提供一个能够重现所观察到的现象的简单应用程序?另外,能否确认一下您使用的是定制电路板还是评估电路板? 另外,能否分享一下测试是如何进行的,以确认该问题是否在 85°C 时出现?
記事全体を表示
S32K358 eMIOS ISR stuck at 85°C Dear NXP Support Team, we are facing an issue on S32K358 during temperature tests at around 85°C.   In our application we use 6 eMIOS channels, each one configured to generate interrupts on both PWM edges with a frequency of 200Hz.   At 85°C, the MCU sometimes gets stuck inside one eMIOS ISR. The ISR does not exit because the code checks the interrupt flag by reading the eMIOS registers, but the flag is 0 (file Emios_Mcl_Ip_Irq.c 😞   if (0U != ((Emios_Ip_paxBase[Instance]->CH.UC[Channel].S) & (uint32)eMIOS_S_FLAG_MASK))    After debugging, we noticed that when the issue occurs, the variable containing the eMIOS base address is NULL (Emios_Ip_paxBase). When the application works correctly, the same pointer is valid and the eMIOS registers are read properly. It seems that, in some conditions, the reference to the eMIOS peripheral is corrupted or cleared during ISR execution.   Do you have any indication about possible known issues or root causes, such as stack overflow, memory corruption, concurrent accesses, ISR handling, or temperature-related behavior?   Best regards, Simon Re: S32K358 eMIOS ISR stuck at 85°C Hi vane, I'm currently using RTD 7.0.0 Re: S32K358 eMIOS ISR stuck at 85°C Hi @simon98  Which RTD version are you working with? Any additional information would be helpful. Also, in RTD versions prior to 6.0.0, there was a known issue related to the incorrect memory mapping of static variables within function scope (ARTD-159985). This issue describes a problem where the variable Emios_Ip_paxBase, defined in both Emios_Mcl_Ip.c and Emios_Mcl_Ip_Irq.c, is assigned inconsistent initialization characteristics. Further details are provided in the Software Release Notes. BR, VaneB Re: S32K358 eMIOS ISR stuck at 85°C Hi @simon98  Could you please provide a simple application that reproduces the observed behavior? Also, could you confirm whether you are working with a custom board or an evaluation board? Additionally, could you share how the testing is being performed to confirm that the issue occurs at 85 °C?
記事全体を表示
Reference & Guide Docs for i.MX Linux Release Rev.LF5.15.71_2.2.2 Hello, staff. I'm currently working on i.MX yocto project LF5.15.71_2.2.2 with imx8mp MPU.  I need to access the corresponding User Guide, Reference Manual,  etc for this specific version. However, when searching on the NXP design center, I can only find and download the documentation for the latest 6.x kernel versions. Could anyone please point me in the right direction or provide a direct link to the archived documentation for LF5.15.71_2.2.2? Thanks! Evaluation Board
記事全体を表示
S32K358 eMIOS ISRが85℃で停止 親愛なるNXPサポートチームへ、 S32K358において、約85℃の温度試験中に問題が発生しています。   私たちのアプリケーションでは6つのeMIOSチャネルを使用し、それぞれが200Hzの周波数で両方のPWMエッジで割り込みを生成するように設定されています。   85°Cでは、MCUが時々1つのeMIOS ISR内に閉じ込められることがあります。ISRは終了しません。コードがeMIOSレジスタを読み取り割り込みフラグを確認するためですが、フラグは0(ファイルEmios_Mcl_Ip_Irq.c)です 😞   もし (0U != ((Emios_Ip_paxBase[インスタンス]->CH.UC[チャネル]。S) & (uint32)eMIOS_S_FLAG_MASK))   デバッグの結果、問題が発生するとeMIOSのベースアドレスを含む変数がNULL(Emios_Ip_paxBase)であることに気づきました。アプリケーションが正しく動作すれば、同じポインタが有効で、eMIOSレジスタも正しく読み込まれます。 ある条件下では、ISR実行中にeMIOSペリフェラルへの参照が破損またはクリアされているようです。   スタックオーバーフロー、メモリ破損、同時アクセス、ISR処理、温度関連の挙動など、既知の問題や根本原因について何か兆候はありますか?   よろしくお願いいたします。 サイモン Re: S32K358 eMIOS ISR stuck at 85°C こんにちは、ベインさん。 現在、RTD 7.0.0を使用しています。 Re: S32K358 eMIOS ISR stuck at 85°C こんにちは、 @simon98さん どのRTDバージョンを使用していますか?追加情報があれば助かります。 また、RTD バージョン 6.0.0 より前のバージョンでは、関数スコープ内の静的変数のメモリ マッピングが正しくないことに関連する既知の問題がありました (ARTD-159985)。 この問題は、Emios_Mcl_Ip.c で定義されている変数 Emios_Ip_paxBase に関する問題です。また、Emios_Mcl_Ip_Irq.c には、一貫性のない初期化特性が割り当てられています。詳細はソフトウェアリリースノートに記載されています。 BR、VaneB Re: S32K358 eMIOS ISR stuck at 85°C こんにちは、 @simon98さん 観察された挙動を再現できる簡単なアプリケーションを教えていただけますか?また、カスタムボードを使っているのか評価ボードなのか確認してもらえますか? さらに、問題が85°Cで発生していることを確認するための検査方法について教えていただけますか?
記事全体を表示