Multi Source Translation Content

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Multi Source Translation Content

Discussions

Sort by:
S32G_Howto_Boot_MiniLinux_from_QSPI This article explains how to boot a minimal Linux on the S32G using only QSPI Nor, for the most important purposes: emergency/upgrade/test mode for Linux, or fast booting catalogs 1 Background and Information Note... 2 1.1 Background note... 2 1.2 Description of the information required... 2 2 S32G QSPI Nor Mirror Layout Description... 3 2.1 S32G Linux BSP Support for QSPI Nor Boot... 3 2.2 S32G Yocto fsl-image-flash mechanism analysis... 5 2.3 Mirror Layout and Modification Targets for S32G QSPI Nor Boot... 7 3 Image modification and compilation... 8 3.1 Mirror image modification... 8 3.2 Yocto compilation methods... 10 3.3 Standalong compilation method... 11 4 How to shrink a Linux kernel image... 12 5 How to Make Minimum Rootfs. 12 5.1 Direct shrink based on existing rootfs... 12 5.2 Other methods... 14 6 Testing... 14 6.1 Burning Approach... 14 6.2 Running log. 16 7 How to add apps to Rootfs... 17 7.1 Adding methods to the Yocto environment... 17 7.2 Other methods ... 17 7.3 Test results... 17 8 Annexes... 17
View full article
S32K344 Mini-EVB 上的以太网引脚冲突 您好,团队、 我正在使用S32K344 Mini-EVB进行以太网连接活动。从用户手册中我可以看到,PTD16 引脚用于 MDC,PTD17 引脚用于 MDIO。但当我在 S32DS 中进行以太网引脚配置时,我看到 PTD16 只能路由到 MDIO,而 PTD17 则路由到 MDC,而且我还从 S32K344_IOMUX 中验证了这一点,从该 excel 中我还可以看到 PTD16 --> MDIO 和 PTD17 --> MDC。 那么,用户手册文件中是否有错误,如果有,是否会影响以太网通信。 Re: Ethernet Pin Conflict on S32K344 Mini-EVB 你好@MySterio_1、 是的,你说得对。引脚 MDC 和 MDIO 对调。我已经报告过——它将在下一个版本的 UM12406 中修复——发布日期尚不清楚。 请随时参考我与此主板相关的 LwIP 示例:示例 S32K344 EMAC LWIP Fre eRTOS miniEVB S32DS 3.6.1 RTD 6.0.0   顺祝商祺! 帕维尔
View full article
HSE_b: Not allowed to import RSA key to RAM I'm trying to understand how to use the key import service by importing a single 1024-bit RSA public key into the RAM catalog, but the server responds HSE_SRV_RSP_NOT_ALLOWED. My test application formats the RAM key catalog as follows: { { muMask = HSE_MU0_MASK | HSE_MU1_MASK, groupOwner = HSE_KEY_OWNER_ANY, keyType = HSE_KEY_TYPE_RSA_PUB, numOfKeySlots = 2, maxKeyBitLen = HSE_KEY1024_BITS, }, { muMask = HSE_MU0_MASK | HSE_MU1_MASK, groupOwner = HSE_KEY_OWNER_ANY, keyType = HSE_KEY_TYPE_ECC_PUB_EXT, numOfKeySlots = 2, maxKeyBitLen = HSE_KEY256_BITS, }, { muMask = 0, groupOwner = 0, keyType = 0, numOfKeySlots = 0, maxKeyBitLen = 0 }, } and I get server reply HSE_SRV_RSP_OK. I then try to import an RSA key with the following key info: { keyFlags = HSE_KF_USAGE_VERIFY, keyBitLen = HSE_KEY1024_BITS, keyCounter = 0x0, smrFlags = 0x0, keyType = HSE_KEY_TYPE_RSA_PUB, specific = { pubExponentSize = 4, } } and my request is as follows: { targetKeyHandle = 0x20000, pKeyInfo = 0x20401f74, pKey = { 0x210034b4, 0x21003534, 0x0}, keyLen = { 0x80, 0x4, 0x0}, } . I have set HSE_RAM_PUB_KEY_IMPORT_POLICY_ATTR_ID to HSE_KM_POLICY_ALLOW_RAM_PUB_KEY_IMPORT, and read it back as the same. LC attribute is 0x04, HSE error flags are 0x0000, HSE status flags are 0x0B60. Firmware version reads as 0x0F SoC ID 0x0000 FW type 0x02 major 0x32 minor 0x00 patch. Re: HSE_b: Not allowed to import RSA key to RAM Hi @Emma_G-gbg  Your parameters are correct, I can see nothing wrong there. If you have super user rights, it’s not even necessary to set that attribute. I was testing something very similar yesterday, so I just slightly updated my code to import 1024bit RSA public key with 4-bytes public exponent. It looks like this: Notice that it’s not necessary to set pubExponentSize when importing RSA public key. HSE ignores this parameter. It uses keyLen[1] instead. Parameter pubExponentSize is used when reading the keyInfo by service HSE_SRV_ID_GET_KEY_INFO. This is what I got when I read the keyInfo of that key: Isn’t that just data cache issue? Could you try to disable data cache to see if it makes a difference? Regards, Lukas Re: HSE_b: Not allowed to import RSA key to RAM Thank you, I had missed filling in cipher and auth key handle information, I hadn't checked so I thought HSE_INVALID_KEY_HANDLE would be zero. It's currently working with at least some of the values in cached memories, with cache maintenance operations before and after service calls. Since we are adding HSE services to an existing project we are precluded from changing the cache structure, but so far everything has worked as long as we make sure it's actually written to the shared memory, although I did also try disabling the cache for the relevant memories, which made no difference.
View full article
imx8qm jailhouse Hi all, Is there any document showing all the steps to have a demo running on imx8qm mek board with jailhouse? I was going over this: L5.4.70_2.3.3_LINUX_DOCS but all I could find is a reference to device trees: Hypervisor Jailhouse Enables the Jailhouse Hypervisor device trees. • imx8qxp-mek-root.dtb: DTB for root-cell I do not know what to do with this info. That is why I need a step by step instruction list. Br, Mircea Re: imx8qm jailhouse @Jerry137207  Hi, Are you running jailhouse on top of hw ? Re: imx8qm jailhouse Hi @Rita_Wang  I am using MCIMX8QM soc I need to run android and freertos on top of hypervisor. Which hypervisor i can use ? Re: imx8qm jailhouse Waste of time. Nothing works out of the box on nxp imx8qm, at least not with the software provided by nxp. Android does not run in jailhouse, on imx95 they have a small android demo running in xen. freertos can run on the second core m3 core, you can flash the emmc with android and have it like that running. no hypervisor needed. Re: imx8qm jailhouse hi @Ahelion i am planning to use MCIMX8QM-CPU soc  i need to bringup freertos and Android on top on this do we need hypervisor here, and also Jailhouse is already present in the latest version of android ? Re: imx8qm jailhouse Hi, Ahelion: I'm interested in runing multiple OS based on jailhouse, but related information is lack. I've sucessfully run jailhouse test demo in Imx8qm mek board. If you would like share info each other, plz email me: [email protected]. Re: imx8qm jailhouse I can tell you right now, it is not supported. I could not get jailhouse or xen to work on imx8qm. Whatever documentation i find is referencing linux4.9, which can not be build anymore. Re: imx8qm jailhouse Hi, Yes, the xen is supported on the i.MX8QM. You can refer to the attach document. Wish you have a nice day Best Regards Rita Re: imx8qm jailhouse any ideea?  Found out that the latest linux kernel does support the lates XEN How can I get Linux and Android running at the same time? Re: imx8qm jailhouse OK, I will help confirm. Re: imx8qm jailhouse L5.4.70_2.3.3, i was following this quide, so all bsp-s mentioned here I am using. Re: imx8qm jailhouse Which version BSP are you want to use? Re: imx8qm jailhouse @Rita_Wang Xen willl support on latest kernal 6x? Re: imx8qm jailhouse @Rita_Wang i have one more we are buying MCIMX8QM soc  i need to run android and freertos as guest which hypervisor support on this latest kernel? jailhouse supports on latest kernel for my requirement  Re: imx8qm jailhouse Hi @Shivu_Guru_24 , Sorry for late reply. For the XEN the on latest kernal 6x do not support it. If customer want to use, they can do porting themself. In our BSP 4.14.98 support it. Customer and refer it: Embedded Linux for i.MX Applications Processors | NXP Semiconductors   Hope this can do help for you Wish you have a nice day Best Regards Rita Re: imx8qm jailhouse Hi @Shivu_Guru_24 , Jailhouse is a Type 1 hypervisor for i.MX 8. Xen is not support in the latest version BSP. Wish you have a nice day Best Regards Rita
View full article
Vision ML with the FRDM-MCXN947 The MCX N microcontroller family includes an eIQ Neutron N1-16 NPU for accelerating neural network models. The FRDM-MCXN947 development board can be combined with a camera and LCD screen to showcase running TinyML vision models on a microcontroller.   MCX N Camera Hardware Setup: The following hardware is used: MCX N FRDM Development Board - FRDM-MCXN947 OV7670 camera (with optional wide-angle lens) NXP LCD-PAR-S035  There are three small modifications needed for the FRDM-MCXN947 board for camera support. Without this modification the camera colors will be incorrect and tinted red.   Change SJ16, SJ26, and SJ27 found on the back of the Rev B board to connect pin 3 (the dashed side) so that it looks like the following:          Then connect the camera and LCD to the FRDM-MCXN947: Plug in the OV7670 camera into J11. It should line up with the orange box.                            Connect the LCD-PAR-S035 LCD into J12. It should be flush with the bottom so that the top 2 rows of pins are left hanging off the edge. Also note that on some LCD-PAR-S035 boards those top two rows of pins are not installed.          It should look like the following when complete           Also as the camera and Ethernet pins are shared, if you need to use the Ethernet+Camera at the same time please see this NXP Community post. MCX N Vision ML Examples: The NXP Application Code Hub contains several vision AI/ML examples: Face Detect Face Detect with Zephyr Multiple Person Detection  CIFAR10 Fashion MNIST There are also Multimedia Processing Pipeline (MPP) examples inside the MCX N MCUXpresso SDK that demonstrate more examples of using vision AI/ML on MCX N. These examples are only available for VSCode/GCC in the Repository-Layout SDK package. Note: It is recommended to use MCUXpresso SDK 25.09 for these examples. The MPP issues in the 25.12 and 26.03 MCUXpresso SDK releases should be fixed in the upcoming MCUXpresso SDK 26.06.  MCX N ML Vision Lab: The attached eIQ Neutron NPU for MCX N Lab Guide - Face Detect.pdf lab document walks through the steps to download an example Face Detect ML project from the NXP Application Code Hub and use the eIQ Neutron Compiler tool to convert a model. It also describes how to update the eIQ and Neutron software libraries in an older MCUXpresso SDK project to work with the latest eIQ Neutron SDK libraries. It is recommended to go through the general MCX N NPU Lab Guide first and then do the attached Face Detect lab second.  The lab is also included below: 1  Lab Overview This document will demonstrate the acceleration provided by the eIQ Neutron NPU using the Multiple Face Detection demo for the FRDM-MCXN947 found on the NXP App Code Hub. The demo will run with the non-NPU optimized model and then the performance can be compared to the NPU optimized version of that same model. It also demonstrates how the NPU optimized version of the face detect model was generated. This lab is written for MCUXPresso IDE but the same basic steps can be used for VSCode or GCC. This lab will also cover how to update the Neutron NPU libraries in the project, as the original Face Detect example uses an older Neutron library version. It is highly recommended to complete the eIQ Neutron NPU for MCX N Lab Guide before starting this lab. 2  Software and Hardware Installation This section will cover the hardware and software needed for this lab. 2.1 Hardware The following hardware is required for this lab: MCX N FRDM Development Board - FRDM-MCXN947 OV7670 camera (with optional wide-angle lens) NXP LCD-PAR-S035 2.2 NXP Software Installation          Install MCUXpresso IDE v25.6 or later. Download the latest eIQ Neutron SDK Download and unzip the latest MCUXpresso SDK for FRDM-MCXN947 using MCUXpresso SDK builder Search for the FRDM-MCXN947 board Then click on Others On the SDK builder page, make sure to select the “eIQ” middleware and that the MCUXpresso IDE toolchain is selected. Then click on Build SDK.   Then click on the Download button and accept the license agreement to download the zip file. 3   Face Detection Example 3.1 Download Face Detect Demo from App Code Hub The code for this lab can be found on the NXP Application Code Hub hosted on Github, and we can use MCUXpresso IDE to directly import the Face Detection example from App Code Hub. Drag-and-drop the FRDM-MCXN947 SDK zip file into the Installed SDKs window, located on a tab at the bottom of the screen named “Installed SDKs”. You will get the following pop-up, so hit OK. Once imported, the Installed SDK tab will look something like this:  In the Quickstart Panel found in the lower left corner, click on Import from Application Code Hub.. In the dialog box that pops up there are many filters available to filter for different devices and types of demos. But since the name of the demo we are interested in is already known, the search box will be faster. Select the AI/ML category and then type in “face detection” and then click on the “Multiple face detection on mcxn947” demo. Make sure you don’t accidently click on the “Multiple Person Detection” demo. On the popup that comes up, click on GitHub link at the top. At that point the Next button at the bottom will become clickable so click on that. The next screen displays the possible branches. In this case there is only main so just click on the Next button at the bottom to go with the default. The next dialog box determines the location on your computer where the code will be downloaded to. You can leave it at the default location if desired or click on Browse to pick your own location. Then click on Next. The next screen will download the code and ask about importing the project. Click on Next to go with the default Import existing Eclipse projects option. Then finally on the last screen click on Finish to import the project into your MCUXPresso IDE workspace. You may get the following warning due to the project being made on an older version of the SDK. Then hit OK to accept the using the newest version.  15. It should look like the following when done: 3.2 Convert Model The demo is already using a model that was converted to take advantage of the eIQ Neutron NPU. This purpose of this section of the lab is to teach new NXP users how that model was converted. Unzip the eIQ Neutron SDK package in a directory of your choosing.   Optionally add \eIQ_NeutronSDK_ \bin to your executable path so that the neutron-compiler utility can be directly called from the command line. Back in MCUXpresso IDE, find the location of the original non-converted model used for this demo by right clicking on the face_detect.tflite file in source/model/ and going to Utilities->Open directory browser here. Copy the directory location as it will be used in the next step Open a Windows Command prompt and navigate to the directory where the model was at from the previous step             Use the Neutron Compiler to convert the Face Detection model: neutron-compiler --input face_detect.tflite --output face_npu.tflite --target mcxn94x 3.3 Update eIQ Neutron Libraries The Face Detect ACH example uses an older version of the eIQ Neutron libraries, and so it needs to be updated to match the Neutron libraries in newest eIQ Neutron SDK since the model was converted with that version of the Neutron Compiler tool. In the frdmmcxn947_multi_face_detection project, right click on the eiq folder and go to Utilities->Open directory browser here Overwrite the Neutron files from the eIQ Neutron SDK folder into your project to update the Neutron libraries to the latest version: File Name Source Directory in eIQ Neutron SDK Target Directory in MCUXpresso SDK libNeutronDriver.a target\mcxn94x\board\ eiq\neutron\mcxn\cm33 libNeutronFirmware.a target\mcxn94x\board\ eiq\neutron\mcxn\cm33 NeutronDriver.h target\mcxn94x\driver\include\ eiq\neutron\driver\include NeutronErrors.h target\mcxn94x\common\include\ eiq\neutron\common\include After the new Neutron libraries are copied over, clean the project to ensure the new libraries will be used 3.4 Board modifcations There are some hardware modifications to the MCX FRDM board required for this demo since the camera pins are muxed with the Ethernet pins and the Ethernet functionality is the default. The board version can be determined by scanning the QR code on the back of the MCX FRDM board with your phone. Most people will have Rev B boards. Rev A: Remove the R157, R158, and R159 resistors from the back of the Rev A board so that it looks like the following: Rev B: Change SJ16, SJ26, and SJ27 found on the back of the Rev B board to connect pin 3 (the dashed side) so that it looks like the following: 3.5 Connect the camera and LCD Plug in the OV7670 camera into J11. It should line up with the orange box. Connect the LCD-PAR-S035 LCD into J12. Note that some older LCD-PAR-S035 LCDs may have an extra set of pins soldered on, and in that case the extra 2 rows of pins should be hanging off the edge like in the photo below.             It should look like the following when complete 3.6 Run Models Now open up model_data.s by double clicking on it, and then modify line 43 to point to the original (non NPU converted) model file named face_detect.tflite. This particular project uses the .tflite file directly. Build the project by clicking on the Build icon in the Quickstart Panel Then download and run the project by clicking on the Debug icon in the Quickstart Panel You should see the demo working with an inference time of 817ms printed on the LCD display. Note: The default camera on the OV7670 is not very wide angle so you have to hold it fairly far back. There are wide-angle lenses that can be purchased to make it easier to demonstrate. Note: After POR there may be some glitching on the camera due to the fact the camera is expecting 2.8V but the board is at 3.3V and the initial HSYNC signal was missed. Press the reset button (SW1) and it should fix any camera issue.  Now let’s use the Neutron optimized model by opening model_data.s again and this time selecting the NPU converted model face_npu.tflite Recompile and reprogram the board. You’ll see it is significantly faster with a 22ms inference time, a 37x improvement! 4  Conclusion This lab demonstrated how the eIQ Neutron NPU on MCX N devices can significantly decrease inference time on quantized models and the steps to generate a NPU optimized model using the command line tools. Also explore the other App Code Hub ML examples available online. FRDM-Training MCXN NPU|ML
View full article
S32K148 回路図ドキュメント (SCH-29643 REV C) こんにちは、NXP チームの皆様、 S32K148 評価ボードを使用しており、ボードの回路図ドキュメント SCH-29643、リビジョン C を探しています。 利用可能なリソースを検索しましたが、Rev C の回路図を見つけることができません。 S32K148 EVB の SCH-29643 Rev C 回路図ドキュメントを共有していただけますか (または適切なダウンロード リンクを提供していただけますか)? サポートいただきありがとうございます。 Re: S32K148 schematic Document (SCH-29643 REV C) こんにちは、 添付したものを見つけました。 BR、ペトル
View full article
ベアメタル用のOSタイマーインターフェース Arm 用の S32DS で動作していた古いドライバ モデルには、ベア メタル実装をサポートするタイマー遅延用の API がありました。新しいリアルタイム・ドライバ モデルでは、同等のものが見つかりません。これを実行しようとするとエラーが発生します。添付のスクリーンショットを参照してください。 それを行う方法はありますか? プロジェクトの詳細: MCU: 144ピン構成のS32K148 システムOS: ベアメタル RTD バージョン: 3.0.0 ドライバー構成: 低レベル (非 Autosar)。スクリーンショットを参照してください。 Re: OS Timer interface for bare metal こんにちは@danielmartynek 更新ありがとうございます。これは私が発見したものと一致しています。いくつかフォローアップがあります: 1.SO、リアルタイム・ドライバには OSIf_TimeDelay() に相当するものはないのでしょうか?ドライバー API の他の部分にも同様のギャップが見られ、既存のコードの移植がやや困難になっています。 2. これらの API はすべての MCAL 実装で統一されていますか?言い換えれば、MCAL 準拠を主張する別のベンダーのハードウェアと MCAL 実装を使用する場合、これらすべての API がそのドライバ実装で利用できると期待できますか?(これを逆に読むこともできます。MCAL 準拠を主張する別のベンダーから NXP に移行する場合、NXP ドライバが他のベンダーのドライバが提供するすべての API を提供すると期待できますか?) よろしくお願いいたします。 ドゥルガー・チョードリー Re: OS Timer interface for bare metal こんにちは、 @durga_choudhuryさん、 OsIf.hを参照してください。以下の機能があります: OsIf_Init()、 OsIf_GetCounter()、 OsIf_MicrosToTicks()、 OsIf_GetElapsed()、 BR、ダニエル Re: OS Timer interface for bare metal こんにちは@durga_choudhuryさん、 1. いいえ、そのような関数はありません。個々のドライバは OsIf API を使用します。たとえば、次のようになります。 2. RTD には以下が含まれます。 AUTOSAR MCALドライバ 低レベルのIPレベルドライバ MCAL の最上位層 (AUTOSAR) のみがポータブルです。 たとえば、Adc_Init()。 しかし、OsIf_GetElapsed() は AUTOSAR API ではなく、NXP 固有のものです。 よろしくお願いいたします。 ダニエル
View full article
i.MX RT1060 API の LPSPI_MasterTransferEDMA は 24 ビットのフレーム サイズをサポートしていませんか? LPSPI を使用して DMA 経由で 24 ビット フレームを書き込もうとしています。アプリケーションは重要ではありませんが、私の例では、メモリから外部 DAC にデータを送信することです。私はこれを DMA で動作させたいと思っています。なぜなら、最終的には TCD のリンク リストを PIT と一緒に使用して、CPU オーバーヘッドなしで DAC を継続的に更新するためです。これは外部 ADC および DAC を使用する一般的なアプリケーションです。16 ビット DAC/ADC には 24 ビットのフレーム要件があることも一般的です (上位バイトはコマンド用、下位バイトはデータ用)。uint8_t データを使用して転送を 3 バイトに分割するのではなく、uint32_t データを使用して 24 ビットのフレーム サイズで送信し、先頭バイトを無視します。 さて、LPSPI と DMA の構成に移ります。 1.imxRT1060 SDK の API LPSPI_MasterInit 関数の lpspi_master_config_t 構造を使用すると、 bitsPerFrame を 24 に設定できます。DMA を使用せずに標準転送を行う場合、これは問題ではありません。 2. ただし、API の LPSPI_MasterTransferEDMA 関数で DMA を使用する場合、24 ビット フレーム サイズのケースは eDMA ハードウェアによって処理またはサポートされませんか?LPSPI_MasterTransferEDMALite では、DMA 転送幅は edma_transfer_config_t 構造体で設定されます。具体的には、srcTransferSize フィールドと destTransferSize フィールドは、SPI フレーム サイズ (bytesPerFrame) から導出される bytesEachRead 値と bytesLastWrite 値に基づいて構成されます。 /* LPSPI_MasterTransferPrepareEDMALite */ uint32_t bytesPerFrame = ((base->TCR & LPSPI_TCR_FRAMESZ_MASK) >> LPSPI_TCR_FRAMESZ_SHIFT) / 8U + 1U; if (bytesPerFrame <= 4U) { handle->bytesEachWrite = (uint8_t)bytesPerFrame; // for 24bit frames = 3 handle->bytesEachRead = (uint8_t)bytesPerFrame; // .... handle->bytesLastRead = (uint8_t)bytesPerFrame; // .... } /* now back in LPSPI_MasterTransferEDMALite */ switch (handle->bytesEachRead) //bytes each transfer { case (1U): transferConfigRx.srcTransferSize = kEDMA_TransferSize1Bytes; transferConfigRx.minorLoopBytes = 1; if (handle->isByteSwap) { addrOffset = 3; } break; case (2U): transferConfigRx.srcTransferSize = kEDMA_TransferSize2Bytes; transferConfigRx.minorLoopBytes = 2; if (handle->isByteSwap) { addrOffset = 2; } break; case (4U): transferConfigRx.srcTransferSize = kEDMA_TransferSize4Bytes; transferConfigRx.minorLoopBytes = 4; break; default: transferConfigRx.srcTransferSize = kEDMA_TransferSize1Bytes; transferConfigRx.minorLoopBytes = 1; assert(false); break; } デフォルトのケースが発生し、3 バイトのケースは処理されないためエラーが発生します。EDMAハードウェアは3バイト転送をサポートしていますか?基本的に、uint32_tのデータとフレームを3バイトとして扱い、最上位バイトを無視してDMA転送を行いたいのですが、可能ですか? Re: i.MX RT1060 API's LPSPI_MasterTransferEDMA does not support 24bit framesize? こんにちは@azoneさん、 弊社の製品にご興味をお持ちいただき、またコミュニティをご利用いただき誠にありがとうございます。 次のリンクを確認してください。eDMA は 1、2、4、8、16、32、64 バイトの転送サイズをサポートしており、24 ビット (3 バイト) の転送サイズはサポートしていないことが説明されています。 MCUXpresso SDK APIリファレンスマニュアル: EDMA: 拡張ダイレクトメモリアクセス (eDMA) コントローラドライバ よろしくお願いいたします。 メイリュー Re: i.MX RT1060 API's LPSPI_MasterTransferEDMA does not support 24bit framesize? わかりました。確認してくれてありがとう。これで、動作させるために時間を無駄にすることがなくなりました。したがって、唯一の方法は、すべてをuint8_tデータとしてkLPSPI_MasterPcsContinuousで3バイトとして送信することです。これは他のすべてのペリフェラルでも同じ方法で実行しているので問題ありませんが、16ビットDAC実装の場合は不要なオーバーヘッドが発生します。ありがとうございます。
View full article
KW47(オートモーティブ)またはMCX W72(IoT/インダストリアル)を使用してPCBを初めて正しく構築するための最適な方法 /*** 2025年4月の最新免責事項: - KW47、MCX W72は、KW45とMCX W71からの直接的なデリバティブです。今後の更新に備えて、このページをブックマークしてください。 - この記事は、KW45、K32W148、MCX W71に基づく早期イネーブルメントを目的としていますが、2025年にKW47とMCX W72の範囲を広げた新しいリリースが予定されているため、更新は保留になっています。 --データシート、リファレンスマニュアル、ハードウェア製造ファイルを含め、ほとんどの設計ドキュメントはリクエストに応じて共有--***/ KW47またはMCX W72を使用してPCBを構築するための重要なリンクと、無線性能、低消費電力、無線認証(CE/FCC/IC)に関することすべてについて、把握しておいてください。 KW47製品のNXPウェブページ:https://www.nxp.com/products/KW47 MCXW72製品のNXPウェブページ:https://www.nxp.com/products/processors-and-microcontrollers/arm-microcontrollers/general-purpose-mcus/mcx-arm-cortex-m/mcx-w-series-microcontrollers/mcx-w72x-secure-and-ultra-low-power-mcus-for-matter-thread-zigbee-and-bluetooth-le:MCX-W72X KW-MCXW-EVKスタートガイドのNXPウェブページKW47/MCXW72のリリースは保留中 KW47-LOCスタートガイドのNXPウェブページKW47/MCXW72のリリースは保留中 MCXW72-LOCスタートガイドのNXPウェブページKW47/MCXW72のリリースは保留中 ハードウェア KW47 MCX W72 EVKボード:暫定版を添付 KW47 LOCチャネルサウンディングボード - 図:暫定版を添付 KW47-MCXW72-EVKハードウェアガイドライン:リクエストに応じて提供 HVQFN48パッケージ仕様:SOT619-17(D) SOT619-17(DD)のリリースは保留中   KW47-MCXW72-EVKユーザーマニュアルKW47/MCXW72のリリースは保留中 最小BoM(添付ファイル) > > KW45 - MCX W71 - KW47 - MCX W72 Minimum BoM Presentation Customers July25.pdf DCDC管理ガイド(AN13831):KW45/K32W148 - パワーマネジメントハードウェア(nxp.com)KW45はKW47に適用可能KW47/MCXW72はリリース待ち デザインインチェックリスト:本記事末尾の添付ファイルを参照 RFマッチング:Sパラメータ(添付ファイル)KW47/MCXW72のリリースは保留中 PCBでのコインセルアプリケーションの処理方法:  AN14664_Coincell_Hardware_recommendation_Rev1.0.pdf  情報: 「RFの動作はPCBレイアウトおよび製造に依存するため、最終製品化されたプラットフォームのRFで期待どおりの認定を確保するには、PCBプロトタイプ(NXPの推奨事項に基づく)を微調整する必要があります。」 EVKで、RF試験のM10モジュールを接続するには、µFLからSMAへのケーブルが推奨されます。 CSH-SGFB-200-UFFR TE Connectivity / Linx Technologies | Mouser France KW47-LOCまたはMCXW72-LOCにSMAを接続するには、専用コネクタTE Connectivity Ltd CONSMA021.062-Gを取り付けるする必要があります。 KW47ハードウェア移植によるKW45: KW47はKW45とのピン間互換性があります。ただし、ハードウェアの観点からは、一部のコンポーネントの値(RFマッチングコンポーネントの値など)を調整する必要があります。 KW4x周辺の他のコンポーネントについては、現在のシリコン検証に基づいた変更は想定されていません。 また、KW47のピンが新機能に対応するよう、新しい多重化が導入されていることにもご注意ください。たとえば、KW47では2番目のFlex CANが対応します。添付ファイルを参照してください 無線 RFレポート: Bluetooth LEアプリケーションK32W148 foとr 802.15.4アプリケーションのKW45/K32W148 RFシステム評価レポート...KW47/MCXW72のリリースは保留中 - オンデマンドで提供     無線共存: Kinetisワイヤレスファミリ製品Bluetooth Low EnergyとWi-Fiアプリケーション(nxp.com)の共存 KW47/MCXW72のリリースは保留中  距離性能:添付ファイルを参照KW47/MCXW72のリリースは保留中 アンテナ: NXP EVKボード内2.4GHz通信デザイン/アプリケーション用小型平面アンテナ チャンネルサウンディングアプリケーション用アンテナ BLEコネクティビティテスト用バイナリファイル:オンデマンドでSDKにて提供 リターンロス(S11)測定: RFマッチング(S11)のリターンロスを測定する方法RFレポート(AN13728)の一部 ロードプル:KW47/MCXW72のリリースは保留中 RF試験用ソフトウェアツール: IoTツールボックス(モバイルアプリケーション) コネクティビティ製品のコネクティビティテストツール (IoT ツールボックスの一部) DTM: HCI_bbをKinetisファミリ製品で使用する方法 - NXPコミュニティ https://community.nxp.com/t5/Wireless-Connectivity-Knowledge/BLE-HCI-Application-to-set-transmitter-... クリスタル 記事 : KW45/K32W1 32MHz & 32kHz Oscilllation margins - NXP CommunityKW47/MCXW72のリリースは保留中 推奨クリスタル付属 低消費電力 Bluetooth LE電力プロファイル推定ツール KW45_WK47_BLE_power_profile_calculator_v1.32.xlsm 低消費電力              AN14554 Kinetis KW47 & MCX W72 Bluetooth LE Power profile analysis release.pdf 802.15.4 Matter & Zigbee 電力プロファイル推定ツール               MCX W7x 802.15.4 Matter ICD SIT LIT & ZED Power profile v0.2.xlsx                 AN MCX W72 802.15.4 Matter and Zigbee Power profile analysis - proposal.pdf CCC チャネルサウンディング BLE パワープロファイル推定ツール               KW47 Digital Key CCC CS Power Estimator tool v0.8.xlsx               AN14628_AN14628_KW47_CCC_CS_Power_Profile_estimator tool_release.pdf Bluetooth ® チャネルサウンディング技術概要 認証 RF事前認証完了 - 完全認証についてははKW47/MCXW72のリリースは保留中  KW47とMCXW72はBluetooth 6.0チャネルサウンディング認定です。
View full article
S32K310 CAN Interrupt Receive S32K310のCANドライバモジュールをCANとCANIFを使って設定しました。CAN_Write()関数を呼び出してメッセージを送信できることは分かっていますが、以下の点について疑問があります。 1. メッセージを受信するにはどうすればよいですか?CanIf_RxIndication()関数を使ってメッセージを受信できるという記事をいくつか見ました。しかし、この関数のロジックは静的コード内で自動的に呼び出されるべきであり、外部メインプログラムで自分で記述するべきではありません。あるいは、この関数は割り込み発生後にデータを保存するので、どのようにデータを読み出せばいいのでしょうか?自分で作成したコールバック関数に置き換えることは可能でしょうか?(MCALルーチンの中に割り込みを使用するCANルーチンは見つかりませんでした。POLLINGモードのルーチンしかないようです。) 2. CANの受信はCANIFを経由する必要があるのに、送信はCANドライバーから直接送信できるのはなぜですか?何か仕様上の制限があるのでしょうか? 助けてくれてありがとう!! Re:S32K310 CAN割り込み受信 こんにちは@Embedded_novice、 1.FlexCANがドライバーとどのように連携するかについては、次のトレーニングをご覧ください:RTDおよび低レベルドライバーを使用したFLEXCAN。 割り込みモードでメッセージを受信するには、割り込みドライバー(IntCtrl)を設定し、FlexCANデータ情報構造体内でpolling = FALSEを選択し、「FlexCAN_Ip_Receive」を使用する必要があります。 この例は、コミュニティの投稿からガイダンスとして使用できます: TX/RX/EnhanceRXFIFO DMAテストの例S32K344 FlexCAN_Ip S32DS3.5 RTD400 - NXPコミュニティ。 2. CanIf_RxIndication APIのことを言っているのですね。前の回答で述べたように、代わりにFlexCAN_Ip_Receiveを使用できます。 Best regards, Julián
View full article
NXP mpc5744p MCUボードと開発キットMotorGDボードの3Dモデル こんにちは、みんな、 mpc5744p MCU や DevKit motorGD ボードなどの NXP 製品を含む新しいテストベンチを開発しています。 私はテストベンチ用にプロフェッショナルな 3D 画像を入手しようとしており、次の 3D ファイルが必要です: 1. mpc5744p MCUボード 2. DevKit モーターGDボード NXPのウェブサイトで検索したら、.zipファイルを見つけました。レイアウト用のファイルがありましたが、Easyeda を使用して開くことができませんでした。 1. LAY-29379_B.zip 2. LAY-29333_E.zip どなたか、これらを開くか、2 つのボードの 3D モデル ファイルを取得するのを手伝っていただけませんか。 ありがとう、良い一日をお過ごしください! Re: 3d Model of NXP mpc5744p MCU Board & Devkit MotorGD Board こんにちは、 NXPのウェブサイトで検索したら、.zipファイルを見つけました。レイアウト用のファイルがありましたが、Easyeda を使用して開くことができませんでした。 1. LAY-29379_B.zip 2. LAY-29333_E.zip これらは、Candace: allegro で設計されたレイアウト ファイルです。 レイアウトデザインから 3D モデルを抽出できるとは思っていません。 私は次の方法を見つけました: EAGLE + Fusion 360 .brdファイルを開くEAGLE のファイル。 Fusion 360 Sync 機能を使用します。 Fusion 360 → EAGLE デザインをインポートに移動します。 コンポーネントを含む完全な 3D PCB モデルを生成します。 機械統合のために STEP (.step) または IGES としてエクスポートします。 レイアウトデザインから 3D モデルを抽出できるとは思っていません。 500MB 程度の STEP ファイルをコミュニティ経由で共有することはできません。 よろしくお願いいたします。 ピーター Re: 3d Model of NXP mpc5744p MCU Board & Devkit MotorGD Board こんにちは、 petervlnaさん ご返信ありがとうございます。 提案された解決策をEagle + Fusion 360を使用して試しましたが、残念ながら、ファイルを開くことができないことを示すエラーが発生しました (下の画像を参照)。EasyEDA、Altium、KiCadなどの他の PCB ソフトウェアを使用する場合にも、同じ問題が発生します。 この時点で、 .STEP 形式の 2 つのボードの 3D モデルが緊急に必要です。これらのファイルを、 Google Drive、OneDrive、MEGAなどのクラウド ストレージ サービスやその他の便利なプラットフォーム経由で直接提供していただければ幸いです。 改めましてサポートありがとうございます。ご返信をお待ちしております。 よろしくお願いします、 アハメド Re: 3d Model of NXP mpc5744p MCU Board & Devkit MotorGD Board こんにちは、 はい、そのような場合は、NXP サポートにチケットを送信してください。 このようなファイルを取得するには、NXP との有効な NDA も締結する必要があります。 当社のサポート ポータルでは 2GB のファイルが許可されており、以前にも STEP ファイルを共有したことがあるため、STEP モデルをサポート ポータル経由で共有することが可能です。 内部ファイルを当社の公式システム外で共有することはできません。 よろしくお願いいたします。 ピーター Re: 3d Model of NXP mpc5744p MCU Board & Devkit MotorGD Board こんにちは、 petervlnaさん ご提案ありがとうございます。番号 (CASE: 00756530) でCASEを開設しました。 できるだけ早くファイルを入手したいと考えています。 どうもありがとう。 よろしくお願いします、 アハメド
View full article
LPC1768+SSP0+GPDMA 的一些问题 为什么在 SSP0 中打开 DMACR 并将一些数据传输到 BUF 之后,DMACR 被 RESET 为零,SSP0DR 一直在变化,但是 BUF 数据保持不变。在中断期间我还尝试重新打开 DMACR,但是 BUF 数据仍然没有变化。 以下是代码配置: #define SPI_RX_LEN 5386 extern U8 SPIRXBUF[SPI_RX_LEN]; void DMAInit_SPI_RX(U8 *destAddr, U32 len) { U32 part1 = (len> 4095) ?4095 : len; U32 part2 = (len> 4095) ?(len - 4095) : 0;// 拆分传输(单通道最大 4095字节)   lpc_sc->pconp |= (1<< 29); // 使能gpdma时钟 LPC_GPDMA->DMACConfig |= (1<< 0);//使能 GPDMA LPC_GPDMA->DMACIntTCClear |= 0x01; // 清除通道0传输完成标志 LPC_GPDMA->DMACIntErrClr |= 0x01; // 清除通道0错误标志   // 链表项1:传输part1字节 lli[0].srcAddr= (u32)&lpc_ssp0->dr; // 源:spi0 数据寄存器 lli[0].destAddr= (U32)destAddr; // 目的:缓冲区起始 lli[0].control= (part1& 0x0FFF) // 传输大小(字节数) | (0x00<< 12) // 源突发大小 | (0x00<< 15) // 目的发大小 | (0x00<< 18) //源数据宽度 | (0x00<< 21) //目的数据宽度 | (0x00<< 26) //源地址不变(外设寄存器)。 | (0x01<< 27) //目的地址自增 | (1u<< 31); // 使能中断   // 链表项2:传输part2字节(若需要) if (part2> 0) { lli[0].nextLLI = (U32)&lli[1]; // 指向链表项2 lli[1].srcAddr= (u32)&lpc_ssp0->dr; lli[1].destAddr= (U32)(destAddr + part1); // 缓冲区偏移 lli[1].control= (part2& 0x0FFF) // 传输大小(字节数) | (0x00<< 12) // 源突发大小 | (0x00<< 15) // 目的发大小 | (0x00<< 18) //源数据宽度 | (0x00<< 21) //目的数据宽度 | (0x00<< 26) //源地址不变(外设寄存器)。 | (0x01<< 27) //目的地址自增 | (1u<< 31); // 使能中断 lli[1].nextLLI= 0; // 结束链表 } else { lli[0].nextLLI = 0; }   // 配置 DMA 通道 0 LPC_GPDMACH0->DMACCConfig = 0; LPC_GPDMACH0->DMACCLLI = (U32)&lli[0]; // 链表起始地址 LPC_GPDMACH0->DMACCSrcAddr = lli[0].srcAddr;// 源地址(spi0 dr) LPC_GPDMACH0->DMACCDestAddr = lli[0].destAddr; // 目的地址 LPC_GPDMACH0->DMACCControl = lli[0].control; // 控制字 LPC_GPDMACH0->DMACCConfig = (0x01<< 15) //中断错误 | (0x01<< 14) //终端计数中断 | (0x02<< 11) // 传输类型:外设到内存 | (0x00<< 6) //目的外设:存储器 | (0x01<< 1) // 源外设:SSP0 RX(参考手册) | (0x01<< 0); // 通道使能   GPDMAEnabe(); }     void DMA_IRQHandler(void) { if(LPC_GPDMA->DMACIntTCStat& 0x01) // 通道0传输完成 { LPC_GPDMA->DMACIntTCClear = 0x01; // 清除标志 //SSPSlave_Init(); // run_lamp_glitter; // lpc_ssp0->dmacr |= (1<< 0); // LPC_GPDMACH0->DMACCConfig |= (0x01<< 0); LPC_GPDMA->DMACConfig |= (1<< 0);//使能 GPDMA 时间++; } if(LPC_GPDMA->DMACIntErrStat& 0x01) // 通道0错误 { LPC_GPDMA->DMACIntErrClr = 0x01; // 清除标志 } } void SSPSlave_Init(void) { lpc_sc->pconp |= (1<< 21); /* 打开 ssp 电源 */ /***************************************************************** * 初始化 SSP 的通讯方式,设置数据长度为 8bit,帧格式为 SPI,SCK 为低有效、 * 数据在sck 的第二个时钟沿采样,设置位速率。 ******************************************************************/ LPC_SSP0->CR0 = (0x00)<< 😎 | /* 设置spi位速率*/ (0x01<< 7) | /* CPHA 时钟输出相位 */ (0x00<< 6) | /* CPOL 时钟输出极性 */ (0x00<< 4) | /* FRF 帧格式 00=SPI,01=SSI, */ /* 10=Microwire,11=保留 */ (0x07<< 0); /* DSS 数据长度,0000-0010=保留 */ /* 0011=4位,0111=8位,1111=16位*/ lpc_ssp0->cpsr = 2; /* 时钟分频寄存器*/   LPC_SSP0->CR1 = (0x00<< 3) | /* SOD 从机输出禁能,0=允许 */ (0x01<< 2) | /* MS 主从选择,1=从机 */ (0x01<< 1) | /* SSE SSP使能,1=使能 */ (0x00<< 0); /* LBM 回写模式 */   sysTimeDlay(5); lpc_ssp0->dmacr |= (1<< 0);   } LPC17xx Re: LPC1768+SSP0+GPDMA some problem 你好@Lee_Lee 我认为 DMA 正在 "读取空的 SSP FIFO",但由于访问宽度不正确,数据没有正确写入内存。 您目前的配置是 (0x00<< 18)// 源数据宽度(0x00<< 21)// 目的数据宽度 但在 LPC 中: SSP 的 DR 寄存器是一个 16 位寄存器 即使使用 8 位 SPI 模式,对 SSP0->DR 的 DMA 访问仍必须是 16 位访问。 DMA 实际上没有将数据正确写入内存 结果是 BUF 保持不变。 因此,我认为您可以尝试将源代码和 des 宽度改为 16。 BR 哈利
View full article
FlexGUI-PF8X PF8200 的编程问题 亲爱的; 当我使用 FlexGUI-PF8X 离线工具为 PF8200 的固件 (SC33PF8200KKES) 编程时,报告了以下问题: 脚本解析失败(格式错误)。具体信息见图 1。 我可以正常使用 PF8100 进行刻录和写入。 谢谢! 致以最崇高的敬意 Re: Programming issue with FlexGUI-PF8X PF8200 我没测试OTP 的script我测试了TBB script是可以运行的,在GUI 选择TBB 以后 我用的是10.0.0的GUI 版本 Re: Programming issue with FlexGUI-PF8X PF8200 Dear;          好的,我按照最新的GUI后测试一下。谢谢!         Best Regards! Re: Programming issue with FlexGUI-PF8X PF8200 TBB 的那个脚本能运行吗? 不行的话现在最新的GUI! GUI PMIC软件|汽车|恩智浦半导体 Re: Programming issue with FlexGUI-PF8X PF8200 Dear;         固件见附件。谢谢!         Best Regards! Re: Programming issue with FlexGUI-PF8X PF8200 能发我看看是哪个script吗? Re: Programming issue with FlexGUI-PF8X PF8200 Dear;         该次烧写的固件是直接NXP官网下载的,谢谢!       Best Regards! Re: Programming issue with FlexGUI-PF8X PF8200 不会,我也是WIN11 Re: Programming issue with FlexGUI-PF8X PF8200 看这个附件的文档里面有更新的FW,从第12页开始看4 Installing and configuring software and tools 。 Re: Programming issue with FlexGUI-PF8X PF8200 Dear;          我现在使用的是windows 11操作系统,我看这个软件支持的操作系统是windows 10或windows 7,这个是否会影响GUI的正常工作?谢谢!           Best Regards! Re: Programming issue with FlexGUI-PF8X PF8200 Dear;          谢谢您的支持,已经搞定了,谢谢!          Best Regards!
View full article
Zephyr:在 Zephyr 中从 MCU 引导 DSP 你好,我目前正在开发一个使用 RT595 和 Zephyr 实时操作系统的项目,我想知道如何从 MCU 启动 DSP。根据官方文档 (IMXRT595-EVK-UG) 第 4.7 节,通过在 IDE 中设置 dsp_image_copy_to_ram=1,可以实现 " 程序一次,ARM 内核会自动唤醒 DSP "。现在该项目已完全过渡到Zephyr版本系统,我想知道用上市DSP应用程序的具体步骤以及应如何对其进行配置。感谢您的帮助。 评估板 Re: Zephyr:Booting DSP from MCU in Zephyr @jingqi 一般步骤: 要在 Zephyr 项目中从 MCU 上市 DSP,你应该首先使用 Xtensa Xplorer 版本 DSP 二进制文件,然后通过 CMake 将该二进制文件集成到 Zephyr 版本中,最后从应用程序中调用 BOARD_DSP_Init() 函数来处理启动顺序。 在完成迁移之前,您需要使用官方文档(MCUXpresso + EVK)完成功能,并且需要具备开发 Zephry 的能力。 参考资料: 1。版本 DSP 固件: 适用于 EVK- MIMXRT595 的 Xplorer 入门 通常,你会得到两个输出文件,例如 dsp_text_release.bin 和 dsp_data_release.bin。这些是 Cortex-M33 内核将加载到 DSP RAM 中的固件映像 2. 将 DSP 二进制文件集成到 Zephyr 版本中: Zephyr 编译系统要求您在 Cortex-M33 应用程序中明确包含这些二进制文件。为此,您可以修改 Zephyr 应用程序的 CMakeLists.txt 文件。你可能需要使用 Zephyr 的版本系统功能(例如 zephyr_file_copy 或将它们定义为二进制 blob)将文件放置在最终固件映像中的已知位置。 3. 适用于 i.MX RT595 的 MCUXpresso SDK 提供了用于管理 DSP 生命周期的驱动程序 ( fsl_dsp.c/.h)。 适用于恩智浦设备的Zephyr包含此软件开发工具包,因此您可以直接从Zephyr应用程序代码中调用这些函数。 详细信息可以从 EVK 版 Xplorer 入门的 “3.3 DSP 内核初始化” 中找 到-MIMXRT595
View full article
IMX8MQ 摄像机 mipi 问题 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 您好, 我正在 imx8mq-EVK 板上开发摄像头 mipi 驱动程序,我的摄像机输出数据是 RAW-10 位。 当我参考 ov5640 驱动程序代码时,我遇到了以下问题。 1. 在 “驱动程序/媒体/平台//mxc/捕获/mx6s_捕获.c” 中,有一些寄存器如下所示,但我无法在参考手册中找到有关以下寄存器的任何线索。(来自查看代码,我知道这些寄存器的基地址是0x0x30A90000) #define CSI_CSICR1 0x0 #define CSI_CSICR2 0x4 #define CSI_CSICR3 0x8 #define CSI_STATFIFO 0xC #define CSI_CSIRXFIFO 0x10 #define CSI_CSIRXCNT 0x14 #define CSI_CSISR 0x18 #define CSI_CSIDBG 0x1C #define CSI_CSIDMASA_STATFIFO 0x20 #define CSI_CSIDMATS_STATFIFO 0x24 #defineCSI_CSIDMASA_FB1 0x28 #define CSI_CSIDMASA_FB2 0x2C #define CSI_CSIFBUF_PARA 0x30 #define CSI_CSIIMAG_PARA 0x34 #define CSI_CSICR18 0x48 #define CSI_CSICR19 0x4c 2. 同样的问题,在参考手册中找不到有关以下寄存器(0x180~0x198)的任何介绍。(基地地址为 0x30A70000)。 in"driver/media/platform/imx8/mxc-mipi-csi2_yav.c" 、 printk("MIPI CSI2 HC IGNORE_VC 0x180 = 0x%x\n", readl(csi2dev->base_regs + 0x180)); printk("MIPI CSI2 HC VID_VC 0x184 = 0x%x\n", readl(csi2dev->base_regs + 0x184)); printk("MIPI CSI2 HC FIFO_SEND_LEVEL 0x188 = 0x%x\n", readl(csi2dev->base_regs + 0x188)); printk("MIPI CSI2 HC VID_VSYNC 0x18C = 0x%x\n", r eadl(csi2dev->base_regs + 0x18C)); printk("MIPI CSI2 HC VID_SYNC_FP 0x190 = 0x%x\n", readl(csi2dev->base_regs + 0x190)); printk("MIPI CSI2 HC VID_HSYNC 0x194 = 0x%x\n", readl(csi2dev->base_regs + 0x194)); printk("MIPI CSI2 HC VID_HSYNC_BP 0x198 = 0x%x\n", readl(csi2dev-base_regs + 0x198)); 3. 在参考手册中,提到了一些 " 数据类型 ",如下所示, " 13.6.3.6.4 RAW10(数据类型 = 0x2B)" 如何将值 0x2B 设置为数据类型? 我的参考手册版本是: 名称:i.MX 8M 双/8M 四极管/8M 四核应用处理器参考手册 文件编号:IMX8MDQLQRM 修订版 0, 01/2018 i.MX 8M | i.MX 8M Mini | i.MX 8M Nano Re: IMX8MQ Camera mipi Question 我曾在多个 i.MX8MQ MIPI-CSI 启动器上看到过这种确切的行为--驱动程序通常看起来很好,但当显示/HDMI 端启动时,由于 CSI-2 通道映射、数据类型或时钟树中的细微问题而发生故障。 在 i.MX8MQ 上,CSI-2 接收器的要求极为严格: 正确的数据类型匹配(RAW10 vs RAW8 vs YUV422) 正确的车道极性 + 映射 DISP/HDMI PLL 切换后,传感器时钟保持稳定 正确的 pinctrl(许多板在 GPIO 模式下意外离开了数据通道) 如果出现上述任何一种不匹配情况,CSIS 块会保持 "流 "状态,但会静默地丢弃所有数据包--看起来与您描述的情况非常相似。 作为参考,以下是我们开发的一些上游 MIPI/CSI 摄像头驱动程序,它们显示了在 i.MX8 级 SoC 上通常可以解决这个问题的确切的 DT 模式和 CSI 设置顺序: Linux-next https://web.git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=fa9e6df636fb8b3b27570f38c53640c9e2b02f79中的 MIPI 传感器驱动程序示例 Zephyr 中的另一个传感器(用于比较 MIPI/时钟序列) https://github.com/zephyrproject-rtos/zephyr/commit/c784481ca039ccd606a192ee07bc83f6b0117e59 媒体管道更新示例(CSI 路由 + 格式协商) https://web.git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=9d382f6a9978916317b3fb4ef07b5fec684adde0 如果您正在设计完整的相机流水线(传感器 → MIPI → CSI-2 → ISP/显示屏),本深入探讨可能会对您有所帮助: https://siliconsignals.io/blog/v4l2-camera-stack-step-by-step-guide-for-custom-devices/ https://www.kernel.org/doc/html/v4.9/media/kapi/v4l2-intro.html Re: IMX8MQ Camera mipi Question <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 你好 [email protected]、 您能详细说明需要做哪些更改才能解决这些问题吗? 对我来说,每个像素都缺少 4 位。我已经为我的问题启动了一个主题。请看一看。 https://community.nxp.com/message/1195672 提前感谢! 瓦西姆 Re: IMX8MQ Camera mipi Question <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 您好, 我也遇到了同样的问题。 有人在接收 10 位系统时解决了这个问题吗? 此致, 雅各 Re: IMX8MQ Camera mipi Question <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 你好 [email protected]、 您能分享一些关于如何解决该问题的信息吗?我问这个问题是因为我们也面临着类似的问题,如果能了解更多关于你们如何解决问题的信息就更好了。是平台方面的问题还是传感器方面的问题? 提前感谢! 锡瓦拉姆 Re: IMX8MQ Camera mipi Question <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 你好,伦卡、 感谢您的答复。 我已经解决了这个问题。 还有一个问题令我困惑 、 我一直认为 MIPI CSI 驱动程序每帧应该接收 1280000 字节(1280*800*10 位/8),但实际上是 1024000 字节(1280x800)。我不知道原因。 根据 RM (imx6) 如下所示,对于 RAW10,数据大小应为 (n * 像素 * 5/4) 字节。 Re: IMX8MQ Camera mipi Question <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 嗨,杨、 我不建议你在设备树中更改 MIPI PHY 时钟。你写道,你的摄像机是 1280x800,60fps,灰色 10 位。双通道,我想电路板支持包。不直接支持这个配置。你还写道,一段时间后图像就错位了。根据我的经验,如果没有为给定的分辨率正确设置摄像机寄存器,如果相机时钟不稳定,就会发生这种情况。尽管如此,你不需要使用 iMX6 文档/源代码来获得 iMX8 系列微控制器。你能不能提供 0x3800 ~ 0x3815 和 0x3035 ~ 0x3037 范围内的寄存器设置? 我在将 720p 分辨率设置为 60fps 时也遇到了问题。我将尝试联系相机所有者,寻求有关此类配置的帮助。 亲切的问候, Lenka Re: IMX8MQ Camera mipi Question <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 你好,伦卡、 感谢您的帮助。 目前,我能收到一张完整的图像,但图像并不稳定。1 分钟后,图像将错位。相机传感器供应商建议修改 MIPI-CSI 像素时钟,如您所知,RM 中没有关于 MIPI CSI 的有用信息。我在恩智浦网站上找到了一些文件,如下所示,但我仍然很困惑,因为这些文件是针对 iMX6 的。 https://www.nxp.com/files-static/32bit/doc/app_note/AN5305.pdf 根据该文件、 我尝试修改 "IMX8MQ_CLK_CSI1_PHY_REF_DIV "为<178560000> ,但在 linux 系统文件中验证后发现并不匹配。 我的问题是 、 1.IMX8MQ_CLK_CSI1_PHY_REF_DIV " 是 MIPI 时钟,对吗? 2 'IMX8MQ_CLK_CSI1_CORE_DIV' 和'IMX8MQ_CLK_CSI1_ESC_DIV' , 用途是什么? 3.如何修改 'IMX8MQ_CLK_CSI1_PHY_REF_DIV' 的值,使其完全符合我的要求? 我的相机是 1280x800、60fps、灰色 10 位。双车道 我还评论了 "基地址切换 "功能,否则内核将打印"基地址切换更改错误" 。我不确定这种行为是否必要。 谢谢。 杨青 Re: IMX8MQ Camera mipi Question <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 嗨,杨、 1.这些寄存器与 iMX8 上实现的任何寄存器都不匹配。 2.iMX8 尚不支持这些寄存器。 3.数据类型禁用寄存器(偏移量0x38)用于输入数据类型重设,但可以忽略。如果将摄像头和 ISI 寄存器正确设置为目标数据类型,那么也应该可以正常工作。 如果您还有其他问题,请随时提出。 祝你好运 伦卡 Re: IMX8MQ Camera mipi Question <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 嗨,杨 关于 1. iMX8M MIPI-CSI 4 通道配置 对于其他问题(未在参考手册中描述),可能建议 向 NXP 当地营销办事处申请。注意,将有新的参考手册修订版 提供最新信息。 问候 igor ----------------------------------------------------------------------------------------------------------------------- 注:如果本帖回答了您的问题,请点击 "正确答案 "按钮。Thank you! -----------------------------------------------------------------------------------------------------------------------
View full article
Trace32デバッグを使用したS32K388 拝啓、 Trace32 を使用して S32K388 をデバッグしたいと思います。Trace32 プラグインをインストールするには、以下のリンクにアクセスしました。 https://community.nxp.com/t5/S32-Design-Studio-Knowledge-Base/HOWTO-Install-Lauterbach-TRACE32-debugger-plug-in-into-S32/ta-p/1112237 その後、Trace32 デバッグ構成を使用して、シングルコア プロジェクトとマルチコア プロジェクトの両方の新しいプロジェクトを作成しました。 しかし、Trace32 を使用してデバッグしようとすると、常にエラー メッセージが表示されます。 また、複数のコアをデバッグする場合、 M7_1_0.elfとM7_2_0.elfをプログラムできないという問題が発生します。 これをテストするのを手伝っていただけますか? ありがとうございます。 BR、 ショーン・ウー Re: S32K388 using Trace32 debug こんにちは、 S32DS から直接どのように動作するのかはわかりません。動作させることができなかったからです。 しかし、私はS32DSを使ってTrace32 powerviewを起動したことがありませんでした。 T32 フォルダーから PowerView を起動し、メニューからプログラミング スクリプトを実行するだけです。 ここにはプログラミング スクリプトがあります。Powerview で実行し、デバイスをプログラムするだけです。 その間に、S32DS 経由で CAN を使って起動して実行できるかどうかを確認します。 よろしくお願いいたします。 ピーター Re: S32K388 using Trace32 debug こんにちは、 petervlnaさん s32k38x.cmmとs32k38x.bin(おそらくあなたのフォルダ内のこの名前を私に知らせてもらえますか?このファイルはありません。 ありがとうございます。 BR、 ショーン・ウー Re: S32K388 using Trace32 debug こんにちは、 プライベートメッセージで送信しました。 よろしくお願いいたします。 ピーター Re: S32K388 using Trace32 debug 親愛なるペテヴルナ様 ご協力いただきありがとうございます。 BR、 ショーン・ウー Re: S32K388 using Trace32 debug 親愛なるpetervlna様 私はあなたの s32k38x.cmm を使用していますが、うまく動作します。ご協力いただきありがとうございます。 BR、 ショーン・ウー
View full article
MCXW716Cの高温動作 こんにちは、 私は #mcxw71 を使用していますが、データシートによると動作温度範囲は–40 °C ~ +125 °Cです。無線と CAN PHY の両方を含むテストを実行しましたが、約 85 °C を超えると安定した動作を実現できません。マイクロコントローラは保護モードに入るか、またはその機能を制限しているようです。 また、SDKs API には、内部温度を NBU に送信する関数があることに気付きました。 私の質問は、NBU は温度調節を実行したり、適切なシステム動作を維持するために温度情報を必要とするのかということです。 より一般的には、MCXW716C が最大定格温度まで適切に動作することを保証するために必要な特定の手順 (構成、キャリブレーション、必要な API 呼び出しなど) はありますか? ご協力をよろしくお願いいたします。 開発ボード Re: MCXW716C operation at high temperature こんにちは。お元気でお過ごしでしょうか。 FRDM ボードとカスタム ボードのどちらを使用していますか?どのようなテストを実行し、どのような動作を観察しましたか? どの SDKs を参照しているのかも教えていただけますか?特定の例またはアプリケーションに取り組んでいますか? よろしくお願いします、 アナ・ソフィア。 Re: MCXW716C operation at high temperature こんにちは@sofiauruetaさん、 参照番号 #MCXW716CMFTAT のカスタム ボードを使用しています。私のテストと設定について説明します ワイヤレス アプリケーション用に、MCXW716CMFTAT を使用して PCB を設計しました。私はソフトウェアを作成し、「connectivity_test」というサンプル プログラムのロジックを使用して無線プロトコルを使用しました。 私は SDK SDK_2.X_MCXW716CxxxA バージョン 25.09.00 を使用しています。 2 つのボードが連携して動作しています。すべてのモジュールを実装しました。テストではヒートガンを使用し、80℃の温度を加えました。15 秒後、マイクロコントローラは動作を停止しました。ブロックされたようで、GPIO がロックされ、通信バスがデータの送信を停止しましたが、30 秒後、温度が下がると、マイクロコントローラは通常の動作に戻りました。 SO、私は、問題を理解するために温度を監視する機能について調査しました。SDK の fwk_platform_sensors ファイルから関数 PLATFORM_StartTemperatureMonitor() を使用しました。 私の目標は、マイクロコントローラがブロックされる正確な温度を知ることでしたが、驚いたことに、これで問題は解決しました。今では +120 °C でテストを実行でき、マイクロコントローラは完璧に動作します。問題がソフトウェア関連であるかどうかを確認するためにこの機能を削除してみましたが、確かに問題は再発しました。 CAN説明していただけますか?この機能を使用して温度を読み取ると、データがさまざまなコアに配布され、特定のパラメータが調整されますか? Re: MCXW716C operation at high temperature こんにちは、 この動作が FRDM ボードを使用した場合にも発生するかどうかを確認できますか?何も変更せずに connectivity_test の例を実行すると問題が発生しますか? また、PLATFORM_StartTemperatureMonitor 関数を呼び出した後は変化しますか? よろしくお願いいたします アナ・ソフィア。
View full article
AHBによるフラッシュ書き込みアクセス こんにちは。mimxrt1050 コントローラと NOR フラッシュ QSPI でフラッシュ書き込みアクセスがサポートされているかどうかを知りたいです。これは HyperFlash でのみ利用可能であると読みましたが、確認したいと思います。 よろしくお願いします。 ブートROM|ブート|フラッシュ コアとメモリ Re: Flash write access with AHB こんにちは、Sam。現在、IP 操作は動作していますが、NOR フラッシュ QSPI は AHB を使用したフラッシュ書き込みをサポートできますか? Re: Flash write access with AHB @vanessa_dis MIMXRT1050 の FlexSPI コントローラは、QSPI NOR フラッシュの読み取り、書き込み、消去操作を完全にサポートしています。EVK ボードで使用するには、デフォルトの HyperFlash チップからスイッチするためのハードウェアの変更のみが必要です。 https://www.nxp.com/docs/en/application-note/AN12108.pdfQSPIフラッシュからのブートを有効にする方法 Re: Flash write access with AHB こんにちは、 私はAHBアドバンストハイパフォーマンスバスを恐れています Re: Flash write access with AHB @vanessa_dis あなたの言いたいことは分かりました。 はい、i.MX RT1050 および RT1060 シリーズの FlexSPI コントローラは、AHB バスを使用した外部 QSPI NOR フラッシュへの書き込みアクセスを完全にサポートしています。この機能は HyperFlash に限定されません。 FlexSPIコントローラは、シリアルNORフラッシュ(QSPIをカバー)、HyperFlash、HyperRAMなど、さまざまな外部メモリタイプをサポートする柔軟なアーキテクチャで設計されています。 。コントローラは、サポートされているこれらのデバイスに対して、AHBバスを介してメモリマップされた読み取りおよび書き込みアクセスを提供します。 。 https://www.nxp.com/docs/en/nxp/application-notes/AN12239.pdf Re: Flash write access with AHB HAB(ハイアシュアランスブーツ)の詳細をお問い合わせいただきましたか? https://spsdk.readthedocs.io/en/stable/images/hab.html 安全なアクセスで以下の AN を参照してください (申し訳ありませんが、直接送信することはできません。アクセスを申請するか、地元の営業/FAE にお問い合わせください)。 AN12681 i.MX RT10xxでHABセキュアブートを使用する方法 [AN979510]
View full article
MCUXpresso IDEとSDKのインストール (日本語ブログ) 0. この記事は? NXPのマイコン用ソフトウェア開発環境MCUXpressoとそのSDKは無料で提供されていて,誰でも簡単にインストール可能!すぐにサンプル・コードを動かしてみることができます.😃 このブログ記事は,MCUXpresso IDEとSDKのインストール方法をステップ・バイ・ステップで紹介します. ※ この記事では使用する基板の例としてFRDM-MCXA153を使います インストール手順の解説動画を公開しました.視聴はこちらのリンクから.   目次 0. この記事は? 1. MCUXpresso IDEって? 2. nxp.comへのログイン 3. MCUXpresso IDEのインストール 4. SDKのインストール 4.1 MCUXpresso IDEの起動とワークスペース 4.2 SDKのインストール手順 4.3 準備完了! 5. おまけ:このまま基板の動作を試してみるには 参考資料 1. MCUXpresso IDEって? NXPが提供している汎用マイコンの各種サンプル・コードは,NXPが無料で提供するソフトウェア開発環境:MCUXpressoで動作するように作られています. このMCUXpressoには「MCUXpresso IDE (以下IDE)」と「MCUXpresso VisualStudio Code (以下VSC)」の2種類があり,IDEはすべての機能をひとつにまとめたアプリケーション.VSCはMicrosoft社が提供するVisualStudio Codeのプラグインとして提供されています. このブログではこの2種類のうち,IDEとSDKのインストールの方法を紹介します. IDEはWindows,macOS,Linuxで動作し,いずれのOSでも同じユーザ・インターフェースでの操作が可能です. MCUXpressoで動作するサンプル・コードを試してみるには,まずその準備としてIDEをインストールし,さらに動作させるマイコン/基板(ターゲット)のSDKをインストールしておかなければなりません. IDEはIntegrated Development Environmentの略で,統合開発環境アプリケーションです.このアプリケーションにはソースコードを編集するエディタをはじめ,コンパイラやリンカといったツールチェーン,コードをプロジェクト単位にまとめて,さまざまな設定と一緒に管理してくれるソフトウェアなどが含まれています. SDKはSoftware Development Kitの略で,マイコン・チップ毎に必要なドライバ・コード,設定情報が含まれています.SDKは作成しようとするマイコン・チップや基板(ターゲット)ごとにインストールしておかなければなりません. ではこれらのインストール方法をステップごとに解説しましょう. この記事はmacOSを用いた例となっていますが,WindowsやLinuxでもほぼ同じ操作でインストールできます. 2. nxp.comへのログイン これ以降の作業を行うには,あらかじめnxp.comにログインしておかなくてはなりません. もしまだ nxp.com のアカウントをお持ちでない場合には,先に登録を済ませたのちにログインしてください. MyNXPアカウントの登録方法はこちら 3. MCUXpresso IDEのインストール IDEのインストーラをMCUXpresso IDEのダウンロードサイトからダウンロードします.このダウンロードにはnxp.comでのユーザ登録が必要なので,もしまだであればあらかじめ済ませておきましょう. MCUXpresso IDEのダウンロードサイト行き「ダウンロード」ボタンを押す. ページがスクロールし,ダウンロードページへのリンク・ボタンが表示される.この「ダウンロード」ボタンを押す. MCUXpresso IDEのリンクをクリック. 利用規約が表示される.問題がなければ「I Agree (同意)」ボタンを押す. 自分が使うOSに合わせたインストーラを選んでリンクをクリック. ダウンロードするインストーラはLinuxならファイル名末尾の拡張子が「.deb.bin」のものを.Windowsなら「.exe」を. macOS用は拡張子が「.pkg」ですが2種類あります.M1以降のMシリーズ(Arm)プロセッサ搭載のMacなら「MacOSX - aarch64」,インテルCPU搭載のMacなら「MacOSX - 86-64」をダウンロードします. ※ バージョン番号が違う場合は読み替えてください ダウンロードが完了したら,インストーラを起動.表示される手順に従ってインストールを完了させます.   4. SDKのインストール   4.1 MCUXpresso IDEの起動とワークスペース MCUXpresso IDEのインストールが完了したら,MCUXpresso IDEを起動します. macOSでは,起動後にワークスペースをどこにするか聞いてきます(ガイド動画2:49付近).ワークスペースとは作業を行うためのフォルダです. デフォルトではユーザ・フォルダの中の,「Documents」の中に新しいフォルダが作られます. ※ 下図はデフォルト設定表示の例.この例ではdemoというユーザ名で作業しているので「/Users/demo/..」のような指定となっています.  ワークスペース(フォルダ)はユーザ・フォルダの中なら好きな場所にできます.下図の例ではユーザ・フォルダの中に「mcux」を作り,さらにその中で「project0」という名のワークスペースが作られます. 4.2 SDKのインストール手順 起動(起動とワークスペースを指定を完了)すると,下図のようなウェルカム表示が現れるのでこの中の「Download and Install SDKs」をクリック. しばらくサーバへの問い合わせを行ったあと,下図のような表示となります.このデフォルトの表示状態では右側と下側の表示が隠れてしまっているので,ウィンドウのサイズを拡げるか,表示を適宜スクロールします. ウィンドウサイズを拡げて表示域を確保 表示右上部の検索フィールドに,使用する基板やマイコンの型番を入力. ここでは例としてFRDM-MCXA153を使うので「A153」を入力した.その結果,FRDM-MCXA153基板が候補として表示された. FRDM-MCXA153基板を選択すると「Install」ボタンがハイライト表示されるので,これをクリック インストール中はダイアログボックスが表示される インストールが完了すると,ウェルカム表示に戻る. この表示をタブのクローズボタンで閉じる. IDEのデフォルト表示状態になる. 下部中央の表示枠(ペイン)のInstalled SDKタブにインストールされたSDKが表示される 4.3 準備完了! これで準備は整いました! 左上のペイン内の「Project Explorer」で,新しいプロジェクトを作成したり,SDKやGitHubまたはダウンロードしてきたプロジェクトをインポートして実行してみることが可能です. 5. おまけ:このまま基板の動作を試してみるには SDKにはサンプル・コードが含まれています. ここまでFRDM-MCXA153を例としてSDKをインストールしたので,そのままこの中にあるサンプル・コードを試してみることにします. まず基板とコンピュータをUSBケーブルで接続しておきます.FRDM-MCXA153では「MCU-Link」の表示のあるUSBコネクタを使います(写真参照). IDEの左上ペイン内,Project Explorerタブにある「Import SDK example(s)...」をクリック. インストールされているSDKが表示されるので「Next>」をクリック. サンプル・コードのリストが表示される. LEDチカチカ(=Lチカ)の例が「driver_examples」→「gpio」→「gpio_led_output」にあるので,下図のように階層をたどってチェックマークを入れ,「Finish」ボタンを押す. サンプル・コードがインポートされた. 青い虫のアイコン(Start debugging project)をクリック. ターゲットを選択するダイアログボックスが現れるので,表示された基板の情報を確認して「OK」ボタンを押す. コードがビルドされ,マイコンのフラッシュ・メモリに書き込まれます.そのあとコードが実行できる状態で一時停止. 黄色の四角とと緑の三角が組み合わさったアイコン(Resume)をクリックすると,基板上でコードが実行されます. このサンプル・コードはGPIO(General Purpose Input/Output = 汎用入出力)ピンにHIGHとLOWを交互に出すものでした.このピンが赤色のLEDに繋がれているので,LEDが点滅します. 参考資料 解説動画:さぁはじめよう!MCUXpresso IDE 関連情報:MCUXpresso for VSCとSDKのインストール (日本語ブログ) 変更履歴: 2025-05-07:初版 2025-06-26:「nxp.comへのログイン」の項を追加 2025-10-28:リンクの訂正 2025-11-10:リンクの更新 2025-11-14:インストール手順解説動画へのリンクを追加 / 参考資料の項を追加 2025-11-18:冒頭部の画像と使用基板の注釈追加.動画リンク画像変更 2026-03-17:「MCUXpresso IDEって?」の項の図を訂正 2026-04-05:「MCUXpresso IDEの起動とワークスペース」の項を追加 2026-07-24:章番号と目次を追加.「0. この記事は?」内,動画紹介リンクの強調  ========================= 本投稿の「Comment」欄にコメントをいただいても、現在返信に対応しておりません。 お手数をおかけしますが、お問い合わせの際には「NXPへの技術質問 - 問い合わせ方法 (日本語ブログ)」をご参照ください。 (既に弊社NXP代理店、もしくはNXPとお付き合いのある方は、直接担当者へご質問いただいてもかまいません。) NXPのマイコン:MCXシリーズのソフトウェア開発にはMCUXpresso IDEが無料で使えます. またさまざまなMCUXpresso IDEで使えるサンプル・コードが提供されています.ここではIDEとSDKのインストールの手順を解説します. これを読めば,誰でも簡単に開発環境&SDKをインストールできて,サンプル・コードまで動かすことができます! General Purpose Microcontrollers MCUXpresso MCUXpresso IDE MCX 日本語ブログ
View full article
S32 Design Studio v3.5 安装回滚问题 我正在尝试在公司设备(Windows 11)上安装 S32 Design Studio v3.5,一旦安装量达到 6%,它就会回滚并且安装失败。我遵循了以下社区帖子中提供的一些建议 S32 设计回滚安装错误 - NXP 社区 如"以管理员身份运行" 并启用完全控制"C:\Users\name\AppData\Local\Temp" 我附上日志供您参考,请帮助解决这个问题。 激活 | 安装 | 许可 | 安装程序下载 Re: S32 Design Studio v3.5 installation rollback issue "以管理员身份运行" 这个 exe 文件,似乎就能解决问题。如果没有帮助,我建议您咨询 IT 部门。
View full article