Multi Source Translation Content

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

Multi Source Translation Content

Discussions

Sort by:
【緊急】S32N55 セキュアデバッグCR - LCからOEM_CLOSEDへの移行後にデバイスのロック解除が失敗 こんにちは、 T32デモフォルダにある以下のスクリプトを使用して、S32N55のセキュアデバッグ用のチャレンジレスポンス値を生成しようとしています。 C:\T32_S32N55\demo\arm\hardware\s32n55\s32n55-evb\s32n55-evb-fss\s32n55-evb_sieve_sram_challenge_response_smartcard.cmm &UID0=FORMAT.HEX(16.,CHIP.SecureChallenge(0)) &UID1=FORMAT.HEX(16.,CHIP.SecureChallenge(1)) &CHAL0=FORMAT.HEX(8.,CHIP.SecureChallenge(2)&0xFFFFFFFF) 現在の状況: ADKP注射:正常に完了しました HSE_LC_OEM_CLOSEDへのライフサイクル移行:完了 しかし、デバイスのロック解除失敗は依然として発生します。 質問: S32N55 上で 256 ビットのチャレンジ/レスポンス (C/R) セキュア デバッグを行うには、ADKP の注入と LC の OEM_CLOSED への遷移以外に、追加の前提条件はありますか? S32K3では、チャレンジ値は以下に示すようにSDAPレジスタを介して直接取得できます。S32N55にも同様のレジスタベースのアプローチはありますか? &SDAP_BASE_ADDRESS=0x40000700 &SDAP_AUTHSTTS = &SDAP_BASE_ADDRESS &SDAP_AUTHCTL = &SDAP_BASE_ADDRESS+0x4 &SDAP_KEYCHAL_0 = &SDAP_BASE_ADDRESS+0x10 &SDAP_KEYCHAL_1 = &SDAP_BASE_ADDRESS+0x14 &SDAP_KEYCHAL_2 = &SDAP_BASE_ADDRESS+0x18 &SDAP_KEYCHAL_3 = &SDAP_BASE_ADDRESS+0x1C &SDAP_KEYCHAL_4 = &SDAP_BASE_ADDRESS+0x20 &SDAP_KEYCHAL_5 = &SDAP_BASE_ADDRESS+0x24 &SDAP_KEYCHAL_6 = &SDAP_BASE_ADDRESS+0x28 &SDAP_KEYCHAL_7 = &SDAP_BASE_ADDRESS+0x2C CHIP.SecureChallenge(2)はS32N55 256ビットチャレンジの正しいコマンドですか、それとも別のT32コマンドが必要ですか? プロジェクトの締め切りは6月19日ですので、迅速なご回答をいただけると大変助かります。 何かご助言いただければ大変ありがたいです。 Re: [URGENT] S32N55 Secure Debug CR - Device Unlock Fail after LC transition to OEM_CLOSED こんにちは、 @EddiePark さらに、デバッグポートのロックを解除するスクリプトを使用する前に、ADKPをVolcanoデータベースに登録する必要があることに注意してください。 詳細については、C:\T32\demo\tools\nxp\sdaf\user_guide.pdf を参照してください。 BR チェイン Re: [URGENT] S32N55 Secure Debug CR - Device Unlock Fail after LC transition to OEM_CLOSED こんにちは、 @EddiePark 投稿ありがとうございます。 1.ご状況は承知いたしました。ご質問内容を確認するため、担当チームに問い合わせました。回答には少々お時間をいただく場合がございますが、できる限りお手伝いさせていただきます。 貴社のテスト環境は、現在も以下の構成に基づいているのでしょうか? - プラットフォーム: S32N55 EVB - HSE FW バージョン: HSE_FW_S32N5_1_0_24_0 - GrayVIP バージョン: SW32N5_GRAYVIP_1_0_22_0 2. S32K3はHSE1を使用し、S32N55はHSE2を使用するため、プロセスは翻訳できない可能性があります。S32K3のチャレンジレスポンスの動作の詳細についてはわかりませんが、私の知る限り、HSE2はアーキテクチャが大きく異なります。 3. 以前の投稿でもお伝えしたように、S32N55はまだ試作段階にあるため、弊社のルールに従ってコミュニティ投稿へのサポートが限られることを申し訳なく思います。 4. お客様のご事情が緊急であることは承知しております。可能であれば、販売代理店またはNXPの担当者にご連絡いただき、試作シリコンに関するご質問について直接サポートを受ける方が効率的です。 BR チェイン
View full article
Ara240 Run Time Environment (rt-sdk-ara2) The Runtime SDK for AI/ML acceleration using the Ara240 NPU on NXP i.MX SoCs, provides the runtime environment for the Ara‑2 NPU.   Main Purpose of the Package    1. Provide the runtime environment for the Ara‑2 NPU This runtime sdk package installs everything needed for an i.MX system to communicate with and utilize the Ara240 NPU hardware, including: NPU drivers  Low‑level utilities (metrics, hardware bring‑up, flash tools) Proxy services that interface applications with the NPU Firmware loaders and NPU configuration files 2. Allow users to run AI/ML inference models on the NPU The Ara240 runtime environment includes tools for: Downloading pre‑compiled AI/ML models Running performance tests on the NPU Running classification, detection, pose, and segmentation models Inspecting HW IPS (inference/second) and real hardware performance   Scripts such as: fetch_models.sh ara_metrics.sh chip_info.sh program_flash.sh run_models_perf.sh 3. Automatically configure and optimize the i.MX system Installation does the following automatically: Expands system partition to handle large models (LLMs/VLMs) Sets up an 8GB SWAP for devices with limited RAM Prepares the runtime environment for AI workloads 4. Manage and update Ara‑2 firmware The package contains scripts to: Check the installed firmware version ( chip_info.sh ) Update firmware if needed ( program_flash.sh ) 5. Provide systemd service for automatic startup The SDK installs: A systemd service: rt‑sdk‑ara2.service   Walkthrough Video Below is the walkthrough video for this package (function() { var wrapper = document.getElementById('lia-vid-6396594498112w960h540r402'); var videoEl = wrapper ? wrapper.querySelector('video-js') : null; if (videoEl) { if (window.videojs) { window.videojs(videoEl).ready(function() { this.on('loadedmetadata', function() { this.el().querySelectorAll('.vjs-load-progress div[data-start]').forEach(function(bar) { bar.setAttribute('role', 'presentation'); bar.setAttribute('aria-hidden', 'true'); }); }); }); } }})(); (view in My Videos) ARA2-M2-16G-GT ARA240 Hands-On Training
View full article
Motor synchronous control demonstration using EtherCAT with i.MX RT1180 (Japanese blog) We will demonstrate an integrated EtherCAT and motor control system, and introduce the high-performance microcontroller i.MX RT1180 that makes this possible. This demonstration showcases the synchronization capabilities of EtherCAT and the high-precision motor control that accompanies it. Motor synchronous control demonstration using EtherCAT Explanation of how the demo works The board configuration consists of three boards: one EtherCAT master board and two EtherCAT slave boards, which together achieve EtherCAT synchronization. The slave boards are equipped with motor drivers, and each slave board controls two motors, for a total of four motors. The two motors at each end are controlled by slave board 1 and slave board 2 respectively, which adjust the left-right position of the two motors in the center. The two motors in the center are also controlled by slave board 1 and slave board 2 respectively, and are responsible for meshing the gears together . Initially, the two central motors rotate synchronously with their gears meshed together, and then gradually separate to disengage. After the deactivation, the two central motors rotate at different speeds and approach each other again. The moment the gears mesh again, the two motors rapidly synchronize, achieving precise gear engagement. At the same time, the motors on both sides adjust the position of the two central motors to prevent them from colliding. After that, the separation, approach, and interlocking process is repeated. Now, let me explain why such advanced control is possible with the RT1180 microcontroller. i.MX RT1180 behavior First, within the i.MX RT1180 microcontroller, each core has a specific role. The M33 core (300MHz) is responsible for EtherCAT communication, and the M7 core (800MHz) is responsible for motor control. The M33 core runs on an EtherCAT stack, achieving faster read/write speeds, lower costs, energy efficiency, and higher communication and response speeds compared to external devices. The M7 core performs motor calculations (PWM) within 1.4 μs. This completes the update + ADC sample + closed loop vector control. The dual-core cooperative operation of the M33 and M7 ensures superior point control performance and guarantees the operation of high-performance motors. Furthermore, the generous 1.5MB of RAM memory improves work efficiency and leaves room for further customization by the user.   summary Based on these points, we believe the i.MX RT1180 is an optimal choice for those considering servo applications. The source code for this demo is available on NXP's Application Code Hub. Please see the link below for details. How to set up the motion control reference design on iMX.RT1180 =========================​ 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.) We will demonstrate an integrated EtherCAT and motor control system, and introduce the high-performance microcontroller i.MX RT1180 that makes this possible. This demonstration showcases the synchronization capabilities of EtherCAT and the high-precision motor control that accompanies it. (Reading time: 10 minutes) i.MX RT Processors MCUXpresso Motor Control Technology Focus Japanese Blog
View full article
S32DS v3.6.6 S32K5 development package missing pins in package view for S32K566_437BGA In the S32DS Configuration Tool for the Pins, the S32K566_437BGA view is missing a number of pins in the package view. Is this my installation or a general issue?  Is there a plan to fix that? Re: S32DS v3.6.6 S32K5 development package missing pins in package view for S32K566_437BGA Hello @DirkEtzler , I hope this email finds you well. I am writing to you in regard to a product currently in your possession – an NPI (New Product Introduction) which has not been officially launched yet. Please be advised that customers who have been granted early access to such products have assigned their field engineers. Your designated field engineer should serve as your primary support channel for any issues, concerns or queries you may have about this product. Our online support team will be opening a wider range of support for this product once it has been officially released. Until then, they will not be equipped to provide the desired assistance. We appreciate your understanding in this matter and look forward to further enhance our partnership with you. Should you have any questions, please feel free to connect with your field engineer, or contact my team and me directly. Thank you for your understanding. Best regards, Pavel
View full article
MPX4115AP 端口 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> MPX4115 系列的数据表将MPX4115AP 列为"端口元件"。谁能帮我弄明白这意味着什么,端口的具体用途是什么。 Re: MPX4115AP port <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 非常感谢您! Re: MPX4115AP port <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 嗨,梅加、 零件号中的字母 “A” 表示 “绝对”,因此施加在 P1 上的压力是根据密封在 P2 侧的真空参考测量的: 我们的压差传感器可通过部件编号中的字母 "D "来识别(例如MPX5100DP)和两个输入端口: 请仔细阅读这篇文章,以便更好地了解恩智浦压力传感器的压力测量和集成水平。 顺祝商祺! 托马斯 Re: MPX4115AP port <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 嗨,托马斯、 非常感谢你的答复。再澄清一点。与软管/导管连接的接口是否意味着传感器可以用作差分传感器? Re: MPX4115AP port <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 嗨,梅加、 移植版本(带有 AP、AS 或 ASX 后缀)允许通过软管/管道连接将压力连接到设备。 顺祝商祺! 托马斯
View full article
imx93 m33 rpmsg hello_world 测试 板/设置 CPU:i.mx93 启动媒体:SD (mmc 1) 目标:运行 CM33 RPMSG-Lite 字符串回声演示并从 Linux (A55) 进行通信 问题摘要我也想启动 Cortex-M33 RPMSG 演示: : 当尝试访问某些 CM33 别名地址(例如0x1ffe0000 / 0x0ffc0000) Linux remoteproc 试图加载 rpmsg_lite_str_echo_rtos_remote.bin,但以错误 -2 失败(未找到文件),然后退回到 sysfs 回退。 我不确定 i.MX93 上的 CM33 的正确内存复制地址和启动地址应该是多少(系统地址与别名地址),以及如何使 U‑Boot boot bootaux 流程与 Linux remoteproc 流程保持一致。 我测试的 SD 分区布局和启动文件 U‑Boot 显示 SD 是 mmc 1: u-boot= > mmc 列表 FSL_SDHC:0 (eMMC) FSL_SDHC:1 (SD) 分区表: u-boot= > 零件清单 mmc 1 MMC 设备 1 的分区图-分区类型:DOS 部件起始扇区号扇区 UUID 类型 1 16384 681574 076c4a2a-01 0c 启动 2 704512 5769534 076c4a2a-02 83 启动分区内容包括 DTB 和 mcore-demos/ 目录: u-boot= > fatls mmc 1:1... mcore-demo/... 我可以加载演示版: u-boot= > fatload mmc 1:1 ${loadaddr} mcore-demos/rpmsg_lite_str_echo_rtos_remote.bin 3 毫秒内读取 39004 字节 u-boot= > echo ${loadaddr} 0x80 400000 u-boot= > echo ${filesize} 985c 前两个字看起来像一个有效的 CM33 向量表: u-boot= > md.l ${loadaddr} 2 80400000:2001e000 0ffe0595 读取 0x1ffe0000 会导致中止: Linux 端:remoteproc 固件加载失败 在 Linux 中,remoteproc0 开机后会尝试加载固件: [ 84.714629] remoteproc remoteproc0: powering up imx-rproc [ 84.721926] remoteproc remoteproc0: Direct firmware load for rpmsg_lite_str_echo_rtos_remote.bin failed with error -2 [ 84.732549] remoteproc remoteproc0: Falling back to sysfs fallback for: rpmsg_lite_str_echo_rtos_remote.bin 这里是预留内存: reserved-memory { #address-cells = <2>; #size-cells = <2>; ranges; linux,cma { compatible = "shared-dma-pool"; reg = <0 0x88000000 0 0x04000000>; /* 64 MB @ 0x8800_0000 */ reusable; linux,cma-default; }; /* Ethos-U: move away from the kernel boot (32 MB) */ ethosu_mem: ethosu_region@8c000000 { compatible = "shared-dma-pool"; reg = <0 0x8c000000 0 0x02000000>; no-map; }; vdev0vring0: vdev0vring0@84000000 { reg = <0 0x84000000 0 0x00008000>; no-map; }; vdev0vring1: vdev0vring1@84008000 { reg = <0 0x84008000 0 0x00008000>; no-map; }; vdev1vring0: vdev1vring0@84010000 { reg = <0 0x84010000 0 0x00008000>; no-map; }; vdev1vring1: vdev1vring1@84018000 { reg = <0 0x84018000 0 0x00008000>; no-map; }; rsc_table: rsc-table@2021e000 { reg = <0 0x2021e000 0 0x00001000>; no-map; }; /* OCRAM */ vdevbuffer: vdevbuffer@84020000 { compatible = "shared-dma-pool"; reg = <0 0x84020000 0 0x00100000>; /* 1 MB */ no-map; }; ele_reserved: ele-reserved@90000000 { compatible = "shared-dma-pool"; reg = <0 0x90000000 0 0x00100000>; /* 1 MB @ 0x9000_0000 */ no-map; }; }; ethosu { compatible = "arm,ethosu"; fsl,cm33-proc = <&cm33>; memory-region = <&ethosu_mem>; power-domains = <&mlmix>; }; 从 U-Boot 在 i.MX93 上启动 CM33 RPMsg 演示的正确步骤是什么? 如果 CM33 由 U-Boot (bootaux) 启动,建议的 Linux 配置是什么? Re: imx93 m33 rpmsg hello_world test 你好,电路板支持包 版本是 VERSION= " 6.6-scarthgap(scarthgap)" 我使用内存为 512MB 的 imx93 自定义板但没有 hello_world .elf 这些都在 /lib/firmware 下 imx93-11x11-evk_m33_TCM_low_power_wakeword.elf imx93-11x11-evk_m33_TCM_power_mode_switch.elf imx93-11x11-evk_m33_TCM_rpmsg_lite_pingpong_rtos_linux_remote.elf imx93-11x11-evk_m33_TCM_rpmsg_lite_str_echo_rtos.elf imx93-11x11-evk_m33_tcm_sai_low_power_audio.elf 经过测试 u-boot= > fatload mmc 1:1 80000000 mcore-demos/rpmsg_lite_str_echo_rtos_remote.bin 在 3 毫秒内读取 39004 字节 (12.4 MiB/s) u-boot= > cp.b 0x80000000 0x201e0000 0x10000 u-boot= > bootaux 0x1ffe0000 0 ## 启动辅助内核 addr = 0x1ffe0000... 它无法启动,它会冻结。 Re: imx93 m33 rpmsg hello_world test 您好, 感谢您对恩智浦半导体产品的关注, 使用预建的 Cortex-M 演示版是一个很好的起点,你使用的是 i.MX 93 EVK 还是带有预建映像的自定义板? 你在用什么电路板支持包? 要在 u-boot 中运行 Cortex-M 演示,你可以使用以下代码片段: u-boot=> fatload mmc 1:1 80000000 sdk20-app.bin u-boot=> cp.b 0x80000000 0x201e0000 0x10000 u-boot=> bootaux 0x1ffe0000 0 RPMSG 必须在 Linux RPROC 框架下运行,因为您必须在 DTB 中为 RPMSG 预留内存,而且 Cortex-A RPMSG 通信是通过 Linux 驱动程序进行的。 root@imx93evk:~# echo hello_world.elf > /sys/class/remoteproc/remoteproc0/ firmware root@imx93evk:~# echo start > /sys/class/remoteproc/remoteproc0/state 此致 Re: imx93 m33 rpmsg hello_world test 你好,@bora、 请尝试使用 imx93-11x11-evk_m33_TCM_rpmsg_lite_str_echo_rtos.elf 这是你正在测试的二进制文件,请参阅 SDK 中的可用示例: SDK_24_12_00_MCIMX93-EVK\板\mcimx93evk\多核_示例 - rpmsg_lite_pingpong_rtos_linux - rpmsg_lite_str_echo_rtos 此致 Re: imx93 m33 rpmsg hello_world test 您好, 我试过了结果就是这样, root @imx93 -11x11-lpddr4x-evk:~# echo start > /sys/class/remoteproc/remoteproc0/state [105.274513] remoteproc remoteproc remoteproc 0/state [105.274513] remoteproc remoteproc remoteproc 0/state [105.274513] remoteproc remoteproc remoteproc 0:启动 imx93-11x11-EVKK _m33_tcm_rpmsg_lite_str_echo_ rtos.elf, size 59028 [ 105.294019] remoteproc remoteproc0: Registered carveout doesn't fit len request [ 105.301405] rproc-virtio: probe of rproc-virtio.1.auto失败,错误 -12 [ 105.309101] remoteproc remoteproc0: 注册的分割不适合 len 请求 [ 105.316561] rproc-virtio: probe of rproc-virtio.2.auto failed with error -12 [ 105.830361] remoteproc remoteproc0: 远程处理器 imx-rproc 现在已启动 Re: imx93 m33 rpmsg hello_world test 您好, 我可以在 LF-6.12.49 EVK 上通过以下步骤重现该功能 Cortex-A U-启动 Hit any key to stop autoboot: 0 u-boot=> fatload mmc 0:1 ${loadaddr} mcore-demos/imx93-11x11-evk_m33_TCM_rpmsg_lite_str_echo_rtos.bin 19816 bytes read in 18 ms (1 MiB/s) u-boot=> cp.b ${loadaddr} 0x201e0000 0x20000 u-boot=> bootaux 0x1ffe0000 0 ## Starting auxiliary core addr = 0x1FFE0000... u-boot=> pri mmcargs mmcargs=setenv bootargs ${jh_clk} ${mcore_clk} console=${console} root=${mmcroot} u-boot=> editenv m mfgtool_args mmcargs mmcautodetect mmcboot mmcdev mmcpart mmcroot u-boot=> editenv mmcargs edit: setenv bootargs ${jh_clk} ${mcore_clk} console=${console} root=${mmcroot} clk_ignore_unused u-boot=> boot Cortex-A Linux root@imx93evk:~# lsmod | grep -i imx_rpmsg_tty root@imx93evk:~# modprobe imx_rpmsg_tty 从 U-boot 到 Linux 的 Cortex-M RPMSG String Echo FreeRTOS RTOS API Demo... Nameservice sent, ready for incoming messages... Get Message From Master Side : "hello world!" [len : 12] 此致 Re: imx93 m33 rpmsg hello_world test 我也进行了测试,但没有结果,我仍然无法与 m33 通信。我用的是自定义板而不是 imx93-11x11-evk,我用 uart1 没有 uart2,对于 m33 我有 JTAG。 Re: imx93 m33 rpmsg hello_world test 我也没有在 /dev 下看到任何 ttyRPMSG 文件 Re: imx93 m33 rpmsg hello_world test 在 u-boot 上我开始工作了但是在 linux 中是通过 .elf文件,我得到 imx_rproc_kick:失败 (0, err:-62)
View full article
ICODE SLIタグはwrite_single_blockコマンドに対して64 01エラーを返します 私は Windows 11 ノートPCと ACS ACR1552 リーダーを使用しています。 ACS スクリプト ツール (v5.02) を使用して、APDU を NXP ICODE SLI タグに送信しています。 透過セッションを作成し、プロトコルを 15693/Layer3 に設定し、透過交換カプセル化を使用して APDU をタグに送信します。 GET_SYSTEM_INFO と READ_SINGLE_BLOCK は正常に動作するようです。 WRITE_SINGLE_BLOCK は「64 01」エラーを返しますが、実際にデータを書き込んでいるように見えます。 この 64 01 応答の意味や原因に関する情報は見つかりませんでした。 誰かこれについて説明できますか? 私が使用している APDU のシーケンスは次のとおりです。 APDU #4はブロック0のデータを11 22 33 44として読み取ります。 APDU #5はブロック0のデータを12 34 56 78に書き込みますが、64 01エラーが発生します。 APDU #6 はブロック 0 のデータを 12 34 56 78 として読み取ります。これは、前の書き込みが実際に機能したことを示しています。 (1)透過的なセッションを確立する < FF C2 00 00 02 81 00 00 > C0 03 00 90 00 90 00 ; (2)透過的な交換 - スイッチプロトコルをSwitchProtocolRf::ISO15693 SwitchProtocolLayer::PART3へ < FF C2 00 02 04 8F 02 02 03 > C0 03 00 90 00 8F 01 00 90 00 ; (3)システム情報を取得する < FF C2 00 01 04 95 02 02 2B 00 > C0 03 00 90 00 92 01 00 96 02 00 00 97 0F 00 0F 2E 98 5C 8A 00 01 04 E0 00 00 1B 03 01 90 00 ; (4)セキュリティステータスを含むユーザーブロック0の読み取り < FF C2 00 01 05 95 03 42 20 00 00 > C0 03 00 90 00 92 01 00 96 02 00 00 97 06 00 00 00 11 22 33 90 00 (5)ブロック0に12345678を書き込む < FF C2 00 01 09 95 07 02 21 00 12 34 56 78 00 > C0 03 01 64 01 90 00 ; (6)セキュリティステータス付きユーザーブロック0の読み取り < FF C2 00 01 05 95 03 42 20 00 00 > C0 03 00 90 00 92 01 00 96 02 00 00 97 06 00 00 12 34 56 78 90 00 (7)透過セッションを終了する < FF C2 00 00 02 82 00 00 > C0 03 00 90 00 90 00 Re: ICODE SLI tag returns a 64 01 error for a write_single_block command icode SLIX/SLIX2 タグの読み取り/書き込み時にもまったく同じ問題が発生しました。書き込みは機能していましたが、64 01 タイムアウトが発生しました。 書き込みと同じトランザクション内にタイマー オプションを含めることで、コマンドのタイムアウトを調整することで、この問題を解決できました。 例: ブロック0に「00 01 02 03」を書き込む > ff c2 00 01 10 5f 46 04 40 42 0f 00 95 07 02 21 00 00 01 02 03 00 透過コマンド コマンドのサイズ(0x10 = 16バイトが続く) タイムアウトコマンド デバイスへのコマンド ご覧のとおり、応答は正しくなりました。 このコマンドは、基本的に元の投稿者の質問に示されているものと同じですが、緑のセクションが追加されています。ドキュメントに従って、1 秒のタイムアウトを設定します (これはおそらく過剰です)。 5f 46 = タイマーデータオブジェクト 04 = 長さ 40 42 0f 00 = 1,000,000 (マイクロ秒、LSBが先頭)、つまり 000f4240h = 1,000,000 おそらく元の投稿者にとっては役に立たないかもしれませんが、これによって私が費やした 2 ~ 3 時間を他の誰かが節約できるかもしれません。 Re: ICODE SLI tag returns a 64 01 error for a write_single_block command ありがとう@jimmychan 。はい、6401 を含むエラー コードと説明のリストを確認しました。元の投稿に記載した APDU シーケンスを考慮して、このエラーの原因を理解しようとしています。   タグがユーザーメモリへの単一ブロック書き込みコマンドに応答しない理由をご存知ですか?私が考えた例としては、書き込み操作にリーダーが待機している時間よりも時間がかかる可能性があるということです。リーダーをより長く待機するように設定してみましたが、これまでのところ、この方法で問題を解決することはできませんでした。また、SLI または DNA の仕様書にはこれに関する言及がないので、これが問題であるとは思えません。   繰り返しになりますが、タグが応答しない理由を理解するためのご助力いただければ幸いです。   ありがとう - ドリュー Re: ICODE SLI tag returns a 64 01 error for a write_single_block command リファレンス・マニュアル REF-ACR1552U-Series-1.06.pdf を確認してください。43ページ。 Re: ICODE SLI tag returns a 64 01 error for a write_single_block command こんにちは@jimmychan - リーダーのドキュメントを読みました。そのドキュメントから、私が使用しているコマンド構文を取得しました。私の知る限り、コマンド構文は正しいです。6401 エラーはリーダーから発生しているということですか?ドキュメントの中で、特に確認すべき部分はありますか? ご協力に感謝します。 ドリュー Re: ICODE SLI tag returns a 64 01 error for a write_single_block command 読者の方はドキュメントをお読みください。 ACR1552U - USB NFCリーダ IV | ACS
View full article
ICODE SLI 标签在执行 write_single_block 命令时返回 64 01 错误 我使用的是 Windows 11 笔记本电脑和 ACS ACR1552 阅读器。 我正在使用 ACS 脚本工具(v5.02)向恩智浦 ICODE SLI 标签发送 APDU。 我正在创建一个透明会话,将协议设置为 15693/Layer3,然后使用透明交换封装向标签发送 APDU。 GET_SYSTEM_INFO 和 READ_SINGLE_BLOCK 似乎工作正常。 WRITE_SINGLE_BLOCK 返回"64 01" 错误,但似乎确实写入了数据。 我没有找到任何关于 64 01 响应的含义或原因的信息。 有谁能对此提供一些信息? 以下是我正在处理的 APDU 序列。 APDU #4 读取数据块 0 的数据为 11 22 33 44 APDU #5 将数据块 0 的数据写入 12 34 56 78 - 但收到 64 01 错误 APDU #6 读取的 0 号数据块数据为 12 34 56 78 --这说明之前的写入实际上起了作用? ; (1) 建立透明会话 < FF C2 00 00 02 81 00 00 > C0 03 00 90 00 90 00 ; (2) 透明交换 - 将协议切换到 SwitchProtocolRf::ISO15693 SwitchProtocolLayer::PART3 < FF C2 00 02 04 8F 02 02 03 > C0 03 00 90 00 8F 01 00 90 00 ; (3) get sys info < FF C2 00 01 04 95 02 02 2B 00 > C0 03 00 90 00 92 01 00 96 02 00 00 97 0F 00 0F 2E 98 5C 8A 00 01 04 E0 00 00 1B 03 01 90 00 ; (4) 读取具有安全状态的用户屏蔽 0 < FF C2 00 01 05 95 03 42 20 00 00 > C0 03 00 90 00 92 01 00 92 01 00 96 02 00 00 97 06 00 00 00 00 97 06 00 00 00 11 22 33 90 00 ; (5) 用 12 34 56 78 < FF C2 00 01 09 95 07 02 21 0012 34 56 7800 > C0 03 01 64 01 90 00 ; (6) 读取具有网络安全状态的用户屏蔽 0 < FF C2 00 01 05 95 03 42 20 00 00 > C0 03 00 90 00 92 01 00 92 01 00 96 02 00 00 97 06 00 00 97 06 00 00 12 34 56 78 90 00 ; (7) 结束透明会话 < FF C2 00 00 02 82 00 00 > C0 03 00 90 00 90 00 Re: ICODE SLI tag returns a 64 01 error for a write_single_block command 我在读取/写入 icode SLIX/SLIX2 标签时也遇到了同样的问题,写入正常,但出现了 64 01 超时。 我通过在写入的同一事务中加入计时器选项,调整命令的超时时间,从而解决了这个问题。 例如将"00 01 02 03" 写入 0 号区块 > FF C2 00 01 10 5F 46 04 40 42 0F 00 95 07 02 21 00 01 02 0300 透明命令 命令 大小(0x10 = 接下来是 16 字节) 超时 命令 到 设备 可以看出,现在答案是正确的。 该命令与原作者问题中的命令基本相同,只是增加了绿色部分,根据文档,该部分设置了 1 秒超时(可能过长)。 5f 46 = 计时器数据对象 04 = 长度 40 42 0f 00 = 1,000,000(微秒,LSB 优先),即 000f4240h = 1,000,000 可能太晚了,对最初的发帖人没用,但也许这能帮其他人省下我花费的两三个小时。 Re: ICODE SLI tag returns a 64 01 error for a write_single_block command 谢谢@jimmychan。 是的,我见过错误代码和描述列表,包括 6401。 鉴于我在原帖中提供的 APDU 序列,我想弄明白是什么原因导致该错误。   您知道标签不响应向用户内存写入单块命令的原因吗? 我想过的一个例子是,写入操作可能比读者等待的时间更长。 我曾尝试配置阅读器,让它等待更长的时间,但到目前为止,我还没能解决这个问题。 另外,我在 SLI 或 DNA 规格表中没有看到任何参考,所以我怀疑这是问题所在。   如果您能帮助我们了解标签为何没有反应,我们将再次不胜感激。   谢谢 - 德鲁 Re: ICODE SLI tag returns a 64 01 error for a write_single_block command 你可以查看参考手册 ref-ACR1552U-Series-1.06.pdf。第 43 页。 Re: ICODE SLI tag returns a 64 01 error for a write_single_block command 你好@jimmychan- 我已经阅读了阅读器的文档,这就是我使用的命令语法。据我所知,我的命令语法是正确的。你是说 6401 错误来自读卡器?您有什么具体的文件需要我查看吗? 感谢您的帮助。 德鲁 Re: ICODE SLI tag returns a 64 01 error for a write_single_block command 请阅读读者文件。 ACR1552U - USB NFC 阅读器 IV | ACS
View full article
シングルチャネルABS SB0401監視モジュールの問題 こんにちは@nxp 、 私は SPI マスターとして NXP S32K31xEVB-Q48 MCU を搭載した SB0401 シングル チャネル ABS モジュール IC を使用しています。監視/モジュール データを 10 ミリ秒ごとに送信していますが、SB0401 監視モジュールは繰り返しリセット/再起動しているように見えます (約 50 ミリ秒ごとに 1 回)。これに伴い、SPI 転送ごとに SPI「エラー数」が増加します。 以下にセットアップと具体的な質問を示します。 ハードウェア/ソフトウェアのセットアップ MCU(SPIマスター):S32K31xEVB-Q48(S32K31xファミリ) デバイス: SB0401 (シングルチャネルABSモジュールIC) インターフェース: SPI (LPSPI) (DMA ベースの転送) 定期送信: 10 ミリ秒ごと 観察された問題: SB0401 監視モジュールが約 50 ミリ秒ごとにリセット/再起動する (添付のログを参照) 観察された行動 エラー カウンターは、SPI バイト/ワード転送ごとに増加します。 SB0401 メッセージ 18 から AR (シード) を読み取り、その AR に基づいて MR を計算します。 定期的にフレームを送信しているにもかかわらず、SB0401 監視モジュールはリセット/再起動します。 質問 MR計算とAR計算(メッセージ18) SPI 転送ごとにエラー数が増加します。 SB0401 メッセージ 18 から受信した AR 値を使用して MR を計算します。 この状況では、転送ごとにエラー カウンターが増加することが予想されますか、それとも MR/AR ロジックが正しくないことを示しているのでしょうか。 AR (メッセージ 18) に対する正しい MR 計算フロー/タイミングと、よくある落とし穴 (古い AR の使用、間違ったバイト/ビット抽出、タイミング ウィンドウ、カウンター アライメントなど) を確認してください。 メッセージ0を書き込むときのACK位置 TxBuf[0] の メッセージ0 にデータを書き込む場合 、確認応答をどこで確認すればよいですか? 例: TxBuf[0] への書き込みの場合 、ACKは RxBuf[0](同じワード) に表示されますか、それとも RxBuf[1](次のワード) に表示されますか? 「次の SPI ワード/フレームで ACK が発生する」というルールが定義されている場合は、正確なマッピングを共有してください。 リファレンスSW / CDDドライバ SB0401 のリファレンス CDD / サンプル ドライバ (C ソースまたは AUTOSAR スタイルの CDD 統合) があり、ガイダンスとして共有できますか? 共有できない場合は、公式の SB0401 ソフトウェア パッケージ / アプリケーション ノート / リファレンス実装の詳細を推奨していただけますか? Re: Single channel ABS SB0401 Monitoring Module Issue こんにちは@guoweisun はい、わかりました。 NXPについて: Ettiksoft technologies Pvt ltd. プロジェクト: 二輪車用シングルチャネル ABS。 Re: Single channel ABS SB0401 Monitoring Module Issue ハイ ここであなたの会社やプロジェクトの情報を表示することは可能ですか? Re: Single channel ABS SB0401 Monitoring Module Issue こんにちは@guoweisun わかりました。このモジュールの動作のような他の参照コードも存在します。 Re: Single channel ABS SB0401 Monitoring Module Issue この特殊部品に関する参照コードをもう一度確認してみましょう。 Re: Single channel ABS SB0401 Monitoring Module Issue この部品には CDD やその他のソフトウェア ドライブがないため、参照回路図もお客様が NDA に署名してから共有する必要があります。 Re: Single channel ABS SB0401 Monitoring Module Issue ここに投稿できないサンプルコードについては、CASEポートからチケットを送信していただけますか? 家庭用
View full article
FTM 定时器混乱 我试图启动 FTM0/FTM1 定时器,但在运行定时器代码时却出现了 HardFault 故障,为什么? 无法运行的代码 #include "MKE02Z4.h" /* ================= GLOBALS ================= */ volatile uint8_t uartFlag = 0; /* ================= PROTOTYPES ================= */ void init_clock(void); void init_uart0(void); void init_FTM1(void); void UART_Send(const char *s); /* ================= FTM1 ISR ================= */ void FTM1_IRQHandler(void) { /* Clear overflow flag (write 0 while set) */ FTM1->SC &= ~FTM_SC_TOF_MASK; uartFlag = 1; } /* ================= MAIN ================= */ int main(void) { init_clock(); init_uart0(); init_FTM1(); UART_Send("FTM1 Initialized\r\n"); while (1) { if (uartFlag) { uartFlag = 0; UART_Send("A\r\n"); } __WFI(); /* wait for interrupt */ } } /* ================= CLOCK INIT ================= */ void init_clock(void) { /* * Assume internal clock already configured by SDK startup * Bus clock = 32 MHz */ SIM->BUSDIV = 0x01; /* divide by 1 */ } /* ================= UART0 INIT ================= */ void init_uart0(void) { /* Enable UART0 clock */ SIM->SCGC |= SIM_SCGC_UART0_MASK; /* UART0 pin select (TX/RX) */ SIM->PINSEL |= SIM_PINSEL_UART0PS_MASK; /* Disable TX inversion (important!) */ SIM->SOPT &= ~SIM_SOPT_TXDME_MASK; /* * 9600 baud @ 32 MHz * SBR = 32e6 / (16 * 9600) ≈ 208 */ UART0->BDH = 0x00; UART0->BDL = 53; UART0->C1 = 0x00; UART0->C2 = UART_C2_TE_MASK | UART_C2_RE_MASK; } /* ================= FTM1 INIT ================= */ void init_FTM1(void) { /* Enable FTM1 clock */ SIM->SCGC |= SIM_SCGC_FTM1_MASK; __DSB(); /* ---- VERY IMPORTANT ORDER (KE02 SAFE) ---- */ /* Stop counter completely */ FTM1->SC = 0; /* Disable write protection (WRITE ONCE) */ FTM1->MODE = FTM_MODE_WPDIS_MASK; /* Reset counter */ FTM1->CNTIN = 0; FTM1->CNT = 0; /* * 32 MHz / 128 = 250 kHz * 250000 ticks = 1 second */ FTM1->MOD = 249999; /* Enable overflow interrupt, prescaler = 128 */ FTM1->SC = FTM_SC_PS(7) | FTM_SC_TOIE_MASK; /* Enable NVIC */ NVIC_EnableIRQ(FTM1_IRQn); /* START TIMER (LAST STEP ONLY) */ FTM1->SC |= FTM_SC_CLKS(1); } /* ================= UART SEND ================= */ void UART_Send(const char *s) { while (*s) { while (!(UART0->S1 & UART_S1_TDRE_MASK)); UART0->D = *s++; } } 工作代码 #include "MKE02Z4.h" /* ================= GLOBALS ================= */ volatile uint8_t uartFlag = 0; /* ================= PROTOTYPES ================= */ void init_clock(void); void init_uart0(void); void init_FTM2(void); void UART_Send(const char *s); /* ================= FTM2 ISR ================= */ void FTM2_IRQHandler(void) { /* Clear overflow flag (write 0 while set) */ FTM2->SC &= ~FTM_SC_TOF_MASK; uartFlag = 1; } /* ================= MAIN ================= */ int main(void) { init_clock(); init_uart0(); init_FTM2(); UART_Send("FTM2 Initialized\r\n"); while (1) { if (uartFlag) { uartFlag = 0; UART_Send("A\r\n"); } __WFI(); /* wait for interrupt */ } } /* ================= CLOCK INIT ================= */ void init_clock(void) { /* * Assume internal clock already configured by SDK startup * Bus clock = 32 MHz */ SIM->BUSDIV = 0x01; /* divide by 1 */ } /* ================= UART0 INIT ================= */ void init_uart0(void) { /* Enable UART0 clock */ SIM->SCGC |= SIM_SCGC_UART0_MASK; /* UART0 pin select (TX/RX) */ SIM->PINSEL |= SIM_PINSEL_UART0PS_MASK; /* Disable TX inversion (important!) */ SIM->SOPT &= ~SIM_SOPT_TXDME_MASK; /* * 9600 baud @ 32 MHz * SBR = 32e6 / (16 * 9600) ≈ 208 */ UART0->BDH = 0x00; UART0->BDL = 53; UART0->C1 = 0x00; UART0->C2 = UART_C2_TE_MASK | UART_C2_RE_MASK; } /* ================= FTM2 INIT ================= */ void init_FTM2(void) { /* Enable FTM2 clock */ SIM->SCGC |= SIM_SCGC_FTM2_MASK; __DSB(); /* ---- VERY IMPORTANT ORDER (KE02 SAFE) ---- */ /* Stop counter completely */ FTM2->SC = 0; /* Disable write protection (WRITE ONCE) */ FTM2->MODE = FTM_MODE_WPDIS_MASK; /* Reset counter */ FTM2->CNTIN = 0; FTM2->CNT = 0; /* * 32 MHz / 128 = 250 kHz * 250000 ticks = 1 second */ FTM2->MOD = 249999; /* Enable overflow interrupt, prescaler = 128 */ FTM2->SC = FTM_SC_PS(7) | FTM_SC_TOIE_MASK; /* Enable NVIC */ NVIC_EnableIRQ(FTM2_IRQn); /* START TIMER (LAST STEP ONLY) */ FTM2->SC |= FTM_SC_CLKS(1); } /* ================= UART SEND ================= */ void UART_Send(const char *s) { while (*s) { while (!(UART0->S1 & UART_S1_TDRE_MASK)); UART0->D = *s++; } }   Re: FTM Timer Confusion 你好@Jana_muralidharan 请调试检查 FTM1 时钟是否启用,并验证计数寄存器是否正常工作。   BR 爱丽丝 Re: FTM Timer Confusion 实际上,我发现了错误 这是因为我使用了仅适用于 FTM2 的寄存器、 因此,在删除不需要的寄存器后,它就能正常工作了。 我发现HardFault Error 只有在以下情况下才会发生、 我们使用了原本不存在的寄存器。 嘿,感谢您对这个问题的关注,谢谢.....。
View full article
S32K314 の ADC セルフテスト (スクエアチェック) サポート こんにちは、 UM Square Checkのドキュメントには、ADCセルフテスト機構について記載されています。しかし、「セーフティ機構」を確認すると、ADCセルフテストは「NONE(なし)」と表示されており、S32K314パッケージのSquare Check (SCheck)設定にもこのオプションは見つかりません。 この機能をCANで有効にする方法や設定方法を教えてください。 優先度: 高 SAFETY_SW Re: ADC Self-Test (Square Check) Support for S32K314 こんにちは、チームの皆さん アップデートはありますか? よろしくお願いします。 Re: ADC Self-Test (Square Check) Support for S32K314 こんにちは、チームの皆さん アップデートはありますか? よろしくお願いします。 Re: ADC Self-Test (Square Check) Support for S32K314 こんにちは@JasonTsengSG 、 私の理解では、これらはより高いパフォーマンスとトラクションインバーターおよびモーター制御 (eTPU) の追加サポートを備えた新しい K3 派生製品です。 S32K3E_SW_アーキテクチャ.docx RMとSMはイントラネットで見つけることができます。ここでは(K3Eの代わりに、このK3サブグループを指すために特定のK396派生名を使用することもできます): Zebra - ドキュメント - S32K396 - すべてのドキュメント オートモーティブ セーフティ ソフトウェア - リリース_1.0.6 - すべてのドキュメント 敬具、 ラドスラフ Re: ADC Self-Test (Square Check) Support for S32K314 こんにちは、ラドスラフさん。 S32K3E と S32Kxx の違いは何ですか? どちらも S32K396、S32K394、S32K376、S32K374、S32K366、S32K364 のグループだそうです。 S32K3E 固有の RM および HW セーフティマニュアルはどこにあるか教えていただけますか? よろしくお願いします。 Re: ADC Self-Test (Square Check) Support for S32K314 わかりやすい説明をありがとう、ラドスラフ。
View full article
互換性のある圧力センサを探しています 皆さんこんにちは オリジナルの 125pc05d1 と交換できる互換性のある圧力センサを探しています。 125pc05d1はオリジナルの圧力センサです。差圧タイプです。 オリジナルの圧力センサの外形図と技術仕様を添付しました。 125pc05d1 の感度はおよそ Δmv/Δp ≈ 70mv/5psi ≈ 14 に等しいですが、後続の増幅回路が複雑なので、どのように調整すればよいか分かりません。同じ感度を持ち、互換性のある新しいモデルの圧力センサがあれば理想的です。 より詳細なテストについては、以下のリンクを参照してください。 https://www.eevblog.com/forum/repair/replacing-the-pressure-sensor-requires-assistance/ ご協力ありがとうございます。 Re: Seeking a compatible pressure sensor こんにちは、 形状と機能の両方においてオリジナルの 125pc05d1 に最も近い MPX10DP の使用を検討してください。より高い解像度を得るために、より広い圧力範囲やより高い出力電圧が必要な場合は、追加の信号調整が必要になりますが、MPX5010DP を検討してください。 BRs、トーマス Re: Seeking a compatible pressure sensor よろしくお願いします。
View full article
8x DPDMUXで静的DPLをロードできませんでした こんにちは、コミュニティの皆様 DPDMUX と DPNI の動的作成を正常に使用し、次のコマンドで DPL を生成します。 8x ls-addni --fs-entries=8 --num-queues=8 -n ソース /usr/local/dpdk/dpaa2/dynamic_dpl.sh ... 8x restool dpdmux create 8x restool dprc connect dprc.1 --endpoint1= .n.0/1/2 --endpoint2= / /dpni.k> dprc を復元して、dpl dprc.1 > dpl-8-dpdmux.dts を生成 uboot が MC レイアウトを開始できるように、静的 DPL を dpl-8-dpdmux.dtb (dtc ツールによって生成) で更新します。 エラーは次のように表示されます: [E, mem_mng_get_phys_mem:655] メジャー メモリ。マネージャーのメモリ割り当てに失敗しました [E, mem_mng_get_phys_mem:658] 必要なサイズ 0x000040000、アライメント 0x000000100 は、パーティション ID 7 の使用可能なメモリを超えています [E, init_bman_bp:399, DPDMUX] ID[6] - dpbp_allocate_buffers()、dpbpバッファの割り当てに失敗しました [E, init_infrastructure:3750, DPDMUX] swlib_init_bman_bp : -12 [E, dpdmux_init:4487, DPDMUX] init_infrastructure: -12 [E, mem_mng_get_phys_mem:655] メジャー メモリ。マネージャーのメモリ割り当てに失敗しました [E, mem_mng_get_phys_mem:658] 必要なサイズ 0x000040000、アライメント 0x000000100 は、パーティション ID 7 の使用可能なメモリを超えています [E, init_bman_bp:399, DPDMUX] ID[7] - dpbp_allocate_buffers()、dpbpバッファの割り当てに失敗しました [E, init_infrastructure:3750, DPDMUX] swlib_init_bman_bp : -12 [E, dpdmux_init:4487, DPDMUX] init_infrastructure: -12 [E, resman_is_link_permitted:6375, RESMAN] オブジェクトが見つかりませんでした [E, linkman_probe_cb:205] 共通の祖先がありません - dpdmux@6 と dpmac@9 の接続に失敗しました [E、subnode_process:155] プローブモジュール「接続」がエラーコード -1 を返します。dpl プロセッシングを続行します... [E, resman_is_link_permitted:6375, RESMAN] オブジェクトが見つかりませんでした [E, linkman_probe_cb:205] 共通の祖先がありません - dpdmux@6 と dpni@15 の接続に失敗しました [E、subnode_process:155] プローブモジュール「接続」がエラーコード -1 を返します。プロセッシングを続行します... [E, resman_is_link_permitted:6375, RESMAN] オブジェクトが見つかりませんでした [E, linkman_probe_cb:205] 共通の祖先がありません - dpdmux@6 と dpni@7 の接続に失敗しました [E、subnode_process:155] プローブモジュール「接続」がエラーコード -1 を返します。プロセッシングを続行します... [E, resman_is_link_permitted:6375, RESMAN] オブジェクトが見つかりませんでした [E, linkman_probe_cb:205] 共通の祖先がありません - dpdmux@7 と dpmac@10 の接続に失敗しました [E、subnode_process:155] プローブモジュール「接続」がエラーコード -1 を返します。dpl プロセッシングを続行します... [E, resman_is_link_permitted:6375, RESMAN] オブジェクトが見つかりませんでした [E, linkman_probe_cb:205] 共通の祖先がありません - dpdmux@7 と dpni@16 の接続に失敗しました [E、subnode_process:155] プローブモジュール「接続」がエラーコード -1 を返します。dpl プロセッシングを続行します... [E, resman_is_link_permitted:6375, RESMAN] オブジェクトが見つかりませんでした [E, linkman_probe_cb:205] 共通の祖先がありません - dpdmux@7 と dpni@8 の接続に失敗しました [E、subnode_process:155] プローブモジュール「接続」がエラーコード -1 を返します。プロセッシングを続行します... [E, dpl_process:527] 「接続」の解析中にエラーが発生しました。DPL の残りのプロセッシングをスキップします。 [E、メイン:198] DPL プロセッシングに失敗しました。続行中... 動的な方法と同じレイアウトをサポートするために、静的 DPL には何か制限がありますか? QorIQ LS2デバイス Re: Failed to load static DPL with 8x DPDMUX こんにちは、イーピンワンさん 動的レイアウト作成で '--max-dmat-entries' を使用すると、 'restool dprc generate-dpl dprc.1' によって最終的な dts は変更されません。 SO、.dts に次の要素「mem-size」と「 max-dmat-entries」を追加して試してみます。手動で: dpdmux@0 { 互換性 = "fsl,dpdmux"; オプション = "DPDMUX_OPT_CLS_MASK_SUPPORT", "DPDMUX_OPT_AUTO_MAX_FRAME_LEN"; 方法 = "DPDMUX_METHOD_CUSTOM"; マニピュレータ = "DPDMUX_MANIP_NONE"; num_ifs = <0x2>; mem-size = <0x100>; // これは私が手動で追加したものです max-dmat-entries = <0x8>; // これは私が手動で追加したものです }; 残念ながら、これでは問題は解決せず、MC デバッグから同じエラー メッセージが表示されます。 同封の私のDPLもご確認ください。 Re: Failed to load static DPL with 8x DPDMUX 以下の方法が出来るかお試しください。 DPDMUX を作成するときは、リソース割り当てを減らすために「--max-dmat-entries=8」を指定してください。 --max-dmat-entries= DPDMUX アドレス テーブルの最大エントリ数。デフォルトは 64 です。 問題が解決しない場合は、コンソール ログ全体を共有して DPDMUX を作成し、DPL ファイルを生成します。 また、どのプロセッサを使用していますか? Re: Failed to load static DPL with 8x DPDMUX こんにちは、 DPL パラメータ名を修正することでこの問題を解決できました。
View full article
bl2でのseclogging こんにちは、 A-core (BSP43) に安全なログ記録を実装しようとしています。目標は、セキュア ブートの失敗、Wi-Fi/TLS の失敗など、セキュリティ関連の失敗を記録することです。 現在、BL2 ステージでのセキュア ブートの失敗を記録しようとしています。私の最初のアプローチは、これらのログを NOR フラッシュに直接書き込み、HSE を使用して暗号化することでした。ただし、S32G の BL2 レベルでは次の制限に遭遇しています。 BL2 には、NOR フラッシュの読み取りや書き込みに使用できる定義済み API はありません。 BL2 ステージでは永続的または追加形式のログ記録を実装することはできません。 これらの制約のため、このようなセキュア ブートの失敗ログを、後でLinuxからアクセスできるようにBL2のどこにどのように保存すればよいかはわかりません。 Wi-Fi および TLS 関連の障害については、Linux レベルで NetworkManager ベースのログを使用する予定です。 BL2 に起因するセキュア ブートの失敗をログに記録するための実行可能なアプローチについてアドバイスをいただけませんか。また、このシナリオで安全にログに記録するための推奨メカニズムを提案していただけますか。 Re: seclogging at bl2 こんにちは、 @Jayashree ご投稿ありがとうございます。 これはユーザー定義のソフトウェア実装であり、このようなトピックに関して当社側から正式な推奨がないことを残念に思います。 BL2 ステージに記録されたセキュア ブートの失敗に関しては、BL2 が BL3x バイナリの認証に失敗し、関連情報を記録したいということでしょうか? 私の経験からすると、上記のログはコンソールから見つけることができます。それらを QSPI に保存したい場合は、BL2 が QSPI からイメージをロードして DDR に格納し、QSPI にアクセスできるようになるため、関連するコード/API をチェックして、要件を満たすことができるかどうかを確認していただけますか? BR チェイン Re: seclogging at bl2 こんにちは、Chenyinさん ご提案に従って、BL2 の MMIO 読み取り/書き込み API を使用しようとしましたが、API 呼び出しの直後にブート プロセスが停止するようです。 FSPI 読み取り/書き込み API の使用も試みましたが、この場合、Yocto ビルド自体を完了できません。 セキュア ブートが有効な場合、BL2 からの読み取り/書き込みアクセスがサポートされているかどうかを確認してください。サポートされている場合、このCASEに推奨されるAPIを教えていただけますか?あるいは、BL2 からのログ記録やデータの永続化に関して実行可能なアプローチや推奨される代替方法についてご指導いただければ幸いです。 よろしくお願いします、 ジャヤシュリー  
View full article
LVGL基准测试性能优化   1 背景 2 开发设置 2.1 软件 2.2 硬件 3 性能优化 3.1 基准性能 3.2 优化 1:编译器优化 3.3 优化 2:外部同步动态随机存取存储器(SDRAM) 3.4 优化 3:VGLite 加速 3.5 优化比较 4 结论 5 参考 1. 背景 LVGL(轻量级通用图形库)是一个高性能、低资源的嵌入式图形库。由于其强大的开源生态系统和广泛的操作系统兼容性,它支持从低功耗的 ARM Cortex-M 微控制器(时钟速度低至 100 MHz)到运行 Linux 的高性能 MPU 的各种硬件平台,使其成为嵌入式开源解决方案的首选。许多芯片供应商现在提供对 LVGL 的“开箱即用”支持。 NXP 为其主流平台(包括 MCX、i.MX RT 和 LPC 系列)提供了现成的软硬件示例,并将 LVGL 示例集成到 MCUXpresso SDK。这些示例包含不同场景下的量化基准指标。然而,由于软硬件配置和规格存在差异,实际性能可能会显著不同,通常需要针对具体场景进行调优。 本文档基于 i.MX RT1170 平台的实际经验,旨在帮助 NXP 用户快速掌握并应用合适的优化策略,以提升 LVGL 应用性能。 @Smartling Language Service   4. 结论 本文档对 NXP 官方 LVGL 基准测试示例进行了逐步优化,并在 CPU 使用率、FPS、渲染时间和刷新时间方面进行了量化提升。以Widgets 演示为例: CPU使用率从96%→12%下降 FPS 从 2 提升至 59 这些优化技术(不仅限于 LVGL)广泛适用于 i.MX RT 平台上的系统级性能调优。
View full article
如何将 i.MX93 Cortex-M33 板和 SDK 导入 MCUXpresso IDE? 📌 背景: 我想开始使用 MCUXpresso IDE 在 i.MX93 Cortex-M33 (MCIMX93-EVK) 板上进行开发。我已经从恩智浦网站下载了SDK ZIP,但我无法成功导入板或使用其示例。 🛠️ 我做了什么? 从 mcuxpresso.nxp.com 下载 SDK ZIP: SDK_25_03_00_MCIMX93-EVK.zip 已打开MCUXpresso 集成开发环境(版本:请在此注明) 去了 已安装的 SDK> Import → 选择 ZIP 文件 SDK 出现在集成开发环境的已安装 SDK 下。 但是,当我进入 “导入SDK示例” 时,没有任何显示,或者我无法创建导入的项目的版本。 ❓ 我的问题: 将 i.MX93 Cortex-M33 板和 SDK 导入 MCUXpresso IDE 的正确和完整程序是什么,这样我就可以: 查看支持的板 访问演示/示例应用程序(如 hello_world) 无错误地版本和调试项目 🔍 其他说明: 我的目标是 i.MX93 的Cortex-M33 内核 我只想使用MCUXpresso 集成开发环境(而不是 IAR 或 VS Code)。 🧪 预期成果: 能够使用 MCUXpresso IDE 在 MCIMX93-EVK 板上导入和版本 cm33_core0 的 hello_world 或 led_blinky 等示例项目。 如果需要其他工具或配置,请告诉我。预先表示感谢! i.MX93EVK#i.mx93 cortex-m33i.MX93#MCUXpressoIDE ##MCUXpressoSDK Re: How to Import i.MX93 Cortex-M33 Board and SDK into MCUXpresso IDE? 你好@Manjunathb 我目前也在使用i.MX93 Cortex-M33。我安装了 MCUXpresso 集成开发环境,但在将 SDK 压缩文件下放到已安装的 SDK 视图时遇到了错误(根据指南)。 了解到您也在研究相同的 M33 核心,您是否介意与我们分享任何信息以及您目前的进展情况?我还应该为 VS 代码使用 MCUXpresso 吗? 如果您能分享一些关于如何开始 M33 开发的指南或程序,我将不胜感激。谢谢。 Re: How to Import i.MX93 Cortex-M33 Board and SDK into MCUXpresso IDE? 你好 Chavira, 我目前正在使用 i.MX93 Cortex-M33 内核,我知道这款设备不支持 MCUXpresso IDE,但推荐使用适用于 VS Code 的 MCUXpresso IDE。 我已经安装了:适用于 VS Code 扩展 的 mcuxPresso i.MX93 SDK 包 ARM GCC 工具链 而且我正在使用 J-Link 调试器。 请就以下几点为我提供指导: 如何将 i.MX93 Cortex-M33 SDK 正确导入 VS 代码?SDK 文件应放在哪里,扩展程序如何检测它们? 如何创建或打开 Cortex-M33 演示或模板项目(如 hello_world 或 led_blinky)? 如何配置版本设置(编译器、链接器路径等),以便使用 MCUXpresso VS Code 环境成功编译? 使用 J-Link 探头或 remoteproc(如果使用 Linux)闪存和调试已编译应用程序的正确方法是什么? 在使用 MCUXpresso for VS Code 时,是否有 i.MX93 特有的已知限制或额外步骤? 如果能提供完整的分步说明或相关文档链接,我将不胜感激。预先感谢您的支持! 最崇高的敬意, Manjunath Badiger Re: How to Import i.MX93 Cortex-M33 Board and SDK into MCUXpresso IDE? 好的 👍 感谢您的回复 Re: How to Import i.MX93 Cortex-M33 Board and SDK into MCUXpresso IDE? 嗨,@Manjunathb! 感谢您联系恩智浦支持中心! 遗憾的是,MCUXpresso IDE 与这种情况不兼容。不过,您也可以使用 MCUXpresso for VS Code,它支持并提供类似的功能。 致以最崇高的敬意, Chavira
View full article
Rules - 2015 Registration requirements Minimum skills Previous experience with C or Java is needed. Previous experience with Linux systems is needed. Experience with embedded programming is a PLUS but not a MUST. Team one to three members from either Politechnica University of Bucharest or Military Technical Academy. Linux Embedded Challenge 2015
View full article
Debian 12 Installation Guide for i.MX8MM, i.MX8MP and i.MX8MN: GPU, VPU and Multimedia Packages This guide is a continuation from our latest Debian 12 Installation Guide for iMX8MM, iMX8MP, iMX8MN and iMX93. Here we will describe the process to install the multimedia and hardware acceleration packages, specifically GPU, VPU and Gstreamer on i.MX8M Mini, i.MX8M Plus and i.MX8M Nano. The guide is based on the one provided by our colleague Build Ubuntu For i.MX8 Series Platform - NXP Community, which requires to previously build an image using Yocto Project with the following distro and image name. Distro name - fsl-imx-wayland Image name – imx-image-multimedia For more information please check our BSP documentation i.MX Yocto Project User’s Guide. Hardware Requirements Linux Host Computer (Ubuntu 20.04 or later) USB Card reader or Micro SD to SD adapter SD Card Evaluation Kit Board for the i.MX8M Nano, i.MX8M Mini, i.MX8M Plus Software Requirements Linux Ubuntu (20.04 tested) or Debian for Host Computer BSP version 6.1.55 built with Yocto Project After built the image we can start the installation by following the steps below: GPU Installation The GPU Installation consists of copy the files from packages imx-gpu-g2d, imx-gpu-viv, libdrm to the Debian system. As our latest installation guide, we will continue naming “mountpoint” to the directory where Debian system is mounted on our host machine. Regarding the path provided on each step, we put labels and that you will need to change based on your environment. These are the paths that Yocto Project uses to save the packages. However, this could change on your environment and you can find the work directory from each package using the following command: bitbake -e | grep ^WORKDIR= This command will show you the absolute path of the package work directory. 1. Install GPU Packages $ sudo cp -Pra /tmp/work/armv8a- -poky-linux/imx-gpu-g2d/6.4.11.p2.2-r0/image/* mountpoint $ sudo cp -Pra /tmp/work/armv8a- -poky-linux/imx-gpu-viv/1_6.4.11.p2.2-aarch64-r0/image/* mountpoint $ sudo cp -Pra /tmp/work/armv8a- -poky-linux/libdrm/2.4.115.imx-r0/image/* mountpoint 2. Install Linux IMX Headers and IMX Parser $ sudo cp -Pra /tmp/work/armv8a- -poky-linux/linux-imx-headers/6.1-r0/image/* mountpoint $ sudo cp -Pra /tmp/work/armv8a-poky-linux/imx-parser/4.8.2-r0/image/* mountpoint   3. Use chroot $ sudo LANG=C.UTF-8 chroot mountpoint/ qemu-aarch64-static /bin/bash   4. Install Dependencies $ apt install libudev-dev libinput-dev libxkbcommon-dev libpam0g-dev libx11-xcb-dev libxcb-xfixes0-dev libxcb-composite0-dev libxcursor-dev libxcb-shape0-dev libdbus-1-dev libdbus-glib-1-dev libsystemd-dev libpixman-1-dev libcairo2-dev libffi-dev libxml2-dev kbd libexpat1-dev autoconf automake libtool meson cmake ssh net-tools network-manager iputils-ping rsyslog bash-completion htop resolvconf dialog vim udhcpc udhcpd git v4l-utils alsa-utils git gcc less autoconf autopoint libtool bison flex gtk-doc-tools libglib2.0-dev libpango1.0-dev libatk1.0-dev kmod pciutils libjpeg-dev 5. Create a folder for Multimedia Installation. Here we will clone all the multimedia repositories.  $ mkdir multimedia_packages $ cd multimedia_packages   6. Build Wayland $ git clone https://gitlab.freedesktop.org/wayland/wayland.git $ cd wayland $ git checkout 1.22.0 $ meson setup build --prefix=/usr -Ddocumentation=false -Ddtd_validation=true $ cd build $ ninja install 7. Build Wayland Protocols IMX $ git clone https://github.com/nxp-imx/wayland-protocols-imx.git $ cd wayland-protocols-imx $ git checkout wayland-protocols-imx-1.32 $ meson setup build --prefix=/usr -Dtests=false $ cd build $ ninja install 8. Build Weston $ git clone https://github.com/nxp-imx/weston-imx.git $ cd weston-imx $ git checkout weston-imx-11.0.3 $ meson setup build --prefix=/usr -Dpipewire=false -Dsimple-clients=all -Ddemo-clients=true -Ddeprecated-color-management-colord=false -Drenderer-gl=true -Dbackend-headless=false -Dimage-jpeg=true -Drenderer-g2d=true -Dbackend-drm=true -Dlauncher-libseat=false -Dcolor-management-lcms=false -Dbackend-rdp=false -Dremoting=false -Dscreenshare=true -Dshell-desktop=true -Dshell-fullscreen=true -Dshell-ivi=true -Dshell-kiosk=true -Dsystemd=true -Dlauncher-logind=true -Dbackend-drm-screencast-vaapi=false -Dbackend-wayland=false -Dimage-webp=false -Dbackend-x11=false -Dxwayland=false $ cd build $ ninja install VPU Installation To install VPU and Gstreamer please follow the steps below: 1. Install firmware-imx $ sudo cp -Pra /tmp/work/all-poky-linux/firmware-imx/1_8.22-r0/image/lib/* mountpoint/lib/ 2. Install VPU Driver $ sudo cp -Pra /tmp/work/armv8a- -poky-linux/imx-vpu-hantro/1.31.0-r0/image/* mountpoint $ sudo cp -Pra /tmp/work/armv8a- -poky-linux/imx-vpuwrap/git-r0/image/* mountpoint 3. Use chroot $ sudo LANG=C.UTF-8 chroot mountpoint/ qemu-aarch64-static /bin/bash   4. Install dependencies for Gstreamer Plugins $ apt install libgirepository1.0-dev gettext liborc-0.4-dev libasound2-dev libogg-dev libtheora-dev libvorbis-dev libbz2-dev libflac-dev libgdk-pixbuf-2.0-dev libmp3lame-dev libmpg123-dev libpulse-dev libspeex-dev libtag1-dev libbluetooth-dev libusb-1.0-0-dev libcurl4-openssl-dev libssl-dev librsvg2-dev libsbc-dev libsndfile1-dev 5. Change directory to multimedia packages. $ cd multimedia-packages   6. Build gstreamer $ git clone https://github.com/nxp-imx/gstreamer -b lf-6.1.55-2.2.0 $ cd gstreamer $ meson setup build --prefix=/usr -Dintrospection=enabled -Ddoc=disabled -Dexamples=disabled -Ddbghelp=disabled -Dnls=enabled -Dbash-completion=disabled -Dcheck=enabled -Dcoretracers=disabled -Dgst_debug=true -Dlibdw=disabled -Dtests=enabled -Dtools=enabled -Dtracer_hooks=true -Dlibunwind=disabled -Dc_args=-I/usr/include/imx $ cd build $ ninja install 7. Build gst-plugins-base $ git clone https://github.com/nxp-imx/gst-plugins-base -b lf-6.1.55-2.2.0 $ cd gst-plugins-base $ meson setup build --prefix=/usr -Dalsa=enabled -Dcdparanoia=disabled -Dgl-graphene=disabled -Dgl-jpeg=disabled -Dopus=disabled -Dogg=enabled -Dorc=enabled -Dpango=enabled -Dgl-png=enabled -Dqt5=disabled -Dtheora=enabled -Dtremor=disabled -Dvorbis=enabled -Dlibvisual=disabled -Dx11=disabled -Dxvideo=disabled -Dxshm=disabled -Dc_args=-I/usr/include/imx $ cd build $ ninja install 8. Build gst-plugins-good $ git clone https://github.com/nxp-imx/gst-plugins-good -b lf-6.1.55-2.2.0 $ cd gst-plugins-good $ meson setup build --prefix=/usr -Dexamples=disabled -Dnls=enabled -Ddoc=disabled -Daalib=disabled -Ddirectsound=disabled -Ddv=disabled -Dlibcaca=disabled -Doss=enabled -Doss4=disabled -Dosxaudio=disabled -Dosxvideo=disabled -Dshout2=disabled -Dtwolame=disabled -Dwaveform=disabled -Dasm=disabled -Dbz2=enabled -Dcairo=enabled -Ddv1394=disabled -Dflac=enabled -Dgdk-pixbuf=enabled -Dgtk3=disabled -Dv4l2-gudev=enabled -Djack=disabled -Djpeg=enabled -Dlame=enabled -Dpng=enabled -Dv4l2-libv4l2=disabled -Dmpg123=enabled -Dorc=enabled -Dpulse=enabled -Dqt5=disabled -Drpicamsrc=disabled -Dsoup=enabled -Dspeex=enabled -Dtaglib=enabled -Dv4l2=enabled -Dv4l2-probe=true -Dvpx=disabled -Dwavpack=disabled -Dximagesrc=disabled -Dximagesrc-xshm=disabled -Dximagesrc-xfixes=disabled -Dximagesrc-xdamage=disabled -Dc_args=-I/usr/include/imx $ cd build $ ninja install 9. Build gst-plugins-bad $ git clone https://github.com/nxp-imx/gst-plugins-bad -b lf-6.1.55-2.2.0 $ cd gst-plugins-bad $ meson setup build --prefix=/usr -Dintrospection=enabled -Dexamples=disabled -Dnls=enabled -Dgpl=disabled -Ddoc=disabled -Daes=enabled -Dcodecalpha=enabled -Ddecklink=enabled -Ddvb=enabled -Dfbdev=enabled -Dipcpipeline=enabled -Dshm=enabled -Dtranscode=enabled -Dandroidmedia=disabled -Dapplemedia=disabled -Dasio=disabled -Dbs2b=disabled -Dchromaprint=disabled -Dd3dvideosink=disabled -Dd3d11=disabled -Ddirectsound=disabled -Ddts=disabled -Dfdkaac=disabled -Dflite=disabled -Dgme=disabled -Dgs=disabled -Dgsm=disabled -Diqa=disabled -Dkate=disabled -Dladspa=disabled -Dldac=disabled -Dlv2=disabled -Dmagicleap=disabled -Dmediafoundation=disabled -Dmicrodns=disabled -Dmpeg2enc=disabled -Dmplex=disabled -Dmusepack=disabled -Dnvcodec=disabled -Dopenexr=disabled -Dopenni2=disabled -Dopenaptx=disabled -Dopensles=disabled -Donnx=disabled -Dqroverlay=disabled -Dsoundtouch=disabled -Dspandsp=disabled -Dsvthevcenc=disabled -Dteletext=disabled -Dwasapi=disabled -Dwasapi2=disabled -Dwildmidi=disabled -Dwinks=disabled -Dwinscreencap=disabled -Dwpe=disabled -Dzxing=disabled -Daom=disabled -Dassrender=disabled -Davtp=disabled -Dbluez=enabled -Dbz2=enabled -Dclosedcaption=enabled -Dcurl=enabled -Ddash=enabled -Ddc1394=disabled -Ddirectfb=disabled -Ddtls=disabled -Dfaac=disabled -Dfaad=disabled -Dfluidsynth=disabled -Dgl=enabled -Dhls=enabled -Dkms=enabled -Dcolormanagement=disabled -Dlibde265=disabled -Dcurl-ssh2=disabled -Dmodplug=disabled -Dmsdk=disabled -Dneon=disabled -Dopenal=disabled -Dopencv=disabled -Dopenh264=disabled -Dopenjpeg=disabled -Dopenmpt=disabled -Dhls-crypto=openssl -Dopus=disabled -Dorc=enabled -Dresindvd=disabled -Drsvg=enabled -Drtmp=disabled -Dsbc=enabled -Dsctp=disabled -Dsmoothstreaming=enabled -Dsndfile=enabled -Dsrt=disabled -Dsrtp=disabled -Dtinyalsa=disabled -Dtinycompress=enabled -Dttml=enabled -Duvch264=enabled -Dv4l2codecs=disabled -Dva=disabled -Dvoaacenc=disabled -Dvoamrwbenc=disabled -Dvulkan=disabled -Dwayland=enabled -Dwebp=enabled -Dwebrtc=disabled -Dwebrtcdsp=disabled -Dx11=disabled -Dx265=disabled -Dzbar=disabled -Dc_args=-I/usr/include/imx $ cd build $ ninja install 10. Build imx-gst1.0-plugin $ git clone https://github.com/nxp-imx/imx-gst1.0-plugin -b lf-6.1.55-2.2.0 $ cd imx-gst1.0-plugin $ meson setup build --prefix=/usr -Dplatform=MX8 -Dc_args=-I/usr/include/imx $ cd build $ ninja install 11. Exit chroot $ exit Verify Installation For verification process, boot your target from the SD Card. (Review your specific target documentation) 1. Verify Weston For this verification you will need to be root user. # export XDG_RUNTIME_DIR=/run/user/0 # weston 2. Verify VPU and Gstreamer Use the following Gstreamer pipeline for Hardware Accelerated VPU Encode. # gst-launch-1.0 videotestsrc ! video/x-raw, format=I420, width=640, height=480 ! vpuenc_h264 ! filesink location=test.mp4 Then you can reproduce the file with this command: # gplay-1.0 test.mp4 Finally, you have installed and verified the GPU, VPU and Multimedia packages. Now, you can start testing audio and video applications. Graphics & Display i.MX 8M | i.MX 8M Mini | i.MX 8M Nano Linux Multimedia Yocto Project
View full article
使用 J-Link 与 MIMXRT1170-EVKB 注意:有关类似的 EVK,请参阅: 使用 J-Link 与 MIMXRT1060-EVKB 或 MIMXRT1040-EVK 使用 J-Link 与 MIMXRT1060-EVK 或 MIMXRT1064-EVK 使用 J-Link 与 MIMXRT1160-EVK 或 MIMXRT1170-EVK 本文介绍了在该 EVK 上使用 J-Link 调试探针的详细方法。有两种方式:将板载 MCU-Link 调试探针更新为 Segger J-Link 固件,或将外部 J-Link 调试探针连接到 EVK。使用板载调试电路可免去对额外调试探针的需求。本文将详细介绍上述任一 J-Link 方式的使用步骤。 MIMXRT1170-EVKB jumper locationsMIMXRT1170-EVKB 跳线位置 使用外部 J-Link 调试探针 Segger 提供多种J-Link 探针选项。要使用这些探针配合这些 EVK,请按以下配置设置 EVK: 在JP5上安装一个跳线,以断开 SWD 信号与板载调试电路的连接。默认情况下,此跳线处于断开状态。 为EVK供电:默认选项是将电源连接到桶形插孔J43,并将电源开关SW5设置为开启位置 (3-6)。当EVK正常供电时,SW5旁边的绿色LED D16将会亮起。 将 J-Link 探头连接到 J1,20 针双排 0.1 英寸排针。 使用板载 MCU-Link 搭配 J-Link 固件 安装 MCU-Link 安装程序以获取驱动程序和固件更新工具 断开 EVK 上的所有 USB 连接线 为EVK供电:默认选项是将电源连接到桶形插孔J43,并将电源开关SW5设置为开启位置 (3-6)。当EVK正常供电时,SW5旁边的绿色LED D16将会亮起。 在 JP3 处安装跳线以强制 MCU-Link 进入 ISP 模式 将 USB 电缆连接到 J86,连接到 MCU-Link 调试器 转到 MCU-Link 软件包安装中的脚本目录,并双击运行 program_JLINK.cmd (Windows) 或 program_JLINK (Linux/MacOS) 脚本。按照屏幕上的说明操作。在 Windows 中,此脚本通常安装在 C:\nxp\MCU-LINK_installer_3.122\scripts\program_JLINK.cmd。 拔下 J86 处的 USB 线缆 移除 JP3 处的跳线 将 USB 线缆重新连接到 J86。现在,MCU-Link 调试器应以 J-Link 模式启动。 移除跳线 JP5,以连接来自 MCU-Link 调试器的 SWD 信号。默认情况下,此跳线处于断开状态。
View full article
PTN3460, PTN3460I FAQs Q1: Why DisplayPort to LVDS adapter? DPRX-LVDS is an (embedded) DisplayPort to LVDS bridge device that enables connectivity between an (embedded) DisplayPort (eDP) source and LVDS display panel. It processes the incoming DisplayPort (DP) stream, performs DP to LVDS protocol conversion and transmits processed stream in LVDS format. NXP offers two eDP-LVDS devices: 1. PTN3460 is commercial grade, 0 – 70 C. It is in 56-pin HVQFN package, 7 mm x 7 mm, 0.4 mm pitch. Supports pixel clock frequency from 25 MHz to 112 MHz. 2. PTN3460I is industrial grade, -40 – 85 C. It is in 56-pin HVQFN package, 7 mm x 7 mm, 0.4 mm pitch. Supports pixel clock frequency from 6 MHz to 112 MHz. Q2. How to configure eDP-LVDS device?   The eDP-LVDS has embedded microcontroller and on-chip Non-Volatile Memory (NVM) to allow for flexibility in firmware updates. Both PTN3460 and PTN3460I have a built in configuration table in internal 1K SRAM, which allows users to program seven EDID and 128 configuration registers through M/S I2C-bus. Please follow the programming guides below for these devices. 1. AN11128 – Programming Guide for PTN3460 2. AN11606 – Programming Guide for PTN3460I Q3. What is maximum resolution DP-LVDS can support? The available bandwidth over a 2-lane HBR DisplayPort v1.4 link limits pixel clock rate support to: 1. 1-lane DP with single LVDS bus supports 800x600 @ 60 Hz display, 40 MHz pixel clock. 2. 1-lane DP with dual LVDS bus supports 1366x768 @ 60 Hz display, 85.5 MHz pixel clock. 3. 2-lane DP with single LVDS bus operation up to 112 mega pixel per second – supports 1440x900 @ 60 Hz resolution display. 4. 2-lane DP with dual LVDS bus operation up to 224 mega pixel per second – supports 1920x1200 @ 60 Hz resolution display. Q4. How to update the FW? FW for eDP-LVDS devices can be updated by the following methods: 1. Flash over AUX (FoA) – This is an executable window utility that can only run under Windows OS. FW is updated through DP AUX channel. AN11133 – PTN3460 FoA utility user’s guide. 2. Flash over DOS (FoD) – This is an executable DOS utility that can run under DOS without OS. FW is updated through M/S I2C bus. 3. Flash over I2C – FW is updated through external I2C device that is plugged in a M/S I2C header. Q5. How to check the FW version? FW version can be read out with DPCD utility that runs under Windows OS. Please follow DPCD Tool User Manual V1.0. Q6. How many DP lanes supported in NXP DP to LVDS bridge device? NXP DP to LVDS bridge device supports 2 lanes HBR/RBR. Q7. What does HBR/RBR mean? HBR means “High Bit Rate”, it runs 2.7 Gbit/s. RBR means “Reduced Bit Rate”, it runs 1.62 Gbit/s. Q8. What is DP AUX channel? DP AUX channel is used for communication channel between DP source and DP sink device. Q9. What is DP source device? DP source device is DP signal transmitter. Q10. What is DP sink device? DP sink device is DP signal receiver.
View full article