Multi Source Translation Content

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

Multi Source Translation Content

ディスカッション

ソート順:
s32 design studio 没有 3.5 版本 您好, ,我需要 s32 design studio 3.5,但在搜索时,3.6 和 3.4 版本清晰显示,而 3.5 版本却没有出现在我的账户中。 它确实出现在另一个人的账户中。 我该怎么办? Re: There is no version 3.5 of s32 design studio HI 只有以前可以访问 S32DS 3.5 的用户才能看到它。 新用户将不再自动看到 S32DS 3.5。 如果需要,这里有 S32DS 3.5 的下载链接: https://www.nxp.com/webapp/swlicensing/sso/downloadSoftware.sp?catid=S32DS-3-5 顺便问一下,客户为什么不使用最新的 S32DSv3.6.6? 我在 " S32 Design Studio 3.6.0 发布公告 " 中看到了以下信息: 旧版 S32Design Studio 3.5.x 附带的 开发、附加组件和扩展包与 3. 6.0 版本兼容 在 S32Design Studio 3.5.x 之上发布的 RTD 和运行时软件版本使用智能兼容机制向后兼容 S32Design Studio 3.6.0 祝好, Robin ------------------------------------------------------------------------------- 注: - 如果本帖回答了您的问题,请点击"ACCEPT AS SOLUTION" 按钮。谢谢! - 我们会在最后一次发帖后的 7 周内跟踪主题,之后的回复将被忽略 如果您以后有相关问题,请另开新主题,并参考已关闭的主题。 -------------------------------------------------------------------------------
記事全体を表示
RW61x 的 BSDL 文件 恩智浦是否发布了 RW61x 的 JTAG 边界扫描 BSDL 文件? 我好像找不到了。 产品:WiFi RW6XX Re: BSDL files for RW61x 你好 希望你一切顺利。您使用的是 RTOS 还是 Zephyr? 如果是 RTOS,SDK 版本是什么? 如果是 Zephyr,哪个存储库? 另外,能否请您说明一下您是否在使用模块? 此致, 里卡多 Re: BSDL files for RW61x 我不知道操作系统为什么会与边界扫描文件有关。 我使用的是 Zephyr 4.4.0。 模块来自 u-blox,但上面有一个 RW610。 Re: BSDL files for RW61x 我们使用的是 BGA。 Re: BSDL files for RW61x 你好 你能澄清一下你使用的是哪种芯片封装吗?BGA/QFN 还是 CSP? 顺祝商祺! 里卡多 Re: BSDL files for RW61x 你好,我也在寻找 rw61x 系列芯片的 BSDL 文件。 您能为我指明下载这些文件的正确方向吗? 谢谢! 亚历克斯 Re: BSDL files for RW61x 恩智浦公司是否有人能回答这个问题? 是否有RW61x的 BSDL 文件,如果有,在哪里可以下载? 谢谢! 亚历克斯-蒂茨沃斯
記事全体を表示
s32k314 spi 时钟和模式 你好 我使用的是 s32ds RTD4.0.0 和 s32k314。 我正在发展 spi 交流。 我的 Spi mode1,2 测试正常(cpol 0, cpha 1 / cpol0, cpha 0)。 这种模式运行良好。 但我应该使用 Spi 模式 3,但效果不佳。数据有裂缝。 所以我检查时钟。 spi 时钟。 因此,在时钟启动之前,有一个奇怪的时钟。 S32K314 为什么要这样做?每种模式都一样。 幸运的是,读取模式 1 和 2 是因为它们的时钟IDLE状态为 0。但是,当模式3和4的时钟IDLE状态为1时,会被读取,因此由于该照片中的时钟,出现了问题。 1.怎样才能在时钟启动前消除噪音? 2.我使用 PS0 进行 SPI 通信。但是,要从支持 SPI 的 IC 芯片接收数据,我需要通过 GPIO 将 CS(临界状态)设置为低以接收 4 字节以确定数据长度,然后保持 CS 以接收不超过该长度的数据。目前,我通过 GPIO 控制 CS 来接收数据,如图所示(仅供参考)。请告诉我是否有办法通过将其分配给 PS0 来实现这一功能。 注:SPI 通信模式 1 和 2 运行良好,但模式 3 和 4 运行不正常。(由于时钟的原因,插入了有趣的数据)。 感谢帮助。 Re: s32k314 spi clock and mode 你好@rlaxortn 1.关于您的第一个问题,时钟在开始时被拉低,这与已知问题的描述类似。 您可以尝试进行如下修改: 2. 关于你的第二个问题,我不明白你为什么没有一次发送 4 + 19 = 23 位的全部长度,而不是分别发送 4 和 19 字节。
記事全体を表示
How to use SecureElement SE05x: Using SE050 via OpenSSL (Japanese blog) In the previous article, we described the procedure for setting up the "Plug and Trust Middleware" library for SE05x (Secure Element) on a Raspberry Pi and FRDM-IMX93 (development board for i.MX 93) . How to use Secure Element SE05x: Setting up Plug and Trust Middleware on Raspberry Pi (Japanese blog) How to use Secure Element SE05x: Setting up Plug and Trust Middleware on the FRDM-IMX93 development board (Japanese blog) By using Secure Element and "*Plug and Trust Middleware," you can apply protection features to all applications that perform authentication using OpenSSL (e.g., Eclipse Mosquitto ™ , etc.) without modifying the application itself . This article explains practical ways to use SE05x in conjunction with OpenSSL. (Estimated time: 10 minutes *Assuming Plug and Trust Middleware is already set up) *Plug and Trust Middleware also includes integration with OpenSSL, which is widely used on Linux. Hardware, software, and versions used in writing this article Hardware: Raspberry Pi 3 Model B+ EdgeLock ® SE050 Development Kit ( OM-SE050ARD-E ) Five jumper wires (male-to-female or female-to-female) or an Arduino to Raspberry Pi adapter board ( OM-SE050RPI ) software: Raspberry Pi OS 12 64-bit SE-PLUG-TRUST-MW_04.07.01 *After unzipping, you can access the documentation from simw-top/doc/index.html (hereafter, "documentation" refers to this HTML file). The OpenSSL provider within the middleware is also available on GitHub, where you can find command examples and other information. https://github.com/NXPPlugNTrust/se05x-openssl-provider   Summary of this article OpenSSL has an interface called `provider` (or `engine` in earlier versions) since version 3.0, which allows you to replace parts of OpenSSL's operation with customized code. Plug and Trust Middleware provides a provider/engine to replace the cryptographic processing performed by OpenSSL with cryptographic processing using SE05x. The corresponding process is described in section "8.2" of the documentation. Please refer to "Introduction on OpenSSL provider". If a provider is not used (see the diagram on the left below) , the key, including the private key, is placed on the file system, and OpenSSL reads it and performs the processing. (*Since the key is stored on the file system, there is a high risk of key leakage.) When using a Provider (see the diagram on the right below) , it will look like this: OpenSSL instructs the Plug and Trust Middleware Provider to perform cryptographic processing. The Provider reads the Key file, and upon recognizing that it is in the format of a reference key, it retrieves the Key ID from the reference key and instructs the SE05x to perform encryption using the Key with that ID. (If a regular key file that is not a reference key is recognized, the process returns to the left.) In this article, Creating a reference key to use the key pair pre-installed on the SE05x at the time of shipment. Enabling the OpenSSL Provider Example of the steps for signing and verifying using these methods. I will explain this.   Retrieving the object list within SE05x Similar to the Plug and Trust Middleware setup, we will enable venv and perform operations in an independent Python environment (virtual environment). Enable venv from the Plug and Trust Middleware deployment directory using the following command. cd simw-top/pycli/ source venv/bin/activate The following command will display a list of objects within SE05x. ssscli connect se05x t1oi2c none ssscli se05x readidlist ssscli disconnect The execution result will be as follows: (venv) shinji@raspberrypi:~/SE-PLUG-TRUST-MW_04.07.01/simw-top/pycli $ ssscli connect se05x t1oi2c none (venv) shinji@raspberrypi:~/SE-PLUG-TRUST-MW_04.07.01/simw-top/pycli $ ssscli se05x readidlist sss :INFO :atr (Len=35) 01 A0 00 00 03 96 04 03 E8 00 FE 02 0B 03 E8 00 01 00 00 00 00 64 13 88 0A 00 65 53 45 30 35 31 00 00 00 sss :WARN :Communication channel is Plain. sss :WARN :!!!Not recommended for production use.!!! Key-Id: 0X7fff0201 NIST-P (Key Pair) Size(Bits): 256 Key-Id: 0X7fff0202 NIST-P (Key Pair) Size(Bits): 256 Key-Id: 0X7fff0204 NIST-P (Public Key) Size(Bits): 256 Key-Id: 0X7fff0206 BINARY Size(Bits): 144 Key-Id: 0x7fff020b HMAC Size(Bits): No Info available Key-Id: 0Xf0000000 NIST-P (Key Pair) Size(Bits): 256 Key-Id: 0Xf0000001 BINARY Size(Bits): 3760 Key-Id: 0Xf0000002 NIST-P (Key Pair) Size(Bits): 256 Key-Id: 0Xf0000003 BINARY Size(Bits): 3760 Key-Id: 0Xf0000012 NIST-P (Key Pair) Size(Bits): 256 Key-Id: 0Xf0000013 BINARY Size(Bits): 3736 Key-Id: 0Xf0000020 NIST-P (Public Key) Size(Bits): 256 Key-Id: 0Xf0000100 NIST-P (Key Pair) Size(Bits): 256 Key-Id: 0Xf0000101 BINARY Size(Bits): 4392 Key-Id: 0Xf0000102 NIST-P (Key Pair) Size(Bits): 256 Key-Id: 0Xf0000103 BINARY Size(Bits): 4392 Key-Id: 0Xf0003394 AES Size(Bits): 256 (venv) shinji@raspberrypi:~/SE-PLUG-TRUST-MW_04.07.01/simw-top/pycli $ ssscli disconnect   SE05x factory-programmed user identification information (keypair, certificate) Details of the displayed list of objects can be found in AN12436: SE050 configurations . The following are key pairs and their certificates that do not have a designated purpose and can be used freely by users. Key-Id: 0Xf0000100 NIST-P (Key Pair) Size(Bits): 256 Key-Id: 0Xf0000101 BINARY Size(Bits): 4392 Key-Id: 0Xf0000102 NIST-P (Key Pair) Size(Bits): 256 Key-Id: 0Xf0000103 BINARY Size(Bits): 4392 0Xf0000101 and 0Xf0000103 are certificates corresponding to the key pairs 0Xf0000100 and 0Xf0000102, respectively. Let's try using the key pair 0Xf0000100. OpenSSL treats key pairs as files, but there's no point in protecting the private key with SE050 if you're going to extract and use the private key. Therefore, it is obtained in a format that does not include the private key, called a reference key, which will be described later. The following commands will create a directory for storing keys and retrieve the keys. mkdir se050_keys cd se050_keys/ ssscli connect se05x t1oi2c none ssscli refpem ecc pair 0xf0000100 reference_key_0xf0000100.pem ssscli get ecc pub 0xf0000100 public_key_0xf0000100.pem ssscli disconnect For comparison purposes, we will also generate a key pair and public key without using the SE050 as described below. Please execute the following command. openssl ecparam -genkey -name prime256v1 -out keypair.pem openssl ec -in keypair.pem -outform PEM -pubout -out public_key.pem About the Reference Key Let's display the contents of the reference key and public key obtained using the following command. openssl ec -text -noout -in reference_key_0xf0000100.pem openssl ec -text -noout -pubin -in public_key_0xf0000100.pem The execution result will be as follows: (venv) shinji@raspberrypi:~/SE-PLUG-TRUST-MW_04.07.01/simw-top/pycli/se050_keys $ openssl ec -text -noout -in reference_key_0xf0000100.pem read EC key Private-Key: (256 bit) priv: 10:00:00:00:00:00:00:00:00:00:00:00:00:00:00: 00:00:00:f0:00:01:00:a5:a6:b5:b6:a5:a6:b5:b6: 10:00 pub: 04:e7:e0:f5:77:d7:b7:6f:0c:e6:93:7c:61:bf:85: 5e:80:37:76:9a:01:e3:e4:18:60:67:7a:3f:ab:bd: 9b:b6:53:64:4d:40:9b:07:c6:18:c9:5a:74:b9:c7: c8:d4:ae:2e:49:ae:68:63:de:64:77:6d:1e:1c:94: 4b:bb:70:10:0b ASN1 OID: prime256v1 NIST CURVE: P-256 (venv) shinji@raspberrypi:~/SE-PLUG-TRUST-MW_04.07.01/simw-top/pycli/se050_keys $ openssl ec -text -noout -pubin -in public_key_0xf0000100.pem read EC key Public-Key: (256 bit) pub: 04:e7:e0:f5:77:d7:b7:6f:0c:e6:93:7c:61:bf:85: 5e:80:37:76:9a:01:e3:e4:18:60:67:7a:3f:ab:bd: 9b:b6:53:64:4d:40:9b:07:c6:18:c9:5a:74:b9:c7: c8:d4:ae:2e:49:ae:68:63:de:64:77:6d:1e:1c:94: 4b:bb:70:10:0b ASN1 OID: prime256v1 NIST CURVE: P-256 As can be seen above, the `pub` field of the reference key contains the same public key as the public key file, but the private key portion starting with `priv` contains a series of zeros, indicating that it does not actually contain the private key. The `priv` field in the Reference key does not contain the private key itself, but rather indicates where the private key is stored within SE050. In this case, it indicates that it is stored at 0xf0000100. For formatting information, see document "8.1.2.2". It is described in "EC Reference key format". Enabling the OpenSSL Provider There are several ways to use the OpenSSL Provider, but here we will enable it by reading a config file. The config file is located in simw-top/demos/linux/common/ and there are several versions of it. openssl11_sss_se050.cnf ----- OpenSSL 1.1.1 and SE050 openssl_sss_se050.cnf ----- OpenSSL 1.0.0 and SE050 openssl30_sss_se050.cnf ----- OpenSSL 3.x and SE050 You can check the OpenSSL version with the following command. openssl version If you're using a Raspberry Pi, it should be version 3.0. Apply the configuration using the following command. Replace with the middleware deployment location. export OPENSSL_CONF= /simw-top/demos/linux/common/openssl30_sss_se050.cnf   Signature generation and verification using SE050 + OpenSSL provider Use the following command: Use the reference key to generate a signature using the private key with ID:0xf0000100 within SE05x. Signature verification using the reference key and the public key with ID:0xf0000100 within SE05x. Signature verification using a client key We will do this. openssl pkeyutl -sign -inkey reference_key_0xf0000100.pem -rawin -in public_key_0xf0000100.pem -out signature_with_provider.txt -digest sha256 openssl pkeyutl -verify -inkey reference_key_0xf0000100.pem -rawin -in public_key_0xf0000100.pem -sigfile signature_with_provider.txt -digest sha256 openssl pkeyutl -verify -pubin -inkey public_key_0xf0000100.pem -rawin -in public_key_0xf0000100.pem -sigfile signature_with_provider.txt -digest sha256 The execution result will be as follows: (venv) shinji@raspberrypi:~/SE-PLUG-TRUST-MW_04.07.01/simw-top/pycli/se050_keys $ openssl pkeyutl -sign -inkey reference_key_0xf0000100.pem -rawin -in public_key_0xf0000100.pem -out signature_with_provider.txt -digest sha256 App :INFO :If you want to over-ride the selection, use ENV=EX_SSS_BOOT_SSS_PORT or pass in command line arguments. sss :INFO :atr (Len=35) 01 A0 00 00 03 96 04 03 E8 00 FE 02 0B 03 E8 00 01 00 00 00 00 64 13 88 0A 00 65 53 45 30 35 31 00 00 00 sss :WARN :Communication channel is Plain. sss :WARN :!!!Not recommended for production use.!!! sssprov-flw: Performing ECDSA sign using SE05x (venv) shinji@raspberrypi:~/SE-PLUG-TRUST-MW_04.07.01/simw-top/pycli/se050_keys $ openssl pkeyutl -verify -inkey reference_key_0xf0000100.pem -rawin -in public_key_0xf0000100.pem -sigfile signature_with_provider.txt -digest sha256 App :INFO :If you want to over-ride the selection, use ENV=EX_SSS_BOOT_SSS_PORT or pass in command line arguments. sss :INFO :atr (Len=35) 01 A0 00 00 03 96 04 03 E8 00 FE 02 0B 03 E8 00 01 00 00 00 00 64 13 88 0A 00 65 53 45 30 35 31 00 00 00 sss :WARN :Communication channel is Plain. sss :WARN :!!!Not recommended for production use.!!! sssprov-flw: Performing ECDSA verify using SE05x Signature Verified Successfully (venv) shinji@raspberrypi:~/SE-PLUG-TRUST-MW_04.07.01/simw-top/pycli/se050_keys $ openssl pkeyutl -verify -pubin -inkey public_key_0xf0000100.pem -rawin -in public_key_0xf0000100.pem -sigfile signature_with_provider.txt -digest sha256 App :INFO :If you want to over-ride the selection, use ENV=EX_SSS_BOOT_SSS_PORT or pass in command line arguments. sss :INFO :atr (Len=35) 01 A0 00 00 03 96 04 03 E8 00 FE 02 0B 03 E8 00 01 00 00 00 00 64 13 88 0A 00 65 53 45 30 35 31 00 00 00 sss :WARN :Communication channel is Plain. sss :WARN :!!!Not recommended for production use.!!! sssprov-flw: Not a key in secure element. Performing ECDSA verify operation using host software Signature Verified Successfully Since the OpenSSL provider is enabled, messages related to the OpenSSL provider will be displayed. The following display shows that SE05x is actually using the object specified by the reference key to generate and verify the signature. If it is not displayed, please check the OPENSSL_CONF settings. sssprov-flw: Performing ECDSA sign using SE05x sssprov-flw: Performing ECDSA verify using SE05x When verifying a signature using a file containing only the public key, the following message is displayed, indicating that SE050 is not being used. sssprov-flw: Not a key in secure element. Performing ECDSA verify operation using host software For comparison, we will perform the same operation using a key pair and public key generated outside of the SE050. openssl pkeyutl -sign -inkey keypair.pem -rawin -in public_key.pem -out signature.txt -digest sha256 openssl pkeyutl -verify -inkey keypair.pem -rawin -in public_key.pem -sigfile signature.txt -digest sha256 openssl pkeyutl -verify -pubin -inkey public_key.pem -rawin -in public_key.pem -sigfile signature.txt -digest sha256 The execution result will be as follows: (venv) shinji@raspberrypi:~/SE-PLUG-TRUST-MW_04.07.01/simw-top/pycli/se050_keys $ openssl pkeyutl -sign -inkey keypair.pem -rawin -in public_key.pem -out signature.txt -digest sha256 App :INFO :If you want to over-ride the selection, use ENV=EX_SSS_BOOT_SSS_PORT or pass in command line arguments. sss :INFO :atr (Len=35) 01 A0 00 00 03 96 04 03 E8 00 FE 02 0B 03 E8 00 01 00 00 00 00 64 13 88 0A 00 65 53 45 30 35 31 00 00 00 sss :WARN :Communication channel is Plain. sss :WARN :!!!Not recommended for production use.!!! sssprov-flw: Not a ref key sssprov-flw: Not a key in secure element. Performing ECDSA sign operation using host software sssprov-flw: Get random data from SE05x (venv) shinji@raspberrypi:~/SE-PLUG-TRUST-MW_04.07.01/simw-top/pycli/se050_keys $ openssl pkeyutl -verify -inkey keypair.pem -rawin -in public_key.pem -sigfile signature.txt -digest sha256 App :INFO :If you want to over-ride the selection, use ENV=EX_SSS_BOOT_SSS_PORT or pass in command line arguments. sss :INFO :atr (Len=35) 01 A0 00 00 03 96 04 03 E8 00 FE 02 0B 03 E8 00 01 00 00 00 00 64 13 88 0A 00 65 53 45 30 35 31 00 00 00 sss :WARN :Communication channel is Plain. sss :WARN :!!!Not recommended for production use.!!! sssprov-flw: Not a ref key sssprov-flw: Not a key in secure element. Performing ECDSA verify operation using host software Signature Verified Successfully (venv) shinji@raspberrypi:~/SE-PLUG-TRUST-MW_04.07.01/simw-top/pycli/se050_keys $ openssl pkeyutl -verify -pubin -inkey public_key.pem -rawin -in public_key.pem -sigfile signature.txt -digest sha256 App :INFO :If you want to over-ride the selection, use ENV=EX_SSS_BOOT_SSS_PORT or pass in command line arguments. sss :INFO :atr (Len=35) 01 A0 00 00 03 96 04 03 E8 00 FE 02 0B 03 E8 00 01 00 00 00 00 64 13 88 0A 00 65 53 45 30 35 31 00 00 00 sss :WARN :Communication channel is Plain. sss :WARN :!!!Not recommended for production use.!!! sssprov-flw: Not a key in secure element. Performing ECDSA verify operation using host software Signature Verified Successfully When a key pair is specified, the following is displayed, indicating that signature generation is performed using the private key in the key pair file, not SE050. sssprov-flw: Not a ref key However, since the OpenSSL Provider provides a random number generation function, the following is displayed during signature generation, and random numbers are generated using SE050. sssprov-flw: Get random data from SE05x For comparison, the following is the result of using a reference key with the OpenSSL provider disabled. (venv) shinji@raspberrypi:~/SE-PLUG-TRUST-MW_04.07.01/simw-top/pycli/se050_keys $ export OPENSSL_CONF= (venv) shinji@raspberrypi:~/SE-PLUG-TRUST-MW_04.07.01/simw-top/pycli/se050_keys $ openssl pkeyutl -sign -inkey reference_key_0xf0000100.pem -rawin -in public_key_0xf0000100.pem -out signature_without_provider.txt -digest sha256 (venv) shinji@raspberrypi:~/SE-PLUG-TRUST-MW_04.07.01/simw-top/pycli/se050_keys $ openssl pkeyutl -verify -inkey reference_key_0xf0000100.pem -rawin -in public_key_0xf0000100.pem -sigfile signature_without_provider.txt -digest sha256 Signature Verification Failure The priv portion of the reference key is interpreted as the private key, and the signature is generated accordingly. The signature generation is successful, but the signature verification will naturally fail because the private key being used does not correspond to the public key. In this case, we applied SE050 protection to a process that uses OpenSSL commands. An example of applying SE050 protection to an application using the OpenSSL library is described in the following article. Connecting to Azure IoT Hub using the Eclipse Mosquitto client ========================= We are currently unable to respond to comments left in the " Comment " section of this post . We apologize for the inconvenience, but please refer to " Technical Questions to NXP - How to Contact Us( Japanese Blog) " when making inquiries.(If you are already an NXP distributor or have a relationship with NXP, you may ask your representative directly.) In the previous article, we described the procedure for setting up the "Plug and Trust Middleware" library for SE05x (Secure Element) on a Raspberry Pi and FRDM-IMX93 (development board for i.MX 93) . How to use Secure Element SE05x: Setting up Plug and Trust Middleware on Raspberry Pi (Japanese blog) How to use Secure Element SE05x: Setting up Plug and Trust Middleware on the FRDM-IMX93 development board (Japanese blog) By using Secure Element and "*Plug and Trust Middleware," you can apply protection features to all applications that perform authentication using OpenSSL (e.g., Eclipse Mosquitto ™ , etc.) without modifying the application itself . This article explains practical ways to use SE05x in conjunction with OpenSSL. (Estimated time: 10 minutes *Assuming Plug and Trust Middleware is already set up) *Plug and Trust Middleware also includes integration with OpenSSL, which is widely used on Linux. Security Technology Focus Japanese Blog
記事全体を表示
MPC5777C CSE 安全启动用法 & 理由 你们好 在研究 MPC5777C 上的 CSE 安全启动时,我注意到它的有效范围似乎相当有限。由于 BOOT_MAC 在首次启动时由 CSE 初始化和存储(基于当时闪存中存在的任何内容),因此后续启动仅验证内容相对于该初始状态没有变化。[1]最后这个肯定句准确吗? 这似乎使 SECURE_BOOT 主要成为一种不变性检查,而不是 MAC/信息对的真实性验证。当然,如果第一个启动映像是可信的,并且这不构成问题,则可以隐含地保证真实性。 但是,鉴于此,[2] 与通过DCF使用基于PASS模块密码的锁定来保护同一个闪存区域相比,使用CSE Secure 启动的具体优势是什么?在这两种情况下,最终结果似乎都是强制执行不变性。 [3]CSE 的唯一好处是受保护地存储用户配置的 KEY,而不是 CMAC 验证本身吗? Re: MPC5777C CSE Secure Boot Usage & Rationale 你好 CSE 安全启动是否仅验证 Flash 内容自首次启动以来未发生变化? 也不尽然。 的确,在首次成功安全启动时,CSE会计算并存储与闪存启动块内容相对应的BOOT_MAC(使用用户定义的BOOT_KEY)。 在每次后续启动时: CSE 重新计算同一闪存区域的 CMAC。 它会将其与存储的 BOOT_MAC(安全地存储在 CSE NVM 中)进行比较。 因此,是的,从那时起,这是一项完整性/防篡改检查,而不是对照外部黄金参考进行真伪检查。 但这种机制仍然是一种真实性检查,因为 BOOT_MAC 使用只有 CSE 知道的密钥 (BOOT_KEY) 计算。 只有知道 BOOT_KEY 的人才能为修改后的代码生成另一个有效的 BOOT_MAC。 因此,安全启动可保证: “只有使用机密 BOOT_KEY 进行身份验证的代码才能被设备接受。” 如果您的系统处于现场并且 BOOT_MAC 处于锁定状态,则未经授权的修改(即使是对闪存有物理访问权限的人也是如此)将妨碍启动身份验证。 与受密码保护的 PASS/DCF 闪存锁相比,CSE Secure 启动 的具体优势是什么? DCF/PASS 锁定使用访问控制机制强制实现不可变性,而:CSE Secure Boot 使用加密保证强制实现真实性+完整性。 1。DCF/PASS 锁定不是加密的 PASS 模块密码是存储在闪存中的静态值。 如果攻击者能读取或绕过闪存保护,或在密码比较过程中出现故障,闪存就可能被改写。 2.PASS/DCF 无法验证代码未被篡改 PASS 模块在启动时从不检查闪存内容。 如果攻击者可以重写闪存(通过绕过调试保护、部分闪存注入、电源故障/闪断),PASS 模块不会检测到它。 3.CSE 将 BOOT_KEY 和 BOOT_MAC 存储在受硬件保护的安全嵌入式 NVM 内。 4。CSE 安全启动可抵御更广泛的威胁模型 5。CSE 安全启动允许受控的重新配置 CSE 的唯一好处仅仅是能安全地存储密钥吗? CSE 安全启动提供: 真实性(密码学保证) 只有拥有 BOOT_KEY 的人才能配置新的启动映像。 每次启动时进行完整性检查 闪存损坏 → 启动失败。 基于硬件的网络安全 密钥存储在 CSE RAM/NVM + 访问控制的硬件状态机中。 强大的物理攻击防护与 绕过 CSE FSM 相比,对 PASS 模块进行故障和探测是微不足道 的。 防止恶意硬件或固件修改 对汽车网络安全标准(ISO 21434、UNECE R155) 至关重要 。 即使绕过 PASS/DCF 保护也能工作 顺祝商祺! Peter
記事全体を表示
MC9S12ZVM_AMMCLIB_RTM_1.1.17 NXPテクニカルサポートエンジニア様 こんにちは! 私はMC9S12ZVMシリーズのMCUをベースにしたモーター制御アプリケーション(EPSパワーステアリング)を開発しています。 私の現在のプロジェクトは、古いフルバージョンのライブラリであるMC9S12ZVM_AMMCLIB_RTM_1.1.17に完全に依存しています。 問題の説明: 新バージョン(1.1.35/ 1.1.43)これらはすべて簡略化されたソースコードバージョンであり、gflib.h は含まれていません。gmclib.h、gdflib.hおよび標準のSWLIBS型定義。 私のプロジェクトでは、GFLIB、GDFLIB、GMCLIB、tFrac16、tU8、tBoolなどの構造体を多用していますが、これらは1.1.17の完全プリコンパイル版でのみ正常にコンパイルできます。 過去のバージョンは公式サイトから直接ダウンロードできなくなったため、プロジェクトのビルドに失敗します。 リクエストコンテンツ: MC9S12ZVM_AMMCLIB_RTM_1.1.17 の公式オリジナルインストールパッケージのダウンロードリンクを提供してください。量産プロジェクトのメンテナンスは非常に緊急を要する。 サポートありがとうございます! Re: MC9S12ZVM_AMMCLIB_RTM_1.1.17 こんにちは、トムさん。 AMMCLibの現在のバージョン(1.1.43)下位互換性があり、旧バージョン1.1.17で利用可能だったすべてのヘッダーファイルと型定義が含まれています。私はhttps://www.nxp.com/webapp/swlicensing/sso/downloadSoftware.sp?catid=SWS12Z-MMCL1Dから MC9S12ZVM AMMCLib パッケージをダウンロードし、必要なファイルがすべて揃っていることを確認しました。添付のファイルリストを参照してください。
記事全体を表示
添加 USB 设备 CDC 固件支持 我正在尝试将 USB CDC VCOM 设备功能添加到在基于 LPC55S26 的设计上运行的裸机固件中。我已经更新到最新的 MCUXpresso IDE 和 SDK(包括 USB 设备中间件)。当我通过外围设备工具将 USB 设备添加到项目中并配置引脚、时钟等时,会出现两个错误(均相同)和一个警告,如下所示: 错误:" USB 设备 CDC " 驱动程序在项目中缺失。 警告:工具链/IDE 项目中的 USB 通用接头版本不支持。要求:2.8.0,实际:2.12.1:要求:2.8.0,实际:2.12.1。项目可能无法正确编译。 如果我尝试添加 SDK 元器件 " USB Device CDC " 我会收到一条消息,说在 SDK 中找不到该元器件,但是当我查看可用的 SDK 元器件时,它确实存在。如有任何建议,不胜感激。 Re: Add USB Device CDC firmware support 你好@markpotts123、 感谢您的来信。我注意到你也有一个关于同一主题的私人案例,我已经在那里给你回复了。如果您有任何新的更新,请随时回复,我将继续支持您。 祝您愉快 BR 西莱斯特 Re: Add USB Device CDC firmware support 原来是 IDE 和 SDK 版本不匹配。旋转到最新版本后,症状得到了解决。
記事全体を表示
LPC54016 设置 FreeRTOS,卡在 SVC 0 大家好 我在 LPC54016 上设置 FreeRTOS 时遇到了麻烦。我复制了 LPC540S18 SDK 示例 freertos_hello,然后更改了 MCU 和存储器布局,使之与 LPC54016 匹配。该项目无需 FreeRTOS 即可运行。 启用 FreeRTOS 后,它会卡在 SVC 0 的 xPortStartScheduler() 中,永远无法到达 SVC_Handler。有时,它最终会进入 HardFault_Handler。 这是我目前检查和尝试过的: 反汇编 SVC_Handler - 它解析为 vPortSVCHandler。 中断向量表中的地址与 SVC_Handler 的地址一致。 我无法从 GDB 访问 VTOR。 MCUXpresso IDE 项目: https://github.com/kacpereqo/LPC54016-RTOS 概述 LPC54xxx Re: LPC54016 setuping FreeRTOS, Stuck at SVC 0 你好@TomaszTheSnail 如果您想使用 LPC54016,可以直接下载 LPC54016 SDK。   然后创建一个 lpc54016 freertos 演示。   BR 哈利 Re: LPC54016 setuping FreeRTOS, Stuck at SVC 0 嗨 、 感谢您的回复。我手动下载了 SDK,所有设置都是默认的,我还使用了其中的 FreeRTOS 内核文件,但在调度程序启动时遇到了一个特定的运行时问题。 (gdb) x/i $pc => 0xa3a : svc 0 (gdb) bt #0 0x00000a3a in prvPortStartFirstTask () at ../freertos/freertos-kernel/portable/GCC/ARM_CM4F/port.c:285 #1 0x00000be0 in xPortStartScheduler () at ../freertos/freertos-kernel/portable/GCC/ARM_CM4F/port.c:452 Backtrace stopped: previous frame inner to this frame (corrupt stack?) 如上面的 GDB 跟踪所示,应用程序在 prvPortStartFirstTask上的 svc 0指令 Re: LPC54016 setuping FreeRTOS, Stuck at SVC 0 嗨,@Harry_Zhang、 有压缩的 MCUXEspresso 项目 Re: LPC54016 setuping FreeRTOS, Stuck at SVC 0 你好@TomaszTheSnail 您能分享一下您的项目,让我试试吗? BR 哈利 Re: LPC54016 setuping FreeRTOS, Stuck at SVC 0 嗨,@Harry_Zhang、 我在本地进行了尝试,结果成功运行了 FreeRTOS。然而,另一个奇怪的问题出现了--下面的处理程序崩溃并进入 HardFault_Handler。我通过注释 CTIMER0_DriverIRQHandler()解决了这个问题: WEAK void CTIMER0_IRQHandler(void) { CTIMER0_DriverIRQHandler(); } 但我有一个问题:为什么用相同的设置在本地进行调试,效果却与 LinkServer 不一样? 我的设置 探头:MCU-LINK (r0FB) CMSIS-DAP V3.165 链接服务器启动命令:linkServer gdbserver LPC54016--allow-remote--keep-alive MCU:LPC54016JBD100 Re: LPC54016 setuping FreeRTOS, Stuck at SVC 0 你好@TomaszTheSnail 我刚刚在我这边进行了测试。 它能发挥作用。 我添加了一些代码,以便在串行端口输出内容。     BR 哈利 Re: LPC54016 setuping FreeRTOS, Stuck at SVC 0 你好@TomaszTheSnail 是的,我想可能是你的调试器出了问题。 您可以创建一个裸机项目,看看能否正常调试。 如果也无法调试,则证明调试器出了问题。 BR 哈利 Re: LPC54016 setuping FreeRTOS, Stuck at SVC 0 你好@Harry_Zhang、 如果你说同样的配置对你有效而对我无效,那么我们唯一不同的地方可能就是调试界面。我正在通过 LinkServer 和 GDB 硬件调试,问题可能就出在这里吗? Re: LPC54016 setuping FreeRTOS, Stuck at SVC 0 你好@TomaszTheSnail 我想,虽然你们使用的是同一个探针(MCU-LINK CMSIS-DAP),但 GDB 服务器的初始化脚本是不同的。CPU 启动状态可能完全不同。 BR 哈利 Re: LPC54016 setuping FreeRTOS, Stuck at SVC 0 嗨,@Harry_Zhang、 我找不到 C/C++(恩智浦半导体)微控制器应用程序 > LinkServer Debug 和 LinkServer + GDB 之间的配置有任何区别。 如果您能尝试一下您的设置,以确定问题是否与我的环境有关,我将不胜感激。 Re: LPC54016 setuping FreeRTOS, Stuck at SVC 0 您好, 我已经解决了 SVC 0 错误和硬故障的问题。我还发现了为什么在 MCUXpresso 中通过 USB 进行本地调试可以正常工作,而通过 LinkServer 进行同样的设置却不行。 每次上传固件时,本地配置都会执行硬RESET。我找不到与 LinkServer 相同的方法,因此在每次闪存之前,我都会通过 LXI 将 PSU 断电。 我还发现并修复了另一个奇怪的问题。这个项目也被移植到了 CLion,我在 CLion 中使用了 .gdbinit文件来闪存固件。起初,我使用了加载命令,但效果不尽如人意--固件被刷新了,但执行时会卡在一些不寻常的地方。 在使用 LinkServer 时,我不得不手动停止执行、运行加载,然后从 GDB 控制台继续运行,这样才能正常工作。因此,我改用 OpenOCD,结果如愿以偿--.gdbinit 中的加载命令无需任何额外步骤即可正常运行。
記事全体を表示
i.MX93:加密数据存储 API 测试错误 嗨,团队、 我按照https://github.com/nxp-imx/imx-secure-enclave/blob/lf-6.12.49_2.2.0/的 README 文件中提供的方法进行了 ELE-HSM 测试。 遇到以下错误。 --------------------------------------------------- Encrypted Data Storage API Test --------------------------------------------------- Data [Encrypted + Signed] stored. SUCCESS Data [Encrypted + Signed] retrieved. SUCCESS Signature Verified. SUCCESS. Decrypted data matches stored Plain data. SUCCESS SAB Error: SAB CMD [0xa2] Resp [0x329] - Provided key-id, Unknown to key store.. hsm_data_ops [RETRIEVE Again] err: 0x3. SUCCESS Retrieved Again: Data Empty. SUCCESS --------------------------------------------------- 为什么 ELE-HSM 测试报告错误? 我需要先在 OTP 中存储密钥吗? 附上日志文件 谢谢! Peter Re: i.MX93: Encrypted Data Storage API Test Error 你好@petertseng 这种现象与测试预期一致;没有必要在 OTP 中存储密钥。 致敬, Zhiming Re: i.MX93: Encrypted Data Storage API Test Error 嗨,志明、 能否用 IMX93 ELE-HSM 代替密码验证 IC(如 ATECC608A)? 如果可能,我该如何实现? 如果您能提供任何相关信息或文件,我将不胜感激。 谢谢! Peter Re: i.MX93: Encrypted Data Storage API Test Error 你好@petertseng 在某些情况下,它们的功能是重叠的,但 ELE-HSM 不能完全取代 ATECC608A。如果您需要完全独立/离线的安全元件,则应使用 ATECC608A。如果你的需求仅限于密钥存储 + AES 加密/解密 + RNG + 安全散列算法(SHA) + 安全启动,那么使用 ELE 是一种选择。 致敬, Zhiming Re: i.MX93: Encrypted Data Storage API Test Error 嗨,志明、 如何在 IMX93 上存储公钥? 公开密钥实际存放在哪里?(例如,在 OTP/eFUSE 或根文件系统中)? 谢谢! Peter
記事全体を表示
LPC5411x PLL設定 こんにちは 現在のプロジェクトでは、LPC5411x の PLL モジュールを使用しています。データシートのセクション 6.5.49.6 によれば、PLL の N、M、および P 値は、対応するレジスタに書き込む前に計算する必要があります。 ただし、 SDK_2_9_0_LPCXpresso54114では、NDEC、MDEC、および PDEC の計算コードは実装されていません。代わりに、次に示すように、SDK は手動で事前に計算された値を syspllndec レジスタに直接書き込みます。(M=75 に設定したいので、MDEC=9637 を手動で計算し、 SYSCON_SYSPLLSSCTRL0_MDECに設定する必要があります) 今後の SDK リリースで、NDEC、MDEC、PDEC の計算機能を SDK に追加する予定はありますか? 現在、NDEC、MDEC、PDEC の設定は直感的ではなく、M、N、または P を変更するたびに、対応する NDEC、MDEC、PDEC 値を手動で再計算する必要があるため、維持が困難です。 よろしくお願いします。 LPC54xxx Re: LPC5411x PLL settings こんにちは@yhc123 ご投稿ありがとうございます。 現在、LPC5411 の新しい SDK バージョンをリリースする予定はありません。必要な計算はすべてお客様側で実装する必要があります。ご不便をおかけして申し訳ございません。
記事全体を表示
S32G:为什么 QSPI_IP_HyperflashProgram 每 2 字节发送一次写入命令? 专家们好 CTM: 法雷奥 平台:S32G3 模块:RTD 5.0.0QLP04 Fls 驱动程序 客户报告说,他们遇到的或非闪存写入吞吐量明显低于预期。 客户可能想知道为什么 QSPI_IP_HyperflashPro gram 函数 2 字节以 2 字节传输数据。看来这就是瓶颈所在。 是否有专家能就这一问题提供帮助? 感谢你的支持 狮子座 RTD Re: S32G: why the Qspi_Ip_HyperflashProgram sends write command for every 2 bytes? 你好@Nhi_Nguyen 谢谢您的帮助。但是在我们的驱动程序中一次写入 2 字节对客户来说太慢了吗?怎样才能提高性能? BR、 狮子座 Re: S32G: why the Qspi_Ip_HyperflashProgram sends write command for every 2 bytes? 你好@LeoLiAP、 这是因为 Hyperbus 支持以下两种类型的数据发送: 驱动程序支持将单个字写入内部缓冲(您的代码是每个地址数据的单个字),然后调用命令将缓冲区发送到 Fls(写入缓冲区)。 顺祝商祺! Nhi Re: S32G: why the Qspi_Ip_HyperflashProgram sends write command for every 2 bytes? 你好@LeoLiAP、 写入 2 字节遵循 Hyperbus 协议,所以我知道我们无法改变这一点。但 SW 团队将改进代码以节省时间,相关票据为ARTDCMEM-1247。 顺祝商祺! Nhi
記事全体を表示
Consulting on the compatibility of FS27 RTD and BMS GEN2 RTD Hi Experts, The customer's new BMS project wants to use S32K358 + FS27 + BMS GEN2 SDK. I learned from the BMS team that: BMS GEN2 SDK AUTOSAR 4.4 R21-11 Version 0.9.1 CD05 and BMS GEN2 SL SDK AUTOSAR 4.4 R21-11 Version 0.9.1 CD05 will be available next week. This supports S32K3 RTD 6.0.0 integration. The BMS GEN2 SDK will be migrated to S32K3 RTD 6.0.0 in BMS release v1.0.0 somewhere in Q1 '26. In other words, the BMS GEN2 SDK will be compatible with S32K3 RTD 6.0.0 in the near future. The customer needs a 24V platform and therefore wants to use FS27 instead of FS26. I found the following two versions of FS27 from Automotive SW - SBC/PMIC - Real Time Drivers: S32K3xx SBC FS27 R21-11 0.8.0 based on S32K3 RTD 5.0.0 SBC FS27 R23-11 1.0.0 based on S32K3 RTD 7.0.0 Q1. The customer is concerned that the drivers for FS27 and BMS GEN2 SDK are incompatible because the S32K3 RTD versions do not appear to be consistent.  If S32K3 RTD 6.0.0 is selected in the BMS GEN2 SDK, will there be any problems if the customer uses S32K3xx SBC FS27 R21-11 0.8.0 or SBC FS27 R23-11 1.0.0? Q2. Does the FS27 have a driver based on S32K3 RTD 6.0.0? Would you please help me? Thank you for the help in advance! Best Regards, Robin Here is the information of customer: Contact Name                TengHsaing Wen Email (Contact)              [email protected] Company                        XINGMOBILITY AA SW - External Device Priority: MEDIUM Source: Direct Customer Re: Consulting on the compatibility of FS27 RTD and BMS GEN2 RTD Hi Viktor, Thank you for your information. The "BMS GEN2 SDK AUTOSAR 4.4 R21-11 Version 0.9.1 CD05" based on S32K3 RTD 6.0.0 is not yet available for download. Once it becomes available for download, I will at least test whether it can be compiled successfully. Best Regards, Robin Re: Consulting on the compatibility of FS27 RTD and BMS GEN2 RTD Hello Robin, there is no dedicated release for RTD 6.0.0, but the latest version (FS27 1.0.0) should be backwards compatible with it. In case of any issues, please let us know. Best regards, Viktor Re: Consulting on the compatibility of FS27 RTD and BMS GEN2 RTD The topic has been redirect to the team to investigate it. Contact point: Razvan Tilimpea / Cristian Durla or Viktor Obr Re: Consulting on the compatibility of FS27 RTD and BMS GEN2 RTD Hi Viktor, "BMS GEN2 SDK AUTOSAR 4.4 R21-11 Version 0.9.1 CD05" is now available for download.  The customer questioned whether the AUTOSAR versions of the two drivers, R23-11 and R21-11, would differ significantly and cause compatibility issues if they were paired with SBC FS27 R23-11 1.0.0. Best Regards, Robin Re: Consulting on the compatibility of FS27 RTD and BMS GEN2 RTD Hi @viktorobr , "BMS GEN2 SDK AUTOSAR 4.4 R21-11 Version 0.9.1 CD06" is now available for download.  The customer questioned whether the AUTOSAR versions of the two drivers, R23-11 and R21-11, would differ significantly and cause compatibility issues if they were paired with SBC FS27 R23-11 1.0.0. Best Regards, Robin Re: Consulting on the compatibility of FS27 RTD and BMS GEN2 RTD Hi Robin, compatibility between different Autosar versions is tricky, we would have to compare all of the drivers used by both of the components you try to integrate and I'm not 100% familiar with the BMS SDK. I can tell you that between the FS27 versions and the drivers it uses we didn't notice major changes between R21-11 and R23-11, there might be some minor differences that will appear right away when you combine the components in one project (version specific macros etc.), but from functional point of view it should still behave the same. Best regards, Viktor
記事全体を表示
SPT 制限: RT1189 に複数の実行可能イメージを追加できない こんにちは、 私は i.MX RT1189 EVK を使用しており、ブートローダと CM7 コア上で実行されるアプリケーションで構成される 2 段階のセットアップを採用しています。RT1189 BootROM は CM33 コア上で実行されるため、CM33 トリガー アプリケーションを使用して CM7 コアを起動し、ブートローダーを起動します。セキュア プロビジョニング ツール (SPT) を使用して、最初に CM33 トリガー アプリケーションのみをメイン実行可能ファイルとしてロードし、「追加イメージ」タブの下にブートローダーを追加しました。画像に署名した後、このセットアップは期待どおりに機能しました。 しかし、アプリケーション ファームウェアを追加の実行可能ファイルとして含めようとしたところ、ツールが複数の実行可能イメージをサポートしていないことがわかりました。アプリケーション バイナリを「データ」として扱うことはできますが、データ エントリには実行可能な署名が付いておらず、安全で認証された実行が必要になるという懸念があります。SPT を使用して複数の実行可能イメージを追加する方法はありますか?あるいは、アプリケーションをデータとして追加した場合、それに署名を添付することは可能ですか?画像を結合するという選択肢があることは承知していますが、このアプローチは現在の実装には適していません。 SPTツールキット#iMXRT1189 #CM7 Re: SPT Limitation: Unable to Add Multiple Executable Images for RT1189 こんにちは、カンさん SPT v25.12を使用しています。ご返信をお待ちしております。ご協力ありがとうございます。 Re: SPT Limitation: Unable to Add Multiple Executable Images for RT1189 こんにちは@anand_s 、 どの SPT バージョンを使用していますか?詳細を教えていただけますか? すてきな一日を、 カン --------------------------------------------------------------------------------- 注記: - この投稿があなたの質問への回答である場合は、「正解としてマーク」ボタンをクリックしてください。ありがとう! - スレッドは最後の投稿から7週間フォローされます。それ以降の返信は無視されます。 後ほど関連する質問がある場合は、新しいスレッドを開いて、閉じたスレッドを参照してください。 --------------------------------------------------------------------------------- Re: SPT Limitation: Unable to Add Multiple Executable Images for RT1189 こんにちは@anand_s 、 情報ありがとうございます!SPT の場合、複数のイメージが追加されると最初のイメージのみが署名されます。すべてのイメージに署名する必要がある場合は、最初に nxpimage ツール (例: nxpimage utils binary-image export) を使用して、それらを 1 つのイメージに結合する必要があるかもしれません。 すてきな一日を、 カン --------------------------------------------------------------------------------- 注記: - この投稿があなたの質問への回答である場合は、「正解としてマーク」ボタンをクリックしてください。ありがとう! - スレッドは最後の投稿から7週間フォローされます。それ以降の返信は無視されます。 後ほど関連する質問がある場合は、新しいスレッドを開いて、閉じたスレッドを参照してください。 ---------------------------------------------------------------------------------
記事全体を表示
支持 MPL3115A2 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 我们的一款产品正在使用部件号为 MPL3115A2 的绝对压力设备。   请确认,在传感器封闭在空气密封箱内(不与环境空气接触)的情况下,连续读取 MPL3115A2 的温度值是否合适。   此致, 法尼 压力传感器 Re: MPL3115A2 support <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 嗨,法尼、 是的,您可以使用 MPL3115A2 嵌入式温度传感器连续读取温度值,不过由于传感器封闭在空气密封盒中(不与环境空气接触),您读取的不是环境温度,而是 MPL3115A2 内部的温度。 温度读数来自内部 ADC,它将读取内部模具温度,用于压力输出的压力补偿,而不是用作 "环境温度传感器",因此,如果温度精度是您应用中的一个重要特征,则不建议这样使用。 祝您愉快, Jose ----------------------------------------------------------------------------------------------------------------------- 注:如果本帖回答了您的问题,请点击正确答案按钮。Thank you! -----------------------------------------------------------------------------------------------------------------------
記事全体を表示
MCUXpresso IDEターミナル・チュートリアル MCUXpresso IDE の最新バージョンには、ターミナル エミュレーション アプリケーションが付属しています。このツールは、NXP開発プラットフォームの仮想シリアルポートから送信された情報を表示するために使用できます。 1. MCUXpresso IDEを開く   2. IDEの上部にある「ターミナルを開く」ボタンをクリックするか、「Ctrl + Alt + Shift + T」を押して、MCUXpresso IDEターミナルを起動します。 3. シリアルターミナルを選択   4. シリアルポート設定(LPC-Link2 COMポート番号を使用)を115200ボーレート、8データビット、パリティなし、1ストップビットに設定し、「OK」ボタンを押します。 5. 接続が開いていることを確認します。コネクテッドの場合、MCUXpresso IDEはターミナルビューで下図のようになります。 6. 出発の準備は完了です
記事全体を表示
MCX Lab Expansion Boards MCX Lab: Expansion Boards   The MCX Lab is supported by multiple NXP-designed expansion boards that can be connected to FRDM-MCXN947 board. The expansion boards are useful for introductory labs, featuring combination of buttons, joystick, DIP switch, rotary encoder, LED ring, potentiometer, IR sensors, OLED display, and more. FRDM-TEACH The FRDM-TEACH provides combination of buttons, switches, LEDs, potentiometer, rotary encoder, RTC and square wave generator: 4x buttons 2x4 DIP switches 5x Jumpers LED bar with 10x LEDs RGB LED External GPIO circuit with LEDs Real-time circuit Square wave generator Temperature sensor Potentiometer Rotary encoder with pushbutton Arduino compatible connectors The FRDM-TEACH is used in Basic laboratory assignments for FRDM-MCXN947. See MCX Lab Educational Materials page for more. MCXN947-SHD-OLED The MCXN947-SHD-OLED provides combination of buttons, switches, LEDs, OLED, potentiometer, rotary encoder and multiple sensors: 4x buttons 8x DIP switches 5 position tactile switch 8x LEDs in ring configuration OLED 128 x 64 display Potentiometer Rotary encoder Light sensor Humidity and temperature sensor Thermistor IR receiver Arduino compatible connectors LCD-PAR-S035 The LCD-PAR-S035 is a 3.5” 480x320 IPS TFT LCD module with wide viewing angle and 5-point capacitive touch functionality that we recommend to use with the FRDM-MCXN947 board. See also LCD-PAR-S035 homepage. Expansion Board Hub Explore the Expansion Board Hub for more modules with sensors, actuators, interfaces, displays, wireless modules etc.
記事全体を表示
RT1170 以太网中的自由缓冲区超出范围问题 您好, 我正在尝试从自定义板上的自定义项目中执行基本的以太网测试。作为该项目(该项目集成了不同的模块,如SD卡、CAN、GPIO、ADC、以太网和EEPROM)的一部分,基本的以太网发送和接收有待验证。但我在 ping 发送前遇到"freed buffer out of range 错误" 。我已经完成了与以太网有关的所有基本初始化和配置。我看到出现错误的原因是函数"ethernetif_rx_free" (enet_ethernetif_kinetis.c) 中的 LWIP_ASSERT("Freed buffer out of range", ((idx>= 0)&& (idx< ENET_RXBUFF_NUM))); 其中的 idx 值为负数。这一完整的功能可在 EVK 套件上使用。 还能缺少什么?请提出建议。 Re: Freed Buffer out of Range Issue in Ethernet for RT1170 大家好 这个问题也发生在我的 RT1024 客户板上,当我在某个地方放了一个断点然后它就停止了,然后恢复正常运行更有可能导致这个错误。 此致敬礼! Ping Re: Freed Buffer out of Range Issue in Ethernet for RT1170 如果示例项目在您的自定义板中运行良好,则问题似乎出在软件方面。 您使用的不是 FreeRTOS 对吗? 似乎有什么东西干扰了示例的行为,可能是缺少某些配置,或者只是示例流程受到应用程序其他部分的影响。 我建议你尝试使用最新的软件开发工具包版本,即2.15.000。如果您的问题在此版本中仍然出现,那么恐怕您的应用程序流程出现了问题。 此致, 丹尼尔 Re: Freed Buffer out of Range Issue in Ethernet for RT1170 您好, 是的,在自定义板中实现合并的源代码时会出现问题。但是,没有与其他接口合并的 Ethernet_PING 的单个来源在自定义板中运行良好。当以太网的单个源与其余接口合并时,就会出现问题。 Re: Freed Buffer out of Range Issue in Ethernet for RT1170 如果我没有理解错的话,当您运行 SDK 示例时,它是可以工作的。但当您添加自定义应用程序时,问题就出现了。你能确认吗? 此致, 丹尼尔 Re: Freed Buffer out of Range Issue in Ethernet for RT1170 您好, 实际上,以太网的各个源代码在自定义板中运行良好。当我尝试集成代码时,以太网无法正常工作。我观察到EIR 寄存器的第 25 (RXF)、26 (TXB) 和 27 (TXF) 位被设置为 0,RDAR 寄存器的第 24 位被更新为 0,但在以太网的工作代码中,这些寄存器被设置为 "1"。 我怀疑这些寄存器更新是由中断处理的,但我无法在自定义项目代码库中找到负责这些更新的特定处理程序。请帮帮我。 Re: Freed Buffer out of Range Issue in Ethernet for RT1170 请仔细检查是否有任何外围更改(例如:......)。为了让 EVK 示例在您的定制硬件中运行,您的项目中需要哪些外围实例? 如果您已经验证了这一点,看来问题出在硬件方面。 您是否已经用 HDG 验证了您的设计? 此致, 丹尼尔 Re: Freed Buffer out of Range Issue in Ethernet for RT1170 您好, 我使用的是 SDK 11.6.1 版。我正在尝试测试 lwip_ping_bm_cm7 示例。在 EVK 中运行正常。 但是,当尝试将所有源代码与以太网连接时,它在自定义板上不起作用。如果我们面临"Freed Buffer out of range" ,可能会出现什么问题?请帮我解决这个问题。 Re: Freed Buffer out of Range Issue in Ethernet for RT1170 您好, 您使用的是哪个版本的 SDK? 您用来测试的 SDK 示例是什么? 如果我理解正确,应用程序在 EVK 中运行正常,对吗? 此致, 丹尼尔
記事全体を表示
PCIe: i.MX 95: 複数の MSI IRQ ベクトルを割り当てる こんにちは、 PCIe2 インスタンス経由でコネクテッドされた i.MX95 ベースのシステムで ATH12K Wi-Fi モジュールを使用しています。 linux-imx lf‑6.12.y ベースのカーネルではこのセットアップは失敗しますが、lf‑6.6.y ベースのカーネルでは期待どおりに動作します。 カーネル ドライバは 16 個の MSI 割り込みを正常に要求し、受信します。しかし、その後、Wi-Fi モジュールの起動に失敗します。 [ 5.888139] ath12k_pci 0001:01:00.0:iommuグループ5に追加 [ 5.888506] ath12k_pci 0001:01:00.0:BAR 0 [mem 0xa10000000-0xa101fffff 64bit]: 割り当て済み [ 5.888553] ath12k_pci 0001:01:00.0:有効化デバイス (0000 -> 0002) [ 5.889315] ath12k_pci 0001:01:00.0:MSIベクター: 16 [ 5.889334] ath12k_pci 0001:01:00.0:ハードウェア名: wcn7850 hw2.0 [ 6.475718] ath12k_pci 0001:01:00.0:チップID 0x2 チップファミリー 0x4 ボードID 0xff soc_id 0x40170200 [ 6.475743] ath12k_pci 0001:01:00.0:fw_version 0x110cffff fw_build_timestamp 2025-06-25 09:26 fw_build_id QC_IMAGE_VERSION_STRING=WLAN.HMT.1.1.c5-00302-QCAHMTSWPL_V1.0_V2.0_SILICONZ-1.115823.3 [ 7.647106] ath12k_pci 0001:01:00.0:制御応答完了、ポーリングを受信できませんでした。 [ 8.675241] ath12k_pci 0001:01:00.0:サービス接続タイムアウト [ 8.681002] ath12k_pci 0001:01:00.0:HTTへの接続に失敗しました: -110 [ 8.692180] ath12k_pci 0001:01:00.0:コアの起動に失敗しました: -110 カーネルメーリングリスト[1]では別のPCIeデバイスに関する関連した議論がありましたが、まだ私たちのシステムで動作する構成には至っていません。 どうすれば最善の進め方でしょうか? 再開まで今しばらくお待ちください。 最大 [1] https://lore.kernel.org/all/1819305.VLH7GnMWUR@steina-w/ Re: PCIe: i.MX 95: Allocate Multiple MSI IRQ Vectors こんにちは、 i,MX95 はまだ初期段階であり、一部の構成はデザインされていません。しかし、PCIe2経由でATH12Kを搭載したi.MX95は lf-6.12.y ですが、 lf-6.6.y で作業中ですこれは、新しいカーネルの PCIe または Wi-Fi スタックにおける回帰またはドライバー相互作用の変更を示唆しており、PCIe パワーマネージメント (ASPM)、MSI マッピング、または ATH12K の特定の PCIe エンドポイントの癖に関係している可能性があります。多くの場合、カーネル パッチを適用するか、新しいカーネルのブート引数で ASPM を無効にすることで解決できます。dmesg で PCIe エラーを確認し、デバイスツリーを比較し、NXP/Linux カーネル メーリング リストで関連するコミットを探します。  考えられる原因とトラブルシューティングの手順を次に示します。 1. カーネルログを確認する ( dmesg ) PCIe エラーを探す: 障害が発生した lf-6.12.y カーネルの dmesg で、「PCI」、「MSI」、「ATH12K」、「Error」、「Firmware」、または「Timeout」メッセージを検索します。 ファームウェアのロード: ath12k ファームウェアが正しくロードされているかどうか、および初期化中にエラーが発生していないかどうかを確認します。  2. PCIe電源管理(ASPM) 一般的な問題:新しいカーネルでは、多くの場合、Active State パワーマネージメント (ASPM) がデフォルトで有効になっています。これにより、組み込みシステム上の ATH12K などの PCIe デバイス、特に古いファームウェア/ハードウェアで問題が発生する可能性があります。 ASPM を無効にしてみてください:カーネル ブート引数 (U-Boot または GRUB など) に pcie_aspm=off を追加して、再度テストします。  3. Devicetree/DTBの違い DTB の比較:両方のカーネル ( .dtb ファイル) で使用されるデバイス ツリー BLOB (DTB) を生成して比較します。特に割り込み、電源ドメイン、または互換性プロパティに関連する、 pci2 の PCIe ノードの変更を探します。  4. カーネルドライバー/ファームウェアの回帰 特定のコミット: ATH12K ドライバ ( ath12k )、 mac80211 、または lf-6.12.y のコア PCIe/Arm コードによって、セットアップを壊す変更が導入された可能性があります。 メーリング リストを検索: ath12k 、 i.MX95 、およびそれ以降のカーネル (6.12+) に関するパッチやディスカッションについては、Linux カーネル メーリング リスト (LKML) および NXP のリストを確認してください。  5. MSIの取り扱い 割り込み再マッピング:割り込みを受信すると、その処理方法 (MSI-X と MSI、割り込み再マッピング) が微妙に変わる場合があります。 proc/interrupts で割り込みをチェックします。カーネル間で割り込みの分布またはカウントが異なるかどうかを確認します。  6. ファームウェアブロブ ファームウェア バージョン:新しいカーネルのドライバと互換性のある、ATH12K 用の正しいファームウェアを使用していることを確認します。新しいドライバには新しいファームウェアが必要になる場合があります。  要約すると、 dmesg から始めてASPMを無効にしてみてください。これらは、組み込みプラットフォームの新しいカーネルでPCIe Wi-Fiの障害が発生する最も一般的な原因です。   よろしくお願いします。 Re: PCIe: i.MX 95: Allocate Multiple MSI IRQ Vectors 提案は問題をデバッグするための良い指針でしたが、解決策を見つけることができませんでした。つまり、すべての MSI IRQ ベクトルがドライバ内の IRQ ルーチンをトリガーしたわけではありません。 最終的には、ath12k ドライバーを変更して、1 つの MSI IRQ のみを要求するようにすることで、この問題を回避しました。 現在の Linux マスターにはこの問題は発生しないことに注意してください。 よろしくお願いします。 最大
記事全体を表示
S32K324のBISTデバッグに関する質問 こんにちはチーム BIST デバッグガイダンスについてお聞きしてもよろしいでしょうか? お客様は RTD (MCAL) 付きの S32K324 を使用しています。 BIST_RUN API の実行後、MCU はリセットされたように見えます。(もちろん、UM に続く BIST では PLL による正しいクロックが使用されます。) ただし、MC_RGM には「STCU_URF」と表示されています。 STCUに確認しましたが、重大な理由はわかりませんでした。 これらは「まだ進行中で、MBIST 実行に失敗しました」のように表示されますが、これらもデフォルト値です。 このCASEに関して、より詳しい情報を入手できるのはどちらでしょうか? よろしくお願いします。 優先度: 重要 SAFETY_SW 出典: 直接お客様 Re: Question about BIST debugging of S32K324 こんにちは@Luke_Chun 、 MBSPLLEN / LBSWPLLEN が「0」であれば正しく、これは検証済みの構成 STCU2 セットアップの一部です。 設定の場合、関数のパラメータが何であるかを意味します。例: Bist_Run ( BIST_SAFETYBOOT_CFG ); 構成から、お客様が LBIST および MBIST 回復不能障害対応を設定したことがわかります。これが、表示されるリセットの原因です。 これらのタブに何も設定されていないことを確認してください。 この設定後、BIST は終了し、リセット後に結果を調べることができます。 おそらく、MBIST または LBIST で何らかの障害が発生し、これが前提条件が間違っている (おそらく一部のクロックが実行されていない) という手がかりになります。 よろしくお願いいたします ラドスラフ   Re: Question about BIST debugging of S32K324 こんにちは@RadoslavB ご返信ありがとうございます。 BIST に関するフィードバックは次のとおりです。 以下の行ではブレークポイントが使用されました。 以下はSTCUレジスタです。 1つの質問は、RUNSW: MBSPLLEN/LBSWPLLENが「0」であることです。 「PLLなし」を意味します。正しい構成ですか? また、以下の STCU に異常な構成はありましたか? よろしくお願いします。 Re: Question about BIST debugging of S32K324 こんにちは@Luke_Chun 、 破壊的リセット STCU2 レジスタがデフォルトに設定されると、レジスタから根本原因に関する詳細情報を見つけることはできません。 どの BIST 構成を実行しているかを把握し、BIST を開始する関数Bist_SelfTestTrigger()の命令の直前に STCU2 レジスタを確認すると便利です。 SAFETYBASE_REG_WRITE32 ( BIST_STCU_RUNSW_REG 、 BIST_STCU_RUNSW_RUN_BIT ); LBUFM と MBUFM が設定されていない場合、それにもかかわらず STCU_URF が設定される可能性があるのはなぜなのか、HW チームに質問することになります。 理想的には、クロックの初期化直後に BIST を実行し (クロックを起動して実行するだけ、他には何も行わない)、他のペリフェラルは初期化せず、Core_1 をリセット状態に保ち、FCCU を有効にせず、MPU と XRDC を無効のままにし、すべてのウォッチドッグを無効のままにして、PMIC をデバッグ モードのままにして、LBIST_CLK が 40 MHz であることを確認します。 比較のために、K344 の SAF デモ例で、MCU モジュール (クロックと McuModeSettingConf) がどのように構成されているかを確認できます。 敬具、 ラドスラフ Re: Question about BIST debugging of S32K324 こんにちは@RadoslavB ご対応ありがとうございます。 あなたの言及によって私はもう一歩前進することができます。 以下を使用すると、STCU_URF は発生しません。 しかし、別の結果が表示されています。 RMG が更新されませんでした (以下によりリセットが発生していないと思います)。 また、ERR_STAT には WDTOSW が表示されており、RFSF が発生しています。 両方のエラーが発生する可能性についてお尋ねしてもよろしいでしょうか? (WDTOSW はクロック構成に関連しているのではないかと推測しています...もう一度確認してみます...) しかし、RFSF についての情報はありませんでした...) ありがとう。 Re: Question about BIST debugging of S32K324 こんにちは@Luke_Chun SAF リリースバージョンとは何ですか? BIST 実行前にブレークポイントが表示され、同じポイントで STCU2 レジスタのスクリーンショットが取得されていますか?BIST 実行前であっても ERR_STAT が設定される理由がわかりません。 RFSR - eMcem 構成でこの FCCU 障害が無効になっていることを確認してください BIST は eMcem_Init の前に実行する必要があるため、理想的には、すべての NCF チャネルに対して FCCU を完全に無効にする必要があります。SAF デモの例をご覧ください。 WDTOSW - はい、BIST がタイムアウト内に実行されなかったようです。そのため、いくつかの低速クロックが設定されている、またはいくつかの必須クロックが無効になっています - SAF デモからの MCU クロック セットを参照してください。 敬具、 ラドスラフ Re: Question about BIST debugging of S32K324 こんにちは@Luke_Chun 、 1) クロック (このCASEは分周器) を有効にすることは最低限必要ですが、BIST では最大可能周波数 (最大周波数のクロック ソース PLL) で構成する必要があります。デフォルトの FIRC ではなく、すべての MUX 除数または乗数は、最大出力クロック周波数を提供するように設定されます。など) => これにより、BIST タイムアウトが超過しないようにすることができます。 正確に確認するには、RTD MCU プラグインを使用することをお勧めします。レジスタを探索するのではなく、周波数を出力します。 2) FCCU が無効になっていることがわかります (リセット後のデフォルト状態)。NCF5 に NCF_S0 が設定されているのは、NXP が FCCU をこのように設計しているためです。チャネルを有効にする必要はありませんが、FCCU チャネルを有効にしているにもかかわらず、ステータス フラグは常に設定されます。 NCF5 には DCMROD レジスタによって記述される他の多くの障害があり、これによって NCF5 の正確な障害原因がわかりますが、この場合は STCU2 RF (これは DCMROD5 に報告されます) であると仮定します。 NCF5 が表示されるということは、BIST エラーがまだあることを意味します。 - お客様が eMcem を使用しない場合、FCCU をどのように構成しますか?無効になっているようですが、BIST を実行する意味は何でしょうか? BIST は、ほとんどの場合 FCCU に報告される HW セーフティメカニズムの潜在的な障害をチェックするだけです。したがって、FCCU を無効にして BIST を実行すると、お客様アプリケーションは QM レベルに降格され、セーフティ ASIL アプリケーションを実行できなくなります。 BIST 後には ST_DONE 機能リセットが必要です。BIST リセット後、お客様はBist_GetFailLists() を呼び出して BIST 結果を評価する必要がありますが、結果はどうなりますか? BIST ドライバーの使用方法については、SAF デモの例を参照してください。 Bist_Run() は NCF5 ステータス フラグをクリアできません。実際、これがフラグが設定されている理由です。 敬具、 ラドスラフ Re: Question about BIST debugging of S32K324 こんにちは@RadoslavB ご対応ありがとうございます。 皆様のサポートにより、BIST は機能しています。 しかし、いくつか質問があります。 1. 最後の理由はクロックの設定に関連しています。 MUX7、8、9、10 はクロックの有効化を行いませんでした。 有効にした後は正常に動作します。 これは近づいていますか? 2. FCCU については、おっしゃるとおり FCCU に確認いたしました。 ご覧のとおり、NCF_s0_5 が設定されています... ただし、お客様は eMECM を使用していません (emecm_init を呼び出していません)。 上記はMCUリセット後の状態です。 ただし、BIST_RUN API 中はクリアされます... これは機能していますか? ありがとう。 Re: Question about BIST debugging of S32K324 こんにちは@RadoslavB フィードバックはこちらです。 1. お客様はSPD1.0.5を使用します。SAF が使用されます。 FCCU は実装されますが、この段階では BIST が最初の項目です。 2. はい、Clock は以下のように使用されます。 3. BIST後、STCUおよびFCCUに障害情報は発生しませんでした。 4. 異常の 1 つは、リセット理由がなく、BIST_BUSY であることです。 BIST_BUSY の場合の確認方法を教えてください。 ありがとう。 Re: Question about BIST debugging of S32K324 こんにちは@Luke_Chun 、 Bist_GetExecStatus が BIST_BUSY を返す場合、このビットが設定されている(BIST 操作がまだ完了していない)ことを意味します。 しかし、スクリーンショットを見るとこのビットは 0 なので、なぜ BIST_BUSY が返されるのか分かりません。 Bist_Specific_GetExecStatus() をデバッグしてみると、次のようになります: uint32 ReadRunSw = SAFETYBASE_REG_READ32 ( BIST_STCU_RUNSW_REG ); MBIST11 も実行されていることがわかります。これは、顧客アプリケーションでは使用すべきではない BIST_DIAGNOSTIC_CFG を実行していることを意味します。BIST_SAFETYBOOT_CFG を実行させてください。 クロック設定の一部しかカバーしていないスニペットから**bleep**設定を検証できません。お客様はクロックのMCUプラグイン設定を比較する必要がありますが、私の能力ではここではサポートできません。繰り返しますが、すべてのクロックを最大周波数で有効にするだけで済みます。 敬具、 ラドスラフ
記事全体を表示
S32k344 上的闪存问题(MBDT 我正在开发 s32k344 评估板 (HV 电池管理系统)。问题是我无法通过 Simulink 闪存我的代码。我创建了一个简单的 DIO Led Blink 模型(只需在 LED 上即可)。该模型已建立,即使生成了代码,也没有错误。指示灯仍未亮起。当我使用 S32DS 软件闪烁 LED 时。LED 指示灯闪烁。然后我尝试用 Simulink 进行闪存。LED 熄灭。表示程序在闪烁,但 LED 未亮起。我仔细检查了 PTA21(RED_LED)引脚。我做错了什么。我已经在 MATLAB 中安装了调试器和 MBDT 工具箱的支持软件包 Re: Flash problem on S32k344 (MBDT) 你好 好吧,这不是与 FS26 有关的问题。 如果可能的话,能否与我分享一下您的模型,让我看看? 顺祝商祺! 索林-班奇拉 Re: Flash problem on S32k344 (MBDT) 你好 启动板时,继续按下 SW1 按钮。 不要忘记查看工具箱中包含的示例,其中有该板的参考配置。 顺祝商祺! 索林-班奇拉 Re: Flash problem on S32k344 (MBDT) 如何配置 FS26。我现在找不到相关文件。请提供帮助 Re: Flash problem on S32k344 (MBDT) 与 PE Micro 调试器连接时,我总是按下按钮(SW1)。但闪光时和闪光后都不行。我单独试用了 S32 DS 软件。它成功闪烁且 LED 闪烁,但是当使用 Simulink 进行同样的闪烁时,它不会闪烁或 RESET Re: Flash problem on S32k344 (MBDT 你好 您配置 FS26 进入调试模式了吗?否则,它将继续重置板。 如果您使用的是 X-RD-K344BMU,则可以查看工具箱中包含的示例,以了解如何配置 Dio、Port 元器件以切换 LED。 顺祝商祺! 索林-班奇拉 Re: Flash problem on S32k344 (MBDT) 我将与您分享我的文件。它只是一个基本的 LED 型号。请检查问题所在 Re: Flash problem on S32k344 (MBDT) 我已经共享了文件。请回复
記事全体を表示