Multi Source Translation Content

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

Multi Source Translation Content

ディスカッション

ソート順:
从中断处理程序进行 I/O 操作 本问题的相关参数如下: 1。IDE:适用于 ARM v 2.2 的 S32 DS(是的,我知道这个已经过时了,但是有问题的产品也是;我们需要支持现有代码) 2.芯片:S32K148 3.操作系统视窗 11 4.系统操作系统:裸机 在 ISR 中尝试执行任何类型的 SPI 主传输都会挂起,通常被中断的 API 是阻塞 I/O(I2C 或 SPI)调用。 在阻塞调用(调用 LPSPI_DRV_MasterTransferBlocking())中,通话挂起是因为 SysTick 中断似乎没有发生,因此 MCU 无法感知时间流逝。 在非阻塞调用(LPSPI_DRV_MasterTransfer(),然后是 LPSPI_DRV_MasterGetTransferStatus(SPI1,&byte_remaining))中,byte_remaining 保持原值。我尝试在调用 LPSPI_DRV_MasterAbortTransfer() 进行异步传输之前,添加对 LPSPI_DRV_MasterAbortTransfer(SPI1) 的调用,但结果还是一样。 关于一个半相关的问题,是什么触发了 SysTick_Handler()?我的直觉告诉我,它应该一直运行,每 1 毫秒增加一次刻度计数,但在其正文中设置一个断点似乎只能在某些时间触发。奇怪的是,即使阻塞性 SPI 传输成功,有时也不会触发,如果系统定时器之前未触发,则应触发系统定时器。 另一个半相关的问题是,在 SPI 的 S32 Cookbook 示例代码中,没有使用 SDK 提供的应用程序接口;这些示例直接完成了所有寄存器位操作。是否有更接近生产价值代码的示例,因为它们至少调用了恩智浦的应用程序接口,而不是重新发明轮子? Re: Doing I/O from an interrupt handler 你好@PetrS 非常感谢。中断优先级确实解决了这个问题。不过,我有一个问题: 我同意在 ISR 中阻塞不是一个好主意,但在单线程应用程序中又有什么办法呢?我可以在应用程序上下文中旋转,直到 SPI 传输完成。这将允许其他 I/O 中断发生(我的理解是,负优先级中断无论如何都会触发;当进入正优先级 ISR 时,它们不会被禁用)。但是在我的情况下,进行重叠的 I/O 既不可能,也不可取。 1.这是不可能的,因为 S32K148 是所有总线的总线主控器。因此,如果它在 ISR 中进行 SPI 传输,则可能无法驱动另一条 I/O 总线,因此无法触发中断。 2.这并不可取,因为 ISR 之间可能存在共享全局,所以我不想在当前 I/O 完成之前启动新的 I/O。 对于单线程裸机应用程序,您建议如何处理这种情况? Re: Doing I/O from an interrupt handler 您好, 好吧,那么只需中断优先级就能导致这种行为。阻塞 API 会挂起的原因很简单,如果两个中断具有相同的优先级,那么当 GPIO ISR 处于活动状态时,LPSPI ISR 就无法运行。阻塞调用等待 ISR 完成传输并发布信号,但在 GPIO ISR 退出之前,ISR 永远不会获得 CPU 时间。SDK 的驱动程序确实在 LPSPI 中断中完成传输,然后才发布信号量以释放屏蔽调用,因此同等优先级 ISR 将以这种方式使传输陷入僵局。 非阻塞 API 的行为相同:如果从具有相同优先级的 GPIO ISR 调用,LPSPI ISR 无法抢占它的优先级,因此 byte_remaining 永远不会改变,因为驱动程序状态机永远不会被 LPSPI IRQ 服务。只有将 LPSPI 提高到更高优先级(数值较低)后,LPSPI 中断才会立即触发,完成传输,并允许阻塞和非阻塞 API 按预期工作。尝试 /* 在 Cortex-M 上,数字越小优先级越高 */ INT_SYS_SetPriority(SysTick_IRQn, 0); // 如果依赖于 tick 超时 INT_SYS_SetPriority(LPSPI1_IRQn, 1); // 必须高于 GPIO INT_SYS_SetPriority(PORTC_IRQn, 2); // 您按钮的 PORTx IRQ   注意:无论优先级如何修正,建议还是不要在 ISR 中使用阻塞的 SPI API,同样也不要在 ISR 中等待非阻塞传输完成。S32K LPSPI 驱动程序在其中断处理程序中进行传输,长时间的 ISR 会阻止其他中断运行。   BR, Petr Re: Doing I/O from an interrupt handler 您好, S32K1 SDK 无法阻止 ISR 的 I/O。LPSPI_DRV_MasterTransferBlocking() 等待 OSIF semaphore;在 ISR 上下文中,没有地方可以阻塞,也没有 tick/time base 可以前进,因此会挂起。使用非阻塞 API(LPSPI_DRV_MasterTransfer),在 LPSPI ISR/回调中完成传输,然后向任务/主循环发出信号。此外,SysTick 会在定时器结束时触发,但其处理程序只有在未被屏蔽且具有足够的 NVIC 优先级时才会运行--因此,如果设置了 PRIMASK 或处于更高优先级的 ISR 中,它将被推迟。 烹饪手册项目特意采用轻量级设计,直接展示外围设备的使用,而不使用更高级别的驱动程序抽象;这些项目旨在作为学习的起点,而非生产使用。如果您需要恩智浦驱动程序风格的示例,请参考 SDK 或 RTD 驱动程序/示例项目,而不是烹饪手册。   BR, Petr Re: Doing I/O from an interrupt handler 您好, 即使它现在 "工作 "了,你仍然不应该在 ISR 内进行 SPI 传输。 如果你以后改变了优先级,或添加了另一个外设,你可以很容易地重新创建刚刚诊断出的死锁状态。 最安全的设计是始终缩短 ISR,将真正的工作推迟到主循环。 仅将 ISR 用作触发信号;在 main () 中同步执行 SPI 传输,或者在 ISR 中启动但由 LPSPI ISR 完成的非阻塞传输,主等待完成标志。 BR, Petr
記事全体を表示
iMX93 FRDM 上的 DMS 嗨,团队、 是否有人在 i.MX93 FRDM 平台上实施或评估过驾驶员监控系统 (DMS) 演示? 我正在寻找与以下功能相关的详细信息或引用: 人脸侦测 人脸地标检测 虹膜/眼睛地标检测 驾驶员行为检测,如吸烟和使用手机 如果有任何演示、参考设计、SDK 示例或合作伙伴解决方案,请分享详细信息或相关文档。 提前感谢您的支持。 致以最诚挚的问候, Ajnas FRDM 培训 Re: DMS on iMX93 FRDM 你好@ajnas-c、 感谢您联系恩智浦支持中心! 您可以通过下面的链接查看该演示的详细信息和源代码: https://github.com/nxp-imx-support/nxp-demo-experience-demos-list/tree/lf-6.12.3_1.0.0/scripts/machine_learning/dms 此致 查维拉
記事全体を表示
[imx95] v4l2-ctl 视频捕获错误 VIDIOC_STREAMON 返回 -1(管道损坏) 大家好, 我们正在将 nvp6188a 移植到 imx95 evk 主板,linux 内核版本:L6.12.38 nvp6188a 是一款四通道模拟输入到 mipi csi 输出芯片。 它的 mipi csi 连接到 imx95 的 mipi rx csi0,使用"virtual-channels" 传输 4 通道 1080p 数据,数据格式:数据格式:YUV422 8 位,数据顺序:UYVY:UYVY。 我们可以看到 nvp6188a 在启动阶段已经初始化得很好; 在执行流捕获命令之后: " v4l2-ctl -d /dev/video0 --set-fmt-video-width=1920,height=1080,pixelformat='NV12' --strean-mmap=4" 我们总是收到这样一条令人心碎的信息: VIDIOC_STREAMON 返回 -1 (管道断裂) 我们尝试了很多方法,但总是弹出这样的信息。 附件中有 nvp6188a 驱动程序、dts 文件、media-ctrl 和 dmesg 信息。 如蒙指教,不胜感激。 谢谢! 祝你愉快 Re: [imx95] v4l2-ctl video capture error VIDIOC_STREAMON returned -1 (Broken pipe) 重新附加文件 Re: [imx95] v4l2-ctl video capture error VIDIOC_STREAMON returned -1 (Broken pipe) 你好 不幸的是,我们没有移植此 NVP6188A 的参考文档,并且我们的 BSP 默认不支持此功能。你可以尝试使用我们的 MX8XMIPI4CAM2 板作为参考,与你的自定义驱动程序进行比较。 检查您的设备树后,我没有发现语法问题。 您收到的错误日志可能是由于格式不匹配或 CSI 端口未激活造成的,但这与相机驱动程序有关。 我建议您检查 CSI 车道是否有活动。 顺祝商祺! Re: [imx95] v4l2-ctl video capture error VIDIOC_STREAMON returned -1 (Broken pipe) 您需要配置链接/路径和格式,然后才能流式传输数据。 例如 # 配置链接 media-ctl -d /dev/media0 -l '"camera 2-0030":0 -> " csidev-4ad30000.csi":0[1]' media-ctl -d /dev/media0 -l '"csidev-4ad30000.csi":1 -> " 4ac10000.syscon:formatter@20":0[1]' media-ctl -d /dev/media0 -l '"4ac10000.syscon:formatter@20":1-> " crossbar":2[1]' media-ctl -d /dev/media0 -l '"crossbar":7 -> " mxc_isi.2":0[1]' media-ctl -d /dev/media0 -l '"mxc_isi.2":1-> "mxc_isi.2.捕获":0[1]' #Configure 路由 media-ctl -d /dev/media0 -R '"crossbar" [2/0 -> 7/0 [1]]' media-ctl -d /dev/media0 -R '"csidev-4ad30000.csi" [0/0 -> 1/0 [1]]' media-ctl -d /dev/media0 -R '"4ac10000.syscon:formatter@20"[0/0 -> 1/0 [1]]' # 配置格式 media-ctl -d /dev/media0 -V '"csidev-4ad30000.csi":0/0 [fmt:YUYV/1920x1080 field:none]' media-ctl -d /dev/media0 -V '"csidev-4ad30000.csi":1/0 [fmt:YUYV/1920x1080 field:none]' media-ctl -d /dev/media0 -V '"4ac10000.syscon:formatter@20":0/0[fmt:YUYV/1920x1080 field:none]' media-ctl -d /dev/media0 -V '"4ac10000.syscon:formatter@20":1/0[fmt:YUYV/1920x1080 field:none]' media-ctl -d /dev/media0 -V '"crossbar":2/0 [fmt:YUYV/1920x1080 field:none]' media-ctl -d /dev/media0 -V '"crossbar":7/0 [fmt:YUYV/1920x1080 field:none]' media-ctl -d /dev/media0 -V '"mxc_isi.2":0/0[fmt:YUYV/1920x1080 field:none]' media-ctl -d /dev/media0 -V '"mxc_isi.2":1/0[fmt:YUYV/1920x1080 field:none]' Re: [imx95] v4l2-ctl video capture error VIDIOC_STREAMON returned -1 (Broken pipe) 酷~ 现在可以用了。谢谢。
記事全体を表示
IMX8MP DDR4 自定义板::你处于紧急模式。 您好, 我使用的是 i.MX8M Plus DDR4 自定义主板。我正在加载Image.gz、DTB 和rootfs (cpio.gz)从 SD 卡到 DDR,然后从 DDR 启动内核和根文件系统。 加载根文件系统后,我看到以下信息: 您已进入紧急模式。登录后,键入"journalctl -xb" 了解详情。 按 Enter 进行维护 (或按 Control-D 继续): [ 12.946854] random: crng init done. 我附上了完整的启动日志供你参考。 以下是我用来将图像从 SD 卡加载到 DDR 的 U-启动 命令: ================== 从 SD 卡加载到 DDR ================== fatload mmc${mmcdev}:1${loadaddr} Image.gz fatload mmc${mmcdev}:1${fdt_addr} imx8mp-ddr4-evk.dtb fatload mmc${mmcdev}:1${initrd_addr} cpio.gz setenv bootargs console=${console},${baudrate} earlycon=${earlycon},${baudrate} rdinit=/sbin/init booti${loadaddr} ${initrd_addr} ${fdt_addr} ============================================================== 我的问题是 如何才能获得正常的 root 登录提示,如: root@imx8mp- ddr4 -evk:~? 为避免进入紧急模式,是否建议修改引导参数? 如能提供任何指导或建议,将不胜感激。 感谢并致意 巴德瓦杰 Re: IMX8MP DDR4 Custom board :: You are in emergency mode. 你好 能否请您分享整个日志? 顺祝商祺! Re: IMX8MP DDR4 Custom board :: You are in emergency mode. 你好@JorgeCas、 请在下面找到随附的完整日志以供您参考。 谢谢!
記事全体を表示
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実装の場合は不要なオーバーヘッドが発生します。ありがとうございます。
記事全体を表示
S32 Design Studio for Power Architecture v2.1 - 更新 7 现已发布! <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />       产品发布公告 汽车微控制器和处理器 面向 Power Architecture 的 S32 设计工作室 v2.1 更新 7          新增内容 集成 S32 SDK,适用于 Power Architecture RTM 3.0.2(参见S32 SDK发行说明) 这是一个累积更新 - 它包含之前更新的所有内容(更新 1 、更新 2 ) 安装说明 此更新可供在线安装 (通过 S32DS 扩展和更新)或 离线安装(直接下载链接)  安装: 进入菜单"帮助" -> "S32DS 扩展和更新" 对话框 从可用项目中选择并点击 "Install/Update" 按钮 离线安装: 前往 S32 Design Studio for Power 产品页面 -> 下载部分或使用直接链接下载更新存档 zip 文件 启动 S32 Design Studio,转到“帮助”->“S32DS 扩展和更新”,然后单击“转到首选项”链接 并添加一个新的站点“添加...”存储库并浏览以选择您在上一步中下载的更新存档 zip 文件 选择“S32 Design Studio for Power Architecture Device Package”和“使用 S32 SDK 3.0.2 更新”对于 Power Architecture 包,然后单击“安装/更新”按钮。 此时将启动更新安装过程。 概述 SDK
記事全体を表示
D1が赤く点灯しているため、S32K146EVB-Q144ボードをフラッシュできません 当初は正常に動作していた S32K146EVB-Q144 評価ボードを持っています。 Lin スタックを実装したデバッグ セッション中に、動作が停止しました。 コントローラをリセットすると、D1 の赤いライトが点灯し続け、他の 2 つの緑のライトも点灯したままになります。 USB ソースからの電源を選択するために、位置 2-3 の J10 と J107 を使用し、OpenSDA アプリのフラッシュ モードを選択するために、位置 2-3 の J104 を使用しました。 現在、私のコントローラは S32DS によってまったく検出されません。 症状はまったく同じであるように思われたので、以下の投稿に記載されている手順を試してみました。 Re: S32K144 D2 赤色 LED が常時点灯 - NXP コミュニティ ここで、P&E Kinetics Recovery Tool を使用して OpenSDA でプロセッサを停止できましたが、それでも新しいアプリケーションをフラッシュすることはできませんでした。 停止に成功しても再度点滅させることができず、赤色のライトが点灯したままになります。 コントローラはジャンパー J104 を調整することでブートローダーモードに入ることもでき、実際にブートローダーアプリをフラッシュすることもできました。しかし、どういうわけか私は再びフラッシュを書き込むことができず、サンプルの.srecをフラッシュしようとするとファイルでは、D2 は定期的に点滅し続けます (通常、正常に点滅すると 1 回点滅してからアプリの実行が開始されます)。 つまり、簡単に言うと: - コントローラがメインに到達できない、または継続的にリセットされる - コントローラはフラッシュに再度書き込むことができません (セキュリティ上の問題である可能性があります)。 私はデバッグ プローブを持っていないため、SEGGER-JLINK に関連するものを除き、上記の Thread で言及されているテクニックを試しました。私は PE Multilink Universal を持っていますが、フラッシュを回復/消去することはできません。 ボードの詳細は次のとおりです。 ボード名: S32K146EVB-Q144 MicroBootカーネルバージョン: 1.08 ブートローダーのバージョンは: 1.13 インストールされたアプリケーション: PEMicro EVB-S32K144 マスストレージ/デバッグアプリ アプリケーションのバージョン: 1.25 DUID は: 39A33939-91818199-37539805-F97AE678 EUID は: 4141A238-1BDB8733-1854BA22-D38368D6 TUID: 74823938-47328196-8576CC9B-0242983E TOAは次のとおりです: 86B6E505-56F042E0-79B2A114-62BA758F TOA2 は: 86B6E505-EB1A8A7C-AF6E54B6-43532420 SUID は: 86B6E505-5BA18877-37239804-8003EC65 MCU は永久にロックされますか? そうでない場合、どうすればボードを回復できますか? ハードウェアに障害があると思われますか?(参考までに、D2とD3が緑色に点灯しているのは、5Vと3.3Vの電源レールが正常に動作していることを意味していると思います) 物理的に大量消去する方法はありますか?(ボードがまったく検出されないため、S32DS 緊急キネティクス オプションは使用できません)。 OpenSDA チップの任意のピンを接地すると、フラッシュ メモリが消去されますか? Re: Unable to flash S32K146EVB-Q144 board as D1 glowing red クリスマス休暇期間中は、サポートの応答時間は通常より長くなる場合がありますのでご了承ください。場合によっては、ご要望への対応が新年以降になることもあります。ご理解のほどよろしくお願いいたします。 Re: Unable to flash S32K146EVB-Q144 board as D1 glowing red ハイ P&E リカバリ ユーティリティがMCU を停止したら、ツールを閉じます。 次にステップ3に進みます または ステップ4 S32K146 を再プログラムします。 これが原因かどうかは分かりませんが、 アプリケーションのバージョン: 1.25 。リセットボタンSW5を押したまま、USBケーブルを挿入して MSD-DEBUG-S32K146EVB-Q144_Pemicro_v121.SDA BOOTLOADER ドライブに挿入します。これにより、 アプリケーションバージョンを1.21に。 また添付しました lpit_periodic_interrupt_s32k146.srec 。 ちなみに、外付けのSegger J-Linkは必要ありません。ステップ6に従う場合: SW5を押しながらJ7を挿入すると、OpenSDAがブートローダーモードになります。そして、 SEGGER J-Linkアプリケーションファームウェア( OpenSDA_V1.bin )をOpenSDA_V1.binにコピーします。 オンボード デバッガーは J-Link になります。 よろしくお願いします、 ロビン --------------------------------------------------------------------------------- 注記: - この投稿があなたの質問への回答である場合は、「解決策として承認」ボタンをクリックしてください。ありがとう! - Threadは最後の投稿から7週間フォローされます。それ以降の返信は無視されます。 後ほど関連する質問がある場合は、新しいThreadを開いて、閉じたThreadを参照してください。 --------------------------------------------------------------------------------- Re: Unable to flash S32K146EVB-Q144 board as D1 glowing red こんにちは、ロビン。 迅速なご返信ありがとうございます。MSD -DEBUG-S32K146EVB-Q144_Pemicro_v121.SDAにロールバックしてみましたが、 同じように動作します。ブートローダーアプリはフラッシュされますが、D1はまだ赤く点灯しており、.srecをフラッシュできません。kinetis 回復ツールを使用して停止した後のファイル。コントローラが srec をフラッシュしようとしているが、D2 が定期的に点滅するため失敗していることがわかります (通常は 3 ~ 4 回だけ点滅し、アプリがフラッシュされます)。 その後、ブートローダーをOpenSDA_V1.bin に切り替えて、その後 J-Link コマンダーを使用して接続を試みましたが、次のログが表示されました。 SEGGER J-Link Commander V8.94 (2025年12月10日 14:50:47 にコンパイル) DLLバージョンV8.94、2025年12月10日14:49:54にコンパイル USB経由でJ-Linkに接続しています...OK ファームウェア: J-Link OpenSDA コンパイル日: 2023年1月31日 13:42:36 ハードウェアバージョン: V1.00 J-Link の稼働時間(起動以降): 0d 00h 00m 28s シリアル番号: 621000000 VTref=3.300V ターゲット接続を確立するには「connect」と入力し、ヘルプを表示するには「?」と入力します J-Link>接続 デバイス/コアを指定してください。 : S32K146 選択ダイアログに「?」と入力してください デバイス>S32K146 ターゲットインターフェースを指定してください: J) JTAG (デフォルト) S) SWD T) cJTAG TIF>SWD 対象インターフェース速度[kHz]を指定します。 : 4000 kHz 速度>100 デバイス「S32K146」が選択されました。 SWD経由でターゲットに接続する ConfigTargetSettings() の開始 ConfigTargetSettings() 終了 - 22us かかりました InitTarget() 開始 SWDが選択されました。JTAG -> SWD 切り替えシーケンスを実行しています。 CPU の停止中にタイムアウトが発生しました。 InitTarget() 終了 - 392 ミリ秒かかりました ID 0x2BA01477 の SW-DP が見つかりました DPv0が検出されました CoreSight SoC-400 以前 APマップをスキャンして利用可能なすべてのAPを見つける AP[2]: APマップの終端に達したため、APスキャンを停止しました AP[0]: AHB-AP (IDR: 0x24770011, ADDR: 0x00000000) AP[1]: JTAG-AP (IDR: 0x001C0000, ADDR: 0x01000000) APマップを反復処理して使用するAHB-APを見つける AP[0]: コアを発見 AP[0]: AHB-AP ROMベース: 0xE00FF000 CPUIDレジスタ: 0x410FC241。実装者コード: 0x41 (ARM) Cortex-M4 r0p1、リトルエンディアンが見つかりました。 FPUnit: 6 つのコード (BP) スロットと 2 つのリテラル スロット CoreSight コンポーネント: ROMTbl[0] @ E00FF000 [0][0]: E000E000 CID B105E00D PID 000BB00C SCS-M7 [0][1]: E0001000 CID B105E00D PID 003BB002 DWT [0][2]: E0002000 CID B105E00D PID 002BB003 FPB [0][3]: E0000000 CID B105E00D PID 003BB001 ITM [0][4]: E0040000 CID B105900D PID 000BB9A1 TPIU 126976バイトの作業用RAM(0x1FFF0000)を初期化しています リセットタイプ: NORMAL ( https://kb.segger.com/J-Link_Reset_Strategies ) リセット: DEMCR.VC_CORERESET によるリセット後にコアを停止します。 リセット: AIRCR.SYSRESETREQ 経由でデバイスをリセットします。 リセット: S_RESET_ST はクリアされません。CPU は永久にリセット状態のままになっているようです。 リセット: フォールバックを使用: ピンをリセットします。 リセット: DEMCR.VC_CORERESET によるリセット後にコアを停止します。 リセット: リセットピン経由でデバイスをリセットします リセット: VC_CORERESET は CPU を停止しませんでした。(デバッグ ロジックもリセット ピンによってリセットされますか?)。 リセット: 再接続して CPU を手動で停止します。 ID 0x2BA01477 の SW-DP が見つかりました DPv0が検出されました CoreSight SoC-400 以前 AP マップの検出をスキップしました。手動で構成された AP マップが見つかりました。 AP[0]: AHB-AP (IDR: 未設定、ADDR: 0x00000000) AP[0]: コアを発見 AP[0]: AHB-AP ROMベース: 0xE00FF000 CPUIDレジスタ: 0x410FC241。実装者コード: 0x41 (ARM) Cortex-M4 r0p1、リトルエンディアンが見つかりました。 CPUを停止できませんでした リセット: コアはリセット後に停止せず、WDT を無効にしようとしました。 リセット: DEMCR.VC_CORERESET によるリセット後にコアを停止します。 リセット: リセットピン経由でデバイスをリセットします リセット: VC_CORERESET は CPU を停止しませんでした。(デバッグ ロジックもリセット ピンによってリセットされますか?)。 リセット: 再接続して CPU を手動で停止します。 ID 0x2BA01477 の SW-DP が見つかりました DPv0が検出されました CoreSight SoC-400 以前 AP マップの検出をスキップしました。手動で構成された AP マップが見つかりました。 AP[0]: AHB-AP (IDR: 未設定、ADDR: 0x00000000) AP[0]: コアを発見 AP[0]: AHB-AP ROMベース: 0xE00FF000 CPUIDレジスタ: 0x410FC241。実装者コード: 0x41 (ARM) Cortex-M4 r0p1、リトルエンディアンが見つかりました。 CPUを停止できませんでした リセット: 失敗しました。リセット ピンを切り替えてリセット戦略を再度試します。 ID 0x2BA01477 の SW-DP が見つかりました DPv0が検出されました CoreSight SoC-400 以前 AP マップの検出をスキップしました。手動で構成された AP マップが見つかりました。 AP[0]: AHB-AP (IDR: 未設定、ADDR: 0x00000000) AP[0]: コアを発見 AP[0]: AHB-AP ROMベース: 0xE00FF000 CPUIDレジスタ: 0x410FC241。実装者コード: 0x41 (ARM) Cortex-M4 r0p1、リトルエンディアンが見つかりました。 リセット: DEMCR.VC_CORERESET によるリセット後にコアを停止します。 リセット: AIRCR.SYSRESETREQ 経由でデバイスをリセットします。 リセット: S_RESET_ST はクリアされません。CPU は永久にリセット状態のままになっているようです。 リセット: フォールバックを使用: ピンをリセットします。 リセット: DEMCR.VC_CORERESET によるリセット後にコアを停止します。 リセット: リセットピン経由でデバイスをリセットします リセット: VC_CORERESET は CPU を停止しませんでした。(デバッグ ロジックもリセット ピンによってリセットされますか?)。 リセット: 再接続して CPU を手動で停止します。 ID 0x2BA01477 の SW-DP が見つかりました DPv0が検出されました CoreSight SoC-400 以前 AP マップの検出をスキップしました。手動で構成された AP マップが見つかりました。 AP[0]: AHB-AP (IDR: 未設定、ADDR: 0x00000000) AP[0]: コアを発見 AP[0]: AHB-AP ROMベース: 0xE00FF000 CPUIDレジスタ: 0x410FC241。実装者コード: 0x41 (ARM) Cortex-M4 r0p1、リトルエンディアンが見つかりました。 CPUを停止できませんでした リセット: コアはリセット後に停止せず、WDT を無効にしようとしました。 リセット: DEMCR.VC_CORERESET によるリセット後にコアを停止します。 リセット: リセットピン経由でデバイスをリセットします リセット: VC_CORERESET は CPU を停止しませんでした。(デバッグ ロジックもリセット ピンによってリセットされますか?)。 リセット: 再接続して CPU を手動で停止します。 ID 0x2BA01477 の SW-DP が見つかりました DPv0が検出されました CoreSight SoC-400 以前 AP マップの検出をスキップしました。手動で構成された AP マップが見つかりました。 AP[0]: AHB-AP (IDR: 未設定、ADDR: 0x00000000) AP[0]: コアを発見 AP[0]: AHB-AP ROMベース: 0xE00FF000 CPUIDレジスタ: 0x410FC241。実装者コード: 0x41 (ARM) Cortex-M4 r0p1、リトルエンディアンが見つかりました。 CPUを停止できませんでした CPUを停止できませんでした CPUを停止できませんでした ****** エラー: CPU を停止できませんでした。 メモリゾーン: ゾーン: 「デフォルト」 説明: デフォルトのアクセスモード Cortex-M4 が識別されました。 J-Link> Re: Unable to flash S32K146EVB-Q144 board as D1 glowing red オシロスコープを使用してリセットピンの波形を観察し、波形を送信してリセット期間とハイレベル幅を教えてください。場合によっては回復不可能となり、S32K1 チップを交換しなければならないこともあります。   接続戦略と回復手順: 目標: デバッガーにコアを停止し、問題のあるファームウェアを無効にする機会を与えます。 A. SWD速度を下げる + 「リセット時に接続」 J-Link Commanderの場合: J-Link> device S32K146 J-Link> if SWD J-Link> speed 1000 ; start at 1 MHz; if still failing, drop to 100 kHz J-Link> connect それでも失敗する場合は、手動の connect‑under‑reset を使用します。 RESET_b を外部的に低く保持し、ボードに電源を投入します。 Commander で connect を実行します。 リセットを解除し、直ちに次の操作を実行します。 J-Link> r J-Link> h J-Link> halt 特に 100 kHz SWD 速度ではタイミングが重要になる可能性があるため、何度か試してください。 B. J-Linkリセット戦略の変更 リセット戦略の値によって動作が異なります。Commander の場合 (正確な ID はバージョンによって異なる場合があります): J-Link> SetResetType = 3 ; a common “connect under reset / halt after reset”; Try 2 / 4 / 12 etc. depending on your J-Link version J-Link> r J-Link> halt または、J-Link Commander で「リセット状態で接続」を選択してみてください。 Re: Unable to flash S32K146EVB-Q144 board as D1 glowing red S32K146EVB-SPF-29844-RB.pdfによると: J104 1-2 OpenSDAからのリセット信号 J10 2-3 P5V0 外部の 9V または 12V 電源がある場合は、 J107 1-2 P5V_SBC を接続することもできます。PEMicro Multilinkなどの外部デバッガーをお持ちの場合は、それを使用して、S32K146 用のプログラムをダウンロードできるかどうかを確認してください。 最後にダウンロードされたプロジェクトは何ですか?CSEc は有効になっていますか? 前回の質問に答えて、オシロスコープを使用して測定したリセット信号を提供してください。
記事全体を表示
88Q9098: 能否在 STA 模式下启用/禁用 ofdma/mu-mimo? 我一直在苦苦寻找答案,但就是找不到。 我想添加启用/禁用功能 下一次连接到接入点时为 DL-OFDMA、UL-OFDMA、DL-MU-MIMO、UL-MU-MIMO 我知道启用这些功能是由接入点完成的、 但我并不关心它以何种形式出现,比如改变能力,或者其他、 我只是想让它以这种方式工作: 当我启用 DL-OFDMA 时,如果接入点尝试使用,它就会工作、 而当我在 STA 中禁用它时,即使 AP 尝试禁用,也不会起作用。 如果可能,那就再好不过了、 但即使不可能,我也会非常感激。 我真的需要你的帮助。 谢谢! Re: 88Q9098: Is it possible to enable/disable ofdma/mu-mimo in STA mode? 感谢您的支持 Re: 88Q9098: Is it possible to enable/disable ofdma/mu-mimo in STA mode? 你好@nhk OFDMA/MU-MIMO 功能只能由 AP 端配置。STA 无法禁用它。STA 将使用 AP 指定的通信协议进行通信。 顺祝商祺! 肖恩
記事全体を表示
s32k312 hse work abnormal when enable gcc -O1 Hi NXP expert,     1. i am using s32k312 hse to do a rsa verify function,  i store the rsa public key in NVM catalog  ``` { HSE_ALL_MU_MASK,  HSE_KEY_OWNER_CUST,   HSE_KEY_TYPE_RSA_PUB, 2,  HSE_KEY2048_BITS }, ```    2. it can verify in default project, which in settings, gcc optimization is  None (-O0)   3.  i want to shrink the binary size, and change gcc settings to -O1,  no else changed. then the function returns  failed (0x55a5a164) how to solve this problem    thanks. Re: s32k312 hse work abnormal when enable gcc -O1 Hi victory, Based on your description, it sounds very similar to the issue described in the S32K3常见问题检查列表(Check list)-V1.2-20251113.docx:  4.32 编译器优化设置不当导致HSE服务失败问题 Please note that during the Christmas holiday period, our support response times may be longer than usual. In some cases, your request might be addressed after the New Year. Thank you for your understanding. Best Regards, Robin
記事全体を表示
[滥用] 发布者:@JohnKlug /板:imx-processors/举报人:srbacvj srbacvj 报告了 @JohnKlug 发布的帖子 Could not invoke dnf for external kernel module in Yocto kirkstone ,原因如下: 原因: 详情: < a href="https://tylkoastronomia.pl/node/9904"> http://prosti-proshay.ru/lyudi/pharmacy-online-1"> https://www.siriuspup.com/breeders/pharmacy-online-11"> https://stage.cc.radiant.digital/node/3046"> http://www.pajeroio.com/blog/pharmacy-online-0"> https://www.musicinafrica.net/newsfeed/213463/373133"> http://www.sccu.chula.ac.th/node/933"> < a href="https://www.lawtech.ru/subscribe/26816-16102025"> https://okwiki.ru/catalog/pharmacy-online"> < a href="https://neweddingday.com/your-couple-name-2333"> https://www.siriuspup.com/breeders/pharmacy-online-11"> http://xn--37-6kci4a9aahjr0a.xn--p1ai/pharmacy-online-ivanovo-8"> https://hetnieuweteamwerken.be/forums/forum/pharmacy-online-5"> https://www.jobwebby.ilovemarkso.com/domainasname-anthony-gmbh/pharmacy-online-6"> http://prosti-proshay.ru/lyudi/pharmacy-online-1"> https://www.intimus.pt/pharmacy-online-16"> https://www.intimus.pt/pharmacy-online-16"> https://dev.beautynbrushes.com/services-provided/tree-braids-maroonimmortalep"> https://whs6570.com/node/2099"> http://www.le-cercle-des-sourires.fr/session/3338"> < a href="https://www.jobwebby.ilovemarkso.com/domainasname-anthony-gmbh/pharmacy-online-6"> https://www.danduo168.com/en/artworks/693/pharmacy-online-0"> https://auc.org.ua/faq/29092025-0456"> https://jeunescathos-bxl.org/fr/content/pharmacy-online-54"> https://www.musicinafrica.net/newsfeed/213463/373133"> http://xn--37-6kci4a9aahjr0a.xn--p1ai/pharmacy-online-ivanovo-8"> https://masters.adminskiracing.com/node/413296"> https://slp.millingtonpubliclibrary.org/content/pharmacy-online-9"> < a href="https://tylkoastronomia.pl/node/9904"> https://fo-rum.auc.org.ua/faq/29092025-0042-1"> https://ruckup.org/caregivers-forum/topic/6386"> < a href="https://www.rapidservice.com.ec/es/content/pharmacy-online"> https://www.globalrealtor.co.in/node/4204"> < a href="https://whs6570.com/node/2099"> https://darkmetalmush.net/history/pharmacy-online-23"> https://www.thebiketube.com/f-moser-ann"> http://xn--80aah2bgapnqg.xn--p1ai/story/pharmacy-online-3"> https://stage.cc.radiant.digital/node/3046"> https://masters.adminskiracing.com/node/413296"> https://dev.worldwar1luton.com/forum-topic/pharmacy-online-5"> 发布链接: https://community.nxp.com/t5/i-MX-Processors/Could-not-invoke-dnf-for-external-kernel-module-in-Yocto/m-p/1627964#M203740 帖子作者 @JohnKlug|Email Author 报告人:srbacvj |Email Reporter 报告的帖子有 2 个回复。
記事全体を表示
[S32K344MINI-EVB] 搭載デバッガ機能の確認 (K26 OpenSDA) NXPコミュニティの皆様、こんにちは。 S32K3シリーズの評価のため、S32K344MINI-EVBを購入予定です。 購入する前に、デバッグ インターフェースの要件を再確認して、正しく設定されていることを確認したいと思います。 私の理解: ブロック図とドキュメントによると、このボードにはK26 を使用した搭載デバッグインターフェースが含まれており、OpenSDA を使用する搭載デバッガーとして機能すると考えられます。 質問: S32 Design Studio を使用してS32K344MINI-EVB をフラッシュおよびデバッグするには、USB ケーブルだけが必要であることを意味しますか?(つまり、基本的な評価には Multilink や Lauterbach のような外部デバッガーは必要ありませんか?) この特定のボードには、注意する必要のある「ND (No Debugger)」バリアントや特別なジャンパーがないことを確認したいだけです。ご協力ありがとうございます! Re: [S32K344MINI-EVB] Confirming On-board Debugger Capabilities (K26 OpenSDA) ハイ 先週参加したトレーニング中に、同僚がこのボードの「ND (No Debugger)」バリアントについて言及しているのを聞きませんでした。 以前の S32K3X4EVB-T172 に関しては、当時 K26 が在庫切れだったため、「ND (デバッガーなし)」バリアントが存在していました。 新しく発売されたボードなのでまだ手元にありません。本日、S32K344MINI-EVB を注文しました。よろしければ、商品到着後に確認させていただきます。 よろしくお願いします、 ロビン --------------------------------------------------------------------------------- 注記: - この投稿があなたの質問への回答である場合は、「解決策として承認」ボタンをクリックしてください。ありがとう! - Threadは最後の投稿から7週間フォローされます。それ以降の返信は無視されます。 後ほど関連する質問がある場合は、新しいThreadを開いて、閉じたThreadを参照してください。 --------------------------------------------------------------------------------- Re: [S32K344MINI-EVB] Confirming On-board Debugger Capabilities (K26 OpenSDA) こんにちは、 ご返信ありがとうございます。返答をお待ちしています。ありがとう。 Re: [S32K344MINI-EVB] Confirming On-board Debugger Capabilities (K26 OpenSDA) 3日前にS32K344MINI-EVBボードを社内で注文しましたが、まだ発送されていません。いつ受け取れるかは不明ですので、お知らせします。 Re: [S32K344MINI-EVB] Confirming On-board Debugger Capabilities (K26 OpenSDA) K26 を備えた搭載デバッグインターフェースを備えた S32K344MINI-EVB を受け取りました。
記事全体を表示
EB Tresos - Ae 模块生成代码时选择了错误的 SPI 模块 RTD 6.0.0 中的 Ae 插件/模块正在生成使用 SPI LSPI0 而非 LSPI1 的代码,这无法配置,而且是错误的,因为 Ae 只能使用 SPI 1。 版本 Ae 中的 SPI 选择不可配置 由于 D2D 连接需要使用 SPI 1 不过,生成的文件使用 SPI 0 作为临时解决方案手动修改 Re: EB Tresos - Ae module generating code with wrong SPI module selected 嗨,@guillermoarb 请核实以下内容: 在配置工具中打开 AeSpiSequence 税务摊销收益。 检查 AeSpiSequenceName 是否分配给了正确的 SpiSequence。 确认该 SpiSequence 的 SpiJobAssignment 已链接到相应的 SpiJob。 确认 SpiJob 的 SpiDeviceAssignment 已设置为 LPSPI1 实例的 SpiExternalDevice。 如果这些说明似乎不清楚或令人困惑,请参考随 RTD 提供的示例项目 Ae_Spi_Example_EB_001_S32M276,因为它有助于验证是否存在错误或遗漏的配置。 BR、VaneB
記事全体を表示
PN5180 库移植 IRQ 问题 你好,我正在使用 PN5180 和另一个品牌的 MCU,并试图将 NxpNfcRdLib_PN5180_v07.14.00_Pub 移植到我的项目中。我在项目中 添加了带有PH_OSAL_NULLOS 的NfcrdlibEx1_DiscoveryLoop 示例。 为了测试通信,我打印了 PN5180 的固件版本。 然后调用 然后调用 DiscoveryLoop_Demo 函数来读取 NFC 卡,但当 调用 phacDiscLoop_Run 函数。我跟踪找到确切位置,看到它在下面等待中断: 我将 IRQ 引脚配置为上升沿,但它永远不会上升。问题出在哪里,如何解决?   Re: PN5180 Library Porting IRQ Issue 你好@alig_ones 希望你一切顺利。 请注意,将 NFC读取器库移植到第三方平台不在我们的支持范围内,此移植工作由客户自行负责。我们有针对我们产品组合中一些 MCU 的移植指南: NFC 读取器库移植 FRDM_K64F 、将 NFC 读取器库与 LPC55S69 一起使用以及将 NFC 读取器库移植到 i.MX RT1050 - NXP 社区。虽然您使用的是第三方主机 MCU,但这些指南可帮助您确定针对不同 MCU 应进行的修改。 请问您使用的是OM25180开发套件,还是基于 PN5180 的定制板? Eduardo。 Re: PN5180 Library Porting IRQ Issue 您好, 您观察到的行为可能与天线有关。由于您使用的是定制板,请确认您遵循了 PN5180 天线设计并且您的天线已正确调整。除了 NFC 天线工具 和 NFC 阅读器 天线设计 工具 之外,我们还建议参加 NFC 天线 设计系列培训 ,因为其中介绍了天线、优化和调试以及测试的主要方面。 为了正确设计天线,必须使用阻抗分析仪或 VNA 测量天线阻抗。这种 VNA 可用于测量天线线圈以及包括匹配电路在内的天线阻抗。您可以查看使用 miniVNA 对 NFC 和读卡器IC 天线的测量和调谐;本应用笔记为如何使用 miniVNA 网络分析仪测量和调整/匹配 NFC 和读卡器IC 天线提供了指导。此外,您还可以参考如何使用 NanoVNA 进行 NFC 读卡器天线设计。 关于图形用户界面,我想您指的是NFC 驾驶舱。PNEV5180B 评估板已准备好使用该工具;在该板中,PN5180 通过 SPI 连接到恩智浦 LPC1769 µC。值得注意的是,要将 PNEV5180B 与 NFC Cockpit 结合使用,需要在 LPC1769 上安装特定的固件。有关详细信息,请参阅《恩智浦 NFC 驾驶舱用户指南》。 Eduardo。 Re: PN5180 Library Porting IRQ Issue 你好,爱德华多、 我正在使用基于 PN5180 的自定义板。我将 LPCD 模式改为 PHHAL_HW_PN5180_LPCD_MODE_DEFAULT,现在我得到了中断,执行不再卡住。但它很少能读卡,我应该在 NFC 库中查找哪个关键字来增加读卡范围? 我读到 OM25180 可以与图形用户界面一起使用,我可以将其与 MCU 一起使用吗?谢谢。 这就是可以读取的结果: Re: PN5180 Library Porting IRQ Issue 硬件团队更改了天线设计,现在读起来很好,谢谢。
記事全体を表示
需要指导:NNStreamer (i.MX8MP) 上的 YOLOv8 输出形状不匹配 + 管道设计问题(微型 硬件和软件详情 i.mx8mPlus 和 Linux 电路板支持包 LF6.12.34_2.1.0 目标 我正在i.MX8MP 上构建一个命令行流水线(无图形用户界面),其中推理、叠加和显示均在 GStreamer 和 NNStreamer 中运行。 当前实验(命令行) 我试过这个管道:       gst_debug=gstreamer: 4、tensor_filter: 6、tensor_transform: 6、tensor_decoder: 7\ gst-launch-1.0--no-position\ v4l2src 设备=/dev/video4 num-buffers=200!\ video/x-raw,width=1920,height=1080,format=NV12,framerate=30/1 !\ imxvideoconvert_g2d !\ video/x-raw,width=320,height=320,format=RGBA !\ videoconvert !\ video/x-raw,width=320,height=320,format=BGR !\ tensor_converter !\ tensor_transform mode=arithmetic option=typecast:int8,add:-128 !\ tensor_filter framework=tensorflow-lite model=${MODEL}custom=Delegate:External,ExtDelegateLib:${VX_LIB}!\ tensor_transform mode=arithmetic option=typecast:float32,add:128.0,mul:0.004982381127774715!\ tensor_transform mode=transpose option=1:0:2 !\ tensor_decoder mode=bounding_boxes option1=yolov8 option2=${LABELS}option3=0 option4=1920:1080 option5=320:320 !\ cairooverlay name=overlay !\ videoconvert !\ autovideosink log file link LINK  ❗ 问题 我的 YOLOv8 TFLite 模型输出(1、7、2100),但 i.MX8MP 上的 NNStreamer 却显示7 × 2100 × 1。 我收到了这样的解释: YOLOv8 TFLite 型号的输出为(1,7,2100),而 NNStreamer 的 i.MX8MP YOLOv8 解码器的输出为 7×2100×1。此电路板支持包版本仅支持对四维张量进行转置,因此模型输出需要去量化,重塑为 (1,7,2100,1),然后进行转置。 输入: int8 [1, 320, 320, 3] 输出:int8 [1, 7, 2100] 刻度/零点 输出正确包含 3 个类别 + 4 个 bbox 值 ⚙️ 当前(缓慢)的方法 现在的申请流程是 GStreamer → BGR → OpenCV NPU 推断 OpenCV 后处理 返回 RTSP 管道 这会导致多个软件视频转换,在理想条件下,我们只能达到约 20 FPS,尽管模型本身可以运行 60 多 FPS。 🔄 建议的新方法 我想把管道分开: 路径 A - 推断 仅在此处转换 NV12 → BGR 运行 NNStreamer 路径 B - 叠加 + 显示 保留原始 NV12/YUY2 框架 直接在 NV12 上绘制边界框(最好使用硬件) → 将 NV12 送入编码器/RTSP → 完全避免软件视频转换 我首先想使用纯粹的 gst-launch 来制作这个原型,然后在 Python 中应用这种方法(可能使用 OpenGL 来实现 NV12 叠加层)。 🙏 我需要帮助 如何在 i.MX8MP 上将(1,7,2100) TFLite 输出重塑/转换为 NNStreamer 的 YOLOv8 解码器所需的格式 有只使用张量滤波器/变换/解码器的工作示例吗? 有没有解决三维输出问题的方法? 在 NV12/YUY2 上叠加的最佳做法 有什么 NNStreamer 友好的方法可以直接在 NV12 上绘制方框吗? 推荐元素(NV12 上的 cairooverlay?OpenGL?v4l2convert?imxvideoconvert_g2d 重叠?) 一般建议:在 i.MX8MP 上,分割管道(BGR 上的推理,NV12 上的叠加)是合理的架构方向吗? i.MX 8M | i.MX 8M Mini | i.MX 8M Nano Re: Need guidance: YOLOv8 output shape mismatch on NNStreamer (i.MX8MP) + pipeline design question ( 感谢您的快速回复,我之前曾尝试在 tensor_transform 中使用重塑,但返回错误。 root@imx8mpevk:~# export MODEL=/root/rtsp/testing1/saved_model_Triding_320.tflite root@imx8mpevk:~# export LABELS=/root/rtsp/testing1/labels.txt root@imx8mpevk:~# gst-用上市-1.0 --no-position v4l2src 设备=/dev/video4!video/x-raw,format=NV12,width=1920,height=1080,framerate=30/1 !imxvideoconvert_g2d !video/x-raw,width=320,height=320,format=RGBA !视频转换 !video/x-raw,width=320,height=320,format=BGR !张量转换器 !tensor_transform mode=arithmetic option=typecast:int8,add:-128 !tensor_filter framework=tensorflow-lite model=${MODEL} !tensor_transform mode=arithmetic option=typecast:float32,add:128.0,mul:0.004982381!tensor_transform mode=reshape option=1:7:2100:1 !tensor_transform mode=transpose option=1:0:2:3 !tensor_decoder mode=bounding_boxes option1=yolov8 option2=${LABELS} option3=0 option4=1920:1080 option5=320:320 !cairooverlay name=overlay !视频转换 !autovideosink ** 消息:14:56:17.877:accl = cpu **(gst-launch-1.0:1335):CRITICAL **:14:56:17.931:bb_getOutCaps: assertion 'config->info.info[0].type== _NNS_FLOAT32' 失败 ** (gst-launch-1.0:1335):CRITICAL **:14:56:17.931:bb_getOutCaps: assertion 'config->info.info[0].type== _NNS_FLOAT32' 失败 ** (gst-launch-1.0:1335):CRITICAL **:14:56:17.931:bb_getOutCaps: assertion 'config->info.info[0].type== _NNS_FLOAT32' 失败 ** (gst-launch-1.0:1335):CRITICAL **:14:56:17.935:bb_getOutCaps: assertion 'config->info.info[0].type== _NNS_FLOAT32' 失败 ** (gst-launch-1.0:1335):CRITICAL **:14:56:17.938:bb_getOutCaps: assertion 'config->info.info[0].type== _NNS_FLOAT32' 失败 ** (gst-launch-1.0:1335):CRITICAL **:14:56:17.939:bb_getOutCaps: assertion 'config->info.info[0].type== _NNS_FLOAT32'失败 警告:流水线错误:无法在元素"tensor_transform" 中设置属性"mode" ,以"重塑" root@imx8mpevk:~# 您能否建议修改流水线,以符合预期格式,并覆盖到 nv12 上。 或者我需要降级或升级我的 linux 电路板支持包 版本才能匹配它们。 如果可能,请测试管道并提供反馈。 感谢并问候 S Vishnu Re: Need guidance: YOLOv8 output shape mismatch on NNStreamer (i.MX8MP) + pipeline design question ( 你好 问题源于您的 YOLOv8 TFLite 模型输出形状(1,7,2100)与 i.MX8MP 上 NNStreamer 的 YOLOv8 解码器所期望的格式(7×2100×1)不匹配。出现这种情况的原因是: 1.您当前的电路板支持包版本 (LF6.12.34_2.1.0)仅支持 4D 张量的转置操作 2.模型输出需要重塑和转置,以符合解码器的预期 ## Recommended Solution For the tensor transformation, you need to apply: 1. Dequantization (if using quantized model) 2. Reshape the output from (1,7,2100) to (1,7,2100,1) 3. Transpose the tensor to the required format (7×2100×1) ## 管道优化 您建议的架构(拆分管道)是一种合理的方法: - 仅为推理转换 NV12 → BGR - 保留原始 NV12/YUY2 帧用于显示/编码 - 使用硬件加速直接在 NV12 上叠加检测结果 这将消除软件视频转换操作,实现更好的性能。 ## NV12 管道的推荐要素 在 NV12 上直接绘制边界框: - 使用具有叠加功能的 `imxvideoconvert_g2d` - 替代方法: `cairooverlay` 可与 NV12 配合使用,但可能需要格式调整 管道结构示例: ``` v4l2src → NV12 → tee → branch1:转换为 BGR → 推理 → 检测结果 branch2:原始 NV12 → imxvideoconvert_g2d(带叠加) → 编码器/显示器 ``` 通过消除不必要的格式转换,利用 NPU 60+ FPS 的能力,这种方法应能显著提高性能,超过当前约 20 FPS 的限制。 此致 Re: Need guidance: YOLOv8 output shape mismatch on NNStreamer (i.MX8MP) + pipeline design question ( 您好, 是的,你需要降级 Linux 电路板支持包。我想这应该能行,因为我们还没有在 Yolov8 中测试过管道。 此致 Re: Need guidance: YOLOv8 output shape mismatch on NNStreamer (i.MX8MP) + pipeline design question ( 我有一个更新,我在张量_变换元素中使用了模式维度变化(dimchg),以符合张量解码器的预期。 .... tensor_filter framework=tensorflow-lite model=../../vaishnavi/model_calibrated_int8_og_320.tflite custom=Delegate:External,ExtDelegateLib:libvx_delegate.so !tensor_transform mode=arithmetic option=typecast:float32,add:128.0,mul:0.004982381!tensor_transform mode=dimchg option=0:1 !tensor_decoder mode=bounding_boxes option1=yolov8 option2=labels_over.txt option3=0 option4=1920:1080 option5=320:320 !...... 感谢您的回复。 感谢和问候 Siddavatam Vishnu
記事全体を表示
pn557 upgrading OS from Android 13 to Android 15 我们一直在开发具有PN553和PN557 NFC功能的Android 15设备。 (系统Android版本为15,之前一直是Android版本为13,这次我们需要为PN557升级) NFC移植的参考源代码具体从链接网址获取源代码。 问题1: 请告诉我应该参考哪个具体链接获取源代码,期待您给一个地址。 问题2: 源代码同时支持PN553和PN557? 还是,它只支持PN557? 期待您们的回复,谢谢! DSC Re: pn557 upgrading OS from Android 13 to Android 15 遗憾的是,PN557 没有 Android 15 移植指南。我们只有 PN7160 和 PN7220 的端口指南。 PN7160/PN7220 – Android 15 移植指南 回复: pn557 upgrading OS from Android 13 to Android 15 PN557 信息不公开。我找不到该产品的驱动程序源代码和文档。我想你可以向当地的恩智浦代理商和恩智浦营销部门查询这个产品,申请支持。 回复: pn557 upgrading OS from Android 13 to Android 15 嗨,吉米: 感谢您的耐心回复和解释!那么,我能理解 PN557 产品本身支持升级/移植到 Android 15,但你的官方团队没有为 PN557 提供专用的移植指南吗?期待您的回复!谢谢!
記事全体を表示
CIFAR10 TFLM快速搭建指南 目录 一、概述 二、环境准备   2.1 虚拟环境   2.2 使用Google Colab 三、核心步骤   3.1 CIFAR10数据集   3.2 模型创建   3.3 模型训练   3.4 模型转换   3.5 推理验证   3.6 benchmark性能   3.7 完整实现   3.7 简化版本(Colab) 四、TFLite Micro部署 五、快速验证 六、应用示例 七、结论 八、参考 Spoiler (Highlight to read) more details, please see the attachment. more details, please see the attachment. 一、概述 CIFAR-10: 多伦多大学Alex Krizhevsky CIFAR-10公开数据集,也是计算机视觉领域最经典、最常用的入门级基准数据集之一,包含10个类别的6万张32x32彩色图像(5万训练,1万测试),例如飞机、汽车、鸟、猫等。 tflm_cifar10:演示了如何在恩智浦的微控制器上使用TensorFlow Lite Micro框架,实时运行CIFAR-10图像分类模型。即将一个预先训练好的、针对CIFAR-10数据集的卷积神经网络模型部署到MCU上,让其具备了识别10类常见物体(飞机、汽车、鸟、猫等)的能力。 模型:一个轻量级CNN模型,包含3个卷积层、ReLU激活层、池化层和一个全连接层。 输入: 32x32像素的彩色图像。 输出:图像属于CIFAR-10中10个类别的概率。 本文档:提供针对CIFAR10数据集搭建的完整流程,从数据集、模型训练转换、部署推理的快速实现方案,可作为示例tflm_cifar10(推理为主)的前置补充,本文不涉及到端侧的部署与优化。  ... """ CIFAR10 快速训练、测试、部署与推理完整流程 """ import os os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2' # 减少TensorFlow日志 import tensorflow as tf import numpy as np import time import matplotlib.pyplot as plt print(f"TensorFlow版本: {tf.__version__}") print(f"NumPy版本: {np.__version__}") class CIFAR10QuickPipeline: def __init__(self): """初始化管道""" self.model = None self.tflite_model = None def load_data(self, sample_size=1000): """加载简化数据集""" print("\n1. 加载CIFAR10数据集...") (x_train, y_train), (x_test, y_test) = tf.keras.datasets.cifar10.load_data() # 预处理 x_train = x_train.astype('float32') / 255.0 x_test = x_test.astype('float32') / 255.0 # 使用少量数据(快速训练) x_train_small = x_train[:sample_size] y_train_small = y_train[:sample_size] x_test_small = x_test[:200] y_test_small = y_test[:200] # 转换为独热编码 y_train_onehot = tf.keras.utils.to_categorical(y_train_small, 10) y_test_onehot = tf.keras.utils.to_categorical(y_test_small, 10) print(f"训练数据: {x_train_small.shape}") print(f"测试数据: {x_test_small.shape}") return (x_train_small, y_train_onehot), (x_test_small, y_test_onehot) def create_simple_model(self): """创建简化CNN模型""" print("\n2. 创建简单CNN模型...") model = tf.keras.Sequential([ # 输入层 tf.keras.layers.Input(shape=(32, 32, 3)), # 卷积层1 tf.keras.layers.Conv2D(8, (3, 3), padding='same', activation='relu'), tf.keras.layers.MaxPooling2D((2, 2)), # 卷积层2 tf.keras.layers.Conv2D(16, (3, 3), padding='same', activation='relu'), tf.keras.layers.MaxPooling2D((2, 2)), # 全连接层 tf.keras.layers.Flatten(), tf.keras.layers.Dense(32, activation='relu'), tf.keras.layers.Dropout(0.2), tf.keras.layers.Dense(10, activation='softmax') ]) model.compile( optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'] ) model.summary() self.model = model return model def train_model(self, x_train, y_train, x_test, y_test, epochs=10): """训练模型""" print("\n3. 训练模型...") # 回调函数:早停 callbacks = [ tf.keras.callbacks.EarlyStopping( monitor='val_loss', patience=3, restore_best_weights=True ) ] history = self.model.fit( x_train, y_train, epochs=epochs, batch_size=32, validation_data=(x_test, y_test), callbacks=callbacks, verbose=1 ) # 评估模型 test_loss, test_acc = self.model.evaluate(x_test, y_test, verbose=0) print(f"\n测试准确率: {test_acc:.4f}") return history def convert_to_tflite(self): """转换为TFLite格式""" print("\n4. 转换为TFLite格式...") # 转换为TFLite converter = tf.lite.TFLiteConverter.from_keras_model(self.model) # 优化配置 converter.optimizations = [tf.lite.Optimize.DEFAULT] converter.target_spec.supported_types = [tf.float32] # 转换 tflite_model = converter.convert() # 保存模型 with open('cifar10_model.tflite', 'wb') as f: f.write(tflite_model) # 保存为字节数组(用于嵌入式部署) self.save_as_c_array(tflite_model) self.tflite_model = tflite_model model_size = len(tflite_model) / 1024 print(f"模型大小: {model_size:.1f} KB") return tflite_model def save_as_c_array(self, tflite_model): """保存为C数组格式""" c_array = '// 自动生成的CIFAR10模型数组\n' c_array += '#include \n\n' c_array += 'const unsigned char cifar10_model_tflite[] = {\n' # 每行显示12个字节 for i in range(0, len(tflite_model), 12): line_bytes = tflite_model[i:i+12] c_array += ' ' + ', '.join(f'0x{b:02x}' for b in line_bytes) + ',\n' c_array += '};\n\n' c_array += f'const unsigned int cifar10_model_tflite_len = {len(tflite_model)};\n' with open('cifar10_model_array.h', 'w') as f: f.write(c_array) print("C数组已保存: cifar10_model_array.h") def test_tflite_inference(self, x_test, y_test, num_tests=10): """测试TFLite推理""" print(f"\n5. 测试TFLite推理 ({num_tests}个样本)...") if self.tflite_model is None: with open('cifar10_model.tflite', 'rb') as f: self.tflite_model = f.read() # 加载TFLite模型 interpreter = tf.lite.Interpreter(model_content=self.tflite_model) interpreter.allocate_tensors() input_details = interpreter.get_input_details() output_details = interpreter.get_output_details() # 类别名称 class_names = ['飞机', '汽车', '鸟', '猫', '鹿', '狗', '青蛙', '马', '船', '卡车'] correct = 0 times = [] for i in range(min(num_tests, len(x_test))): # 准备输入 input_data = x_test[i:i+1] # 推理 start_time = time.perf_counter() interpreter.set_tensor(input_details[0]['index'], input_data) interpreter.invoke() inference_time = time.perf_counter() - start_time times.append(inference_time) # 获取输出 output = interpreter.get_tensor(output_details[0]['index']) predicted_class = np.argmax(output[0]) actual_class = np.argmax(y_test[i]) # 检查是否正确 if predicted_class == actual_class: correct += 1 print(f"样本 {i+1}: 预测={class_names[predicted_class]:<5} " f"实际={class_names[actual_class]:<5} " f"时间={inference_time*1000:.1f}ms " f"{'✓' if predicted_class == actual_class else '✗'}") accuracy = correct / num_tests avg_time = np.mean(times) * 1000 print(f"\n推理统计:") print(f" 准确率: {accuracy:.1%} ({correct}/{num_tests})") print(f" 平均推理时间: {avg_time:.1f}ms") print(f" 推理速度: {1000/avg_time:.0f} FPS") return accuracy, avg_time def benchmark_performance(self, x_test): """性能基准测试""" print("\n6. 性能基准测试...") interpreter = tf.lite.Interpreter(model_content=self.tflite_model) interpreter.allocate_tensors() input_details = interpreter.get_input_details() # 预热 test_input = x_test[0:1] for _ in range(10): interpreter.set_tensor(input_details[0]['index'], test_input) interpreter.invoke() # 基准测试 num_runs = 100 start_time = time.perf_counter() for _ in range(num_runs): interpreter.invoke() total_time = time.perf_counter() - start_time avg_time = total_time / num_runs * 1000 print(f"基准测试结果:") print(f" 总推理次数: {num_runs}") print(f" 总时间: {total_time*1000:.1f}ms") print(f" 平均推理时间: {avg_time:.1f}ms") print(f" 推理速度: {1000/avg_time:.0f} FPS") return avg_time def save_model_summary(self): """保存模型摘要""" summary = [] self.model.summary(print_fn=lambda x: summary.append(x)) with open('model_summary.txt', 'w') as f: f.write('\n'.join(summary)) f.write(f"\n\n模型信息:") f.write(f"\n参数数量: {self.model.count_params():,}") f.write(f"\n保存时间: {time.ctime()}") print("模型摘要已保存: model_summary.txt") def main(): """主函数""" print("=" * 60) print("CIFAR10 快速训练、测试、部署管道") print("=" * 60) # 创建管道 pipeline = CIFAR10QuickPipeline() # 1. 加载数据 (x_train, y_train), (x_test, y_test) = pipeline.load_data(sample_size=2000) # 2. 创建模型 pipeline.create_simple_model() # 3. 训练模型 history = pipeline.train_model(x_train, y_train, x_test, y_test, epochs=15) # 4. 保存模型摘要 pipeline.save_model_summary() # 5. 转换为TFLite pipeline.convert_to_tflite() # 6. 测试推理 pipeline.test_tflite_inference(x_test, y_test, num_tests=20) # 7. 性能测试 pipeline.benchmark_performance(x_test) print("\n" + "=" * 60) print("流程完成!生成的文件:") print(" 1. cifar10_model.tflite - TFLite模型") print(" 2. cifar10_model_array.h - C数组格式") print(" 3. model_summary.txt - 模型摘要") print("=" * 60) if __name__ == "__main__": main() ... 七、结论 本文旨在以常见图像分类场景(CIFAR10)为例,让读者快速了解从数据搭建、模型创建、训练、推理和验证的完整流程,可作为示例tflm_cifar10(端推理为主)的前置补充,本文不涉及到端侧部署与优化。
記事全体を表示
MCUXpresso IDEにおけるITMとUART出力 1. はじめに 組み込みシステムの開発において、デバッグとログ出力は、コードの正しさを保証しパフォーマンスを最適化するために不可欠です。システムの状態をリアルタイムで監視し、異常動作を捉え、重要なデータを記録することで、開発者は問題の特定や機能の検証を迅速に行うことができます。リソースに制約のある組み込み環境では、適切なデバッグツールや手法を選択することが開発効率に大きな影響を与えます。 NXP が発売した高性能マイクロコントローラ MCXN947 は、複数のデバッグおよびログ記録ソリューションを提供しますが、その中で最もよく使用されるのは ITM (Instrumentation Trace Macrocell) と UART 印刷です。ITM は Cortex-M コアのデバッグ機能を活用して、デバッグ インターフェースを介して高速でデータを送信し、厳格なリアルタイム要件のあるシナリオに適しています。一方、UART 印刷は、UART ペリフェラルを介してログを出力するため、汎用性が高く、生産環境に適しています。 この記事では、MCUXpresso IDEにおいてこれら2つの出力手法の使い方を解説し、開発効率とシステムの信頼性を向上させる方法を説明します。 2. ITMおよびUART印刷の原理と特徴 2.1 ITM -原理と特徴 動作原理: ITM(Instrumentation Trace Macrocell)は、Cortex-Mコアが提供するデバッグ機能です。SWOを用いてデバッグ・インターフェース(例:SWD/JTAG)を通じてリアルタイムでデータを送信します。開発者は ITM_SendChar() 関数を使用してデバッグ情報をITMポートに送信し、送信されたデータはデバッガによって取得され、IDEのデバッグコンソールに表示されます。 メリット: 高速伝送:ITMはデバッグ・インターフェースの帯域幅を使用するため、UARTよりもはるかに高速です(通常10Mbps以上)。 低いCPUオーバーヘッド:ITMはハードウェアによって処理されるため、CPUリソースをほとんど消費しません。 追加のペリフェラルが不要:UARTやその他のペリフェラルに依存しないため、ハードウェアリソースを節約できます。 デメリット: デバッガ依存:デバッガ接続(MCU-LinkやJ-Linkなど)が必要であり、実稼働環境では直接使用できません。 設定が複雑:適切なITMポートとデバッガの設定が必要であり、初心者には難しい場合があります。 2.2 UART出力 – 原理と特徴 動作原理: UART出力は、UARTペリフェラルを介してデバッグ情報をシリアル端末に送信します。開発者は通常、 printf 関数をUARTにリダイレクトすることでログ出力用の標準ライブラリ関数を有効にします。データはTX/RXピンを通じて送信され、シリアルツール(例:PuTTY、Tera Term)を使用してPCで閲覧できます。MCUXpresso IDEには、UARTデバッグ用のターミナルも統合されています。 メリット: 高い汎用性:ほとんどの組み込みボードがUARTをサポートしているため、幅広い用途に使用できます。 本番対応: デバッガを必要とせず、実稼働環境でそのまま使用できます。 実装が容易:設定が簡単で、初心者や迅速なプロトタイプ作成に最適です。 デメリット: 低速: UARTボーレートによって制限されるため、伝送効率が低下します。 周辺リソースの使用: UARTペリフェラルとピンを占有し、他の機能に影響を与える可能性があります。 リアルタイムパフォーマンスが低い:割り込み遅延やボーレートの制約があるため、リアルタイム性が要求される場面には適していません。 2.3 比較のまとめ 以下の表は、ITMとUART出力の主な特徴をまとめたものです。 特長 ITM UART印刷 伝送速度 高速(10 Mbps以上) 低速(一般的に115200 bps) CPUオーバーヘッド 低 より高い ペリフェラル依存 なし UARTペリフェラル & ピンが必要です デバッガ依存 必須 不要 生産適合性 適していません 適している 設定の複雑さ 複雑な シンプル リアルタイムのパフォーマンス ハイ 低 使用シナリオ: ITM:リアルタイム性が高く要求される開発段階(モータ制御や信号処理など)のデバッグに最適です。 UART出力:実稼働時のログ取得、初心者向けの設定、一般的なデバッグ用途に適しています。 3. MCUXpresso IDEでの実装手順 3.1 ITM出力を使用する ハードウェア要件:チップのSWOピンがデバッガのSWOインターフェースに接続されていることを確認します。 ソフトウェアの設定: 1) 新規プロジェクト作成時に、「Redirect printf/scanf to ITM」を選択して printf/scanf をITMにリダイレクトします。   2) Traceクロックを設定します。 /*!< Switch TRACE to TRACE_DIV */ CLOCK_AttachClk(kTRACE_DIV_to_TRACE); /*!< Set up dividers */ /*!< Set TRACECLKDIV divider to value 3 */ CLOCK_SetClkDiv(kCLOCK_DivTraceClk, 3U);    3)MCUXpresso IDEでSWO ITM Console を開き、Core Clock と Trace Clock の設定を行います。     4)ITMコンソールで出力結果を確認します。 3.2 UART出力を使用する 1)新しいプロジェクトを作成する際は、SDKデバッグコンソールをUARTに設定し、デバッグコンソールでUARTを使用するように構成します。          2) MCUXpresso IDEのペリフェラルツールを使用して、DebugConsole-UARTを設定します。    3) Pinsツールを使用して、UART TX/RXピンを設定します。  4)シリアルハードウェアを接続し、ターミナルで出力結果を確認します。 4. 結論 ITMとUART出力にはそれぞれ利点があります。開発者はプロジェクトの要件に基づいて適切な方法を選ぶべきです。ITMは開発中の高いリアルタイム性が求められるデバッグに適しています。一方で、UART出力は実稼働環境や一般的なデバッグに最適です。
記事全体を表示
用于 RTD 的 S32K3xx NXP RTOS 7.0.0 队员们好 我看到SW32K3_S32M27x_RTD_R21-11_5.0.0_D2410 正式支持S32K3xx NXP RTOS 0.4.3 版本。 从那时起,更新的 RTD 版本(6.0.0 和 7.0.0)已经推出。 这些 RTD 版本与 NXP RTOS v0.4.3 兼容吗? 如果不是,我们什么时候可以期待与RTD 7.0.0正式兼容的新恩智浦实时操作系统版本? 谢谢! BR,丹尼尔 RTD 实时操作系统 Re: S32K3xx NXP RTOS for RTD 7.0.0 队员们好 客户希望明天之前得到答复。 您能对此发表评论吗? 谢谢 Re: S32K3xx NXP RTOS for RTD 7.0.0 嗨,丹尼尔 恩智浦实时操作系统和K3xx设备的最后一个版本是在2025年5月发布的,它与RTD 6.0.0 RTM一致(该版本已经发布并由模板团队进行了测试)。从理论上讲,下一个版本计划于2026年11月发布,但由于PL走廊,该版本很可能会被取消。 适用于K3xx设备的恩智浦实时操作系统是演示版,仅用于启用,因此优先级较低。如果有客户提出要求,必须与 PL 讨论。
記事全体を表示
Lauterbach FCCU_Utility 插件 - S32K3xx Lauterbach FCCU_Utility 插件 - S32K3xx MPC57xx_FCCU_Utility_rev0.pdf 这个 Lauterbach 调试插件允许用户直接从调试器界面使用 FCCU 配置。这将加快开发速度,并且无需每次更改 FCCU 配置时重新编译和编程项目。 @Smartling Language Service 所提供的文档描述了如何使用 Lauterbach FCCU(故障收集和控制单元)外围扩展功能用于 S32K3xx 设备。期望用户对 FCCU 机制有深入了解,以便有效使用此扩展。 在这种情况下,这个调试器插件在多种使用场景中都可能非常有价值,例如 FA 或开发过程中的调试。 顺祝商祺! Peter
記事全体を表示
CodeWarrior 8.3 – DSP56F807PY80E のサポート、正しい .cfgファイル、およびフラッシュプログラマ/CCSの問題 メッセージ: こんにちは、 私は CodeWarrior 8.3 (56800E アーキテクチャ) を使用しており、USB TAP を使用して DSP56F807PY80E をプログラムする必要があります。いくつか質問がありますので、公式な説明をいただければ幸いです。 新しいターゲットを作成するときに、DSP56F807 が CPU リストに表示されません。DSP5685x と M56F8002 しか表示されません。CodeWarrior 8.3 で DSP56F807 を有効にするサポート パッケージ、アップデート、アドオンがあるかどうか、または古いパッケージに含まれていたかどうかを知りたいです。 フラッシュ プログラマーには、このデバイス用の構成ファイル (通常は 56807_flash.cfg と呼ばれます) が必要です。NXP はこのプロセッサ用の公式 cfg ファイルを提供していますか?もしそうなら、どこからダウンロードCANか?いいえの場合、有効な構成に必要な正しい HFM メモリ範囲とパラメータを確認できますか? CCS に関しては、AN4338 の手順 (ccs フォルダーの置き換えと libusb-win32 ドライバの使用) に従って、USB TAP を動作させました。これは CodeWarrior 8.3 でも正しい方法でしょうか?Windows 7 または Windows 10 用の新しい CCS バージョンはありますか?libusb-win32 はまだサポートされているドライバですか? CodeWarrior がフラッシュを正常に消去しても、プログラミングが完了しない場合があります。56800E フラッシュ プログラマを DSP56F807 と併用する場合、既知の制限はありますか?推奨される JTAG クロック設定またはタイムアウトはありますか? 最後に、CodeWarrior 8.x で DSP56F807 を使用するための最新のドキュメントは何ですか? よろしくお願いします。 Re: CodeWarrior 8.3 – Support for DSP56F807PY80E, correct .cfg file, and Flash Programmer/CCS issues こんにちは@Raffaele_AQS 、 ご投稿ありがとうございます。 新しいターゲットを作成するときに、DSP56F807 が CPU リストに表示されません。DSP5685x と M56F8002 しか表示されません。CodeWarrior 8.3 で DSP56F807 を有効にするサポート パッケージ、アップデート、アドオンがあるかどうか、または古いパッケージに含まれていたかどうかを知りたいです。 ->> アップデートは必要ないと思います、CW8.3ダウンロード後すぐに DSP56F807 をネイティブにサポートします。私の場合、 [ファイル] -> [新規] を選択し、最初のオプション「DSP56800E クイック スタート r2.5 ステーショナリー」以外のプロジェクト テンプレートを選択すると、使用可能なデバイス オプションに DSP56F807 が表示されます。 フラッシュ プログラマーには、このデバイス用の構成ファイル (通常は 56807_flash.cfg と呼ばれます) が必要です。NXP はこのプロセッサ用の公式 cfg ファイルを提供していますか?もしそうなら、どこからダウンロードCANか?いいえの場合、有効な構成に必要な正しい HFM メモリ範囲とパラメータを確認できますか? ->> ここに添付してCAN。 CCS に関しては、AN4338 の手順 (ccs フォルダーの置き換えと libusb-win32 ドライバの使用) に従って、USB TAP を動作させました。これは CodeWarrior 8.3 でも正しい方法でしょうか?Windows 7 または Windows 10 用の新しい CCS バージョンはありますか?libusb-win32 はまだサポートされているドライバですか? ->> CW 8.3 を win7/10 PC で使用する場合は、 「Windows 7/10: CodeWarrior for DSC で USB TAP を使用する」を参照してください。 Eclipse IDE for Microcontrollerss | NXP Semiconductors をコンピューターにインストールし、ccs フォルダーを CodeWarrior v11 インストール フォルダーから CodeWarrior v8.3 インストール フォルダーにコピーして、元の ccs フォルダーを置き換えます。 CodeWarrior がフラッシュを正常に消去しても、プログラミングが完了しない場合があります。56800E フラッシュ プログラマを DSP56F807 と併用する場合、既知の制限はありますか?推奨される JTAG クロック設定またはタイムアウトはありますか? ->>フラッシュプログラミングは「56800E フラッシュプログラマ」と呼ばれますが、ツールの名前からわかるように、MC56F83xx などの DSP56800E コアを搭載した DSC プロセッサのみをサポートしています。DSP56F807 は DSP56800E ではなく DSP56800 コアを使用しているため、「56800E フラッシュプログラマ」ツールを使用して DSP56F807 をプログラムすることはできません。 S_record ファイルのダウンロードをサポートする flash-over-jtag.exe ツールの使用をCAN検討できます。ただし、ツールは DOS オペレーティング システムおよびパラレル コマンド コンバーター デバイス (Wiggler) で実行する必要があり、usbtap デバイスはサポートされていません。 CodeWarrior for DSP56800E ver8.3 ツールのみで USBTAP デバイスを使用してコードをダウンロードできますが、S_record ファイルのダウンロードはサポートされていません。 Flash-over-jtag ツールは次の場所にCANあります。 [CodeWarrior インストールディレクトリ]\ProcessorExpert\Tools\アプリケーション\flash_over_jtag 最後に、CodeWarrior 8.x で DSP56F807 を使用するための最新のドキュメントは何ですか? ->> The DSP56F807 はレガシーデバイスであり、新しいデザインには推奨されません。最新のドキュメントは提供していませんが、入手可能なリソースを入手できるよう最善を尽くします。 生産フラッシュプログラミング CodeWarrior バージョン 8.3 for DSC を使用した Freescale の DSC の生産フラッシュプログラミング シリアルブートローダーを使用してファームウェアを更新することもCANます。 56F8xx シリアルブートローダ お役に立てれば幸いです。他にご質問がございましたらお知らせください。 良い一日を。 BR セレステ ---------------------------------------------------------------------------------------------------------------------- 注: この投稿が質問の答えである場合は、「解決策として承認」ボタンをクリックしてください。ありがとう! ----------------------------------------------------------------------------------------------------------------------
記事全体を表示