Multi Source Translation Content

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

Multi Source Translation Content

讨论

排序依据:
RW612非セキュアフラッシュ設定によりリセット機能が破損する こんにちは、 FRDM-RW612上でARM TF-MとZephyr(NXPダウンストリームv4.3.0)を使用している際に、奇妙なバグが発生しています。フラッシュメモリの一部領域を、セキュリティ保護機能のないLittleFSファイルシステムに使用したいと考えています。NXPのガイド(リンク)に従ってNS領域を追加したところ、ファイルシステムにその領域を正常に使用でき、Zephyr/FS APIやアクセスに関する問題も発生しませんでした。 私の問題は、CONFIG_FLASH KConfigオプションを有効にすると、ボードをリセットできなくなることです。tfm_platform_system_reset()、NVIC_SystemReset() を呼び出したり、物理的なリセットボタンを押したりしても、プロセッサがロックされてしまい、実際にはボードがリセットされなくなります。 デバッガーを使ってステップ実行したところ、デバッガーが切り離される直前に実行された最後の行は core_cm33.h:2683 でした。(__NVIC_SystemReset内): SCB->AIRCR = (uint32_t)((0x5FAUL << SCB_AIRCR_VECTKEY_Pos) | (SCB->AIRCR & SCB_AIRCR_PRIGROUP_Msk) | SCB_AIRCR_SYSRESETREQ_Msk ); リセット後にデバッガを接続すると、GDBはアドレス0x20005840のプログラムが永久に停止すると報告します。 非常に基本的なプログラムで同じことを試してみましたが、Zephyrのhello worldプログラムにCONFIG_FLASHを追加しても、リセットが同じように失敗します。 どんなご協力でもありがたいです。ありがとうございます! Re: RW612 Nonsecure Flash Setting Breaks Reset Functionality こんにちは、@jm-streametric さん。お元気でお過ごしでしょうか。 この動作をより詳細に分析するために、ハローワールドのサンプルで行ったテストにおいて、追加した設定はCONFIG_FLASHのみであることを確認してもらえますか?それとも、ガイドから作成した設定(CONFIG_TFM_CUSTOM_DATA_IMPORT_REGION=y)を使用して、追加したNS領域も有効にしていますか? 私はZephyr(v4.3.0 ダウンストリーム)のhello worldサンプルをCONFIG_FLASH設定のみを追加して実行しようとしましたが、ボードをリセットすることができました。 Re: RW612 Nonsecure Flash Setting Breaks Reset Functionality こんにちは、ローマンさん。 投稿でボードを指定する際に誤りがありました。RW610を搭載したカスタムボードを使用していますが、フラッシュ構成はFRDM-RW612と全く同じです。CONFIG_FLASH=y に設定しても開発ボードをリセットすることはできますが、私のカスタムボードでは、以前の投稿で説明した問題が発生します。 TF-MとZephyrのリポジトリをFRDM-RW612のデフォルトに設定しても、CONFIG_FLASH=yの場合(カスタムデータ領域の有無に関わらず)、ボードをリセットできないという問題が発生します。RW610とRW612の間には、フラッシュメモリやFlexSPIに問題を引き起こす可能性のある違いはありますか?それとも、私のボードに別の問題があるのでしょうか? Re: RW612 Nonsecure Flash Setting Breaks Reset Functionality こんにちは、ジェイクさん。ご説明ありがとうございます。 RW610とRW612の違いは、RW610が802.15.4プロトコルをサポートしていないため、FlexSPI周辺機器との違いはないという点です。 これらの機能をテストする際に、FRDM-RW612ファイルを使用しているかどうか確認していただけますか?それとも、Zephyrでボード用のディレクトリを独自に作成しましたか? また、リセット機能を使わずにサンプルを正しく実行することは可能でしょうか?それとも、MCUはどこかの時点でハードフォルトを起こすのだろうか? Re: RW612 Nonsecure Flash Setting Breaks Reset Functionality こんにちは、ローマンさん。 私のボードは同じフラッシュICを使用しているため、フラッシュ機能のテストには未修正のFRDM-RW612ファイルを使用しています。私のボードには様々な**ペリフェラル**が搭載されており、それぞれにオーバーレイを適用していますが、今回のフラッシュテストケースではそれらのオーバーレイは適用しません。 フラッシュメモリは正常に動作しており、カスタムリージョン内のフラッシュデータにも問題なくアクセスできます。カスタム領域外のフラッシュにアクセスするとエラーが発生しますが、これは想定内の動作です。唯一うまくいかないのは、物理的に、またはtfm_platform_system_reset()を使用してボードをリセットしようとすると、上記のようにボードがロックされてしまうことです。 ありがとう Re: RW612 Nonsecure Flash Setting Breaks Reset Functionality ジェイクさん、情報ありがとうございます。 つまり、プロジェクトに「CONFIG_FLASH=y」設定を追加すると、アプリケーションは通常どおり実行できるが、リセット操作を行うとプログラムがアドレス0x20005840で無限ループに陥る、ということでしょうか? リセット原因が登録されているかどうかを確認するために、リセットステータスレジスタ( SYS_RST_STATUS )をご確認いただけますでしょうか?さらに、セキュリティ保護機能のないバージョンのボードで全てのテストを実施しましたか? FRDM-RW612ボードをお持ちでしたら、カスタムボードでのテストに追加しているのと同じ設定で、この現象が発生するかどうかをテストして教えていただけますでしょうか? Re: RW612 Nonsecure Flash Setting Breaks Reset Functionality こんにちは、ローマンさん。 つまり、プロジェクトに「CONFIG_FLASH=y」設定を追加すると、アプリケーションは通常どおり実行できるが、リセット操作を行うとプログラムがアドレス0x20005840で無限ループに陥る、ということでしょうか? はい、その通りです。ボードの電源を一度切ってから入れ直す以外に、プログラムを再起動する方法がありません。 リセット原因が登録されているかどうかを確認するために、リセットステータスレジスタ( SYS_RST_STATUS )をご確認いただけますでしょうか? 現在、zephyrのサンプル「hello_world」を使ってこれらのテストを試しています。CONFIG_FLASH=y の有無に関わらず、またカスタムボードでも実際の FRDM-RW612 でも、SYS_RST_STATUS の値を取得できませんでした。物理的なリセットボタン(SOC上のPDnに接続)を押したり、printf文の後にtfm_platform_system_reset()を呼び出したり、NULLポインタにアクセスしてハードフォルトを発生させたりしてみましたが、いずれもリセットステータスレジスタに値が表示されませんでした。 リセット前、リセット後のアドレス 0x20005840 のループ内、およびリセット後の BL2 ステージでサンプリングを試しましたが、SYS_RST_STATUS が 0 であるかどうかは関係ありませんでした。チェック方法が間違っているかどうかわかりませんが、GDB (west attach 経由) を使用してデバッグし、 p *((PMU_Type*)0x40031000u)を印刷して PMU ブロック内の値を取得しました。参考までに、サンプリングしたときの SYS_RST_EN レジスタは常に 0x39 でした。 さらに、セキュリティ保護機能のないバージョンのボードで全てのテストを実施しましたか? はい、ビルドフォルダを削除してからwest build -b frdm_rw612/rw612/nsを実行することで、これらのテストをすべてクリーンにビルドします。 独自のボードでテストするために追加している設定と同じ設定で、この動作が発生するかどうか教えてください。 私の設定のほとんどは、Flexcommポート上のペリフェラルに関するものです。この問題に関する私のテストでは、TF-Mプロファイルに加えた変更点のみを残しました。TF-M FWUパーティションを使用して無線ファームウェアアップデートを実行できるように、私はTF-Mのラージプロファイルではなくミディアムプロファイルを使用しています。そのため、ZephyrのKConfigオプションを3つ追加しました。 CONFIG_TFM_PROFILE_TYPE_AROTLESS=y CONFIG_TFM_SFN=y CONFIG_TFM_ISOLATION_LEVEL=1 そして、TF-Mモジュールフォルダで編集したのは、modules/tee/tf-m/trusted-firmware-m/platform/ext/target/nxp/frdmrw612/config.cmakeにある以下のプロファイル設定だけです。 set(TFM_PROFILE "profile_medium_arotless" CACHE STRING "TF-Mプロファイル") これは「profile_large」から変更されたものです ご協力ありがとうございました。他に何か情報が必要な場合はお知らせください。 Re: RW612 Nonsecure Flash Setting Breaks Reset Functionality ジェイクさん、質問に答えていただきありがとうございます。 FRDM-RW612でテストしたとのことですが、このボードでもリセット動作を再現できますか?あなたの設定とTF-Mのビルド変更(TF-Mプロファイル)を追加して試してみましたが、それでもあなたの動作を再現できませんでした。 もしこの現象を再現できるのであれば、FRDM-RW612でその動作を再現するために実行した詳細な手順を共有していただけますでしょうか? Re: RW612 Nonsecure Flash Setting Breaks Reset Functionality こんにちは、ローマンさん。 基板の回路図が間違っていたこと、そして私が使用していたフラッシュチップがFRDM-RW612のようなW25Q512ではなく、実際にはW25Q01だったことが分かりました。W25Q512を基板にはんだ付けしたところ、問題なくリセットできるようになりました。先ほどはお時間を無駄にしてしまい、申し訳ありませんでした。 私のチップに対応するようにフラッシュメモリの設定を再構成する方法に関する資料はありますか?flash_config.c に fc_flexspi_nor_config_t 構造体が見つかりました。これはW25Q512用に設定されているのですが、新しいチップに対応するために変更する必要がある箇所を具体的に説明したドキュメントやガイドはありますか? Re: RW612 Nonsecure Flash Setting Breaks Reset Functionality こんにちは、ジェイク。気にしないでください。根本原因を教えてくれてありがとう。 残念ながら、フラッシュメモリの再構成に関する具体的なガイドはありません。ただし、異なるフラッシュを使用する場合にどのような変更が必要になるかについては、RD-RW612-BGAボードのディレクトリ構造、またはIRIS-W1-EVKボードのディレクトリ構造(u-Blox社製)を参考にすることができます。これらのボードはどちらもFRDMボードとは異なるフラッシュICを搭載しています。 TF-Mの場合、RD-RW612-BGA非セキュアバージョンのボードのディレクトリも存在し、これも必要な変更の参考として利用できます。 お役に立てば幸いです!
查看全文
如何使用 IFC-或非 启动模式在 LS2088ARDB 上启用/访问 QSPI 闪存设备。 HI 1) LS2088ARDB 可以使用 IFC-或非 启动或 QSPI 启动启动。 2) IFC-或非 和 QSPI 是混合的,因此一次只能启用其中一个。 3) 我相信选择 IFC / QSPI 的多路复用器配置是由引导程序根据 RCW 数据完成的。 4) 我的要求:使用 IFC-或非 启动模式启动后需要在 Linux 中访问 QSPI 闪存。这可能吗?如果是,能否提供 QSPI Linux 源代码。 5) 我们能否重新配置多路复用器选择(考虑 IFC-或非 启动模式)以在 Linux 级别启用 QSPI?如果是,请提供源代码。 谢谢。 Re: How to enable/access QSPI flash device on LS2088ARDB with IFC-NOR bootmode. 你好 不是 — 在 LS2088ARDB 上,如果你以 IFC-或非 模式启动,则不应指望以后会从 Linux 启用和使用 QSPI。可用的LS2088a/LayerScape文档表明,由于引脚多路复用,IFC和QSPI是相互排斥的,并且这种多路复用是在RESET期间在RCW中配置的,而不是在运行时动态重新配置。具体到 LS2088A,恩智浦指出,只有在 RCW 中才能实现引脚多路复用,"根据设计,在运行时不可能改变引脚多路复用"。, 你对启动的理解是正确的: RCW 源由复位时采样的复位配置引脚选择。 然后,预启动加载程序从 cfg_rcw_src 指定的源加载 RCW。 在 LS2088 级主板上,开关启动源可能需要更改 RCW 和不同的主板开关/跳线设置。 对于LS2088/LS2044的家庭行为,恩智浦明确证实: “当使用 QSPI 时,只能在 IFC 上使用 与非 控制器。所有其他 IFC 机器......都不能使用,因为它们的信号都经过混搭,以便在 QSPI 接口上使用"。 对于 LS2088A,必须在 RCW 中实现引脚多路复用,而且 "不可能在运行时更改引脚多路复用"。 因此,对你们问题的直接回答是 使用 IFC-NOR 启动模式启动后 Linux 能否访问 QSPI 闪存? 不,不在正常的 LS2088ARDB IFC 启动配置中。IFC 和 QSPI 是多路复用的,选择由 RCW/PinMux 在 RESET 时修复。, Linux 能否在运行时重新配置多路复用器选择以启用 QSPI,同时保持 IFC-或非 启动模式? 不。检索到的文件说,这种引脚复用只限于 RCW,不能在运行时更改。 我能得到 Linux 源代码来实现这种多路复用器切换吗? 我找不到任何 LS2088A/Linux 源代码或运行时 IFC↔QSPI 多路复用器开关的文档机制,而且硬件行为表明不支持这样的 Linux 实现。, 一个细微差别:Layerscape Linux 指南显示,可以使用不同的开关/跳线设置将 LS2088ARDB 配置为从 NOR 或 QSPI 启动,并指出更改引导设备配置可能需要更改 RCW 或其他映像。这支持了这样的结论,即这是启动/RESET 时的硬件配置选择,而不是 Linux-time 交换机   此致 Re: How to enable/access QSPI flash device on LS2088ARDB with IFC-NOR bootmode. 谢谢。这澄清了我的疑惑。
查看全文
Ara240 DDR Speciification HI NXP Team, We have query Regarding Ara240 Does it support LPDDR 5 or it is restricted to LPDDR 4 only. Re: Ara240 DDR Speciification For the Ara240 only support the LPDDR4, no LPDDR5 by now. Ara240 Discrete Neural Processing Unit (DNPU) | NXP Semiconductors
查看全文
添加 USB 设备 CDC 固件支持 我正在尝试将 USB CDC VCOM 设备功能添加到在基于 LPC55S26 的设计上运行的裸机固件中。我已经更新到最新的 MCUXpresso IDE 和 SDK(包括 USB 设备中间件)。当我通过外围设备工具将 USB 设备添加到项目中并配置引脚、时钟等时,会出现两个错误(均相同)和一个警告,如下所示: 错误:" USB 设备 CDC " 驱动程序在项目中缺失。 警告:工具链/IDE 项目中的 USB 通用接头版本不支持。要求:2.8.0,实际:2.12.1:要求:2.8.0,实际:2.12.1。项目可能无法正确编译。 如果我尝试添加 SDK 元器件 " USB Device CDC " 我会收到一条消息,说在 SDK 中找不到该元器件,但是当我查看可用的 SDK 元器件时,它确实存在。如有任何建议,不胜感激。 Re: Add USB Device CDC firmware support 你好@markpotts123、 感谢您的来信。我注意到你也有一个关于同一主题的私人案例,我已经在那里给你回复了。如果您有任何新的更新,请随时回复,我将继续支持您。 祝您愉快 BR 西莱斯特 Re: Add USB Device CDC firmware support 原来是 IDE 和 SDK 版本不匹配。旋转到最新版本后,症状得到了解决。
查看全文
PFE L2ブリッジにおけるポートベースVLAN(PVID)マッピングとタグなし外部トラフィックのサポート 1. 環境 プラットフォーム: S32G3 ソフトウェア: * NXP RTD: SW32G_RTD_4.4_5.0.0_QLP04 * PFEファームウェア:1.12.0 * ツール: libfci_cli PFEはVLAN_BRIDGEモードで動作しています。 --- 2. 目標 外部トラフィックはすべてタグなしで保持しつつ、ポートベースのVLANアイソレータはPFE内部でのみ実装したいと考えています。 望ましい動作: 「`」 emac0 ↔ hif0 (内部VLAN 10) emac1 ↔ hif1 (内部VLAN 20) emac2 ↔ hif2 (内部VLAN 30) 「`」 つまり、 * 外部PCはVLANタグなしでフレームを送受信する * VLANは、ポートベースのトラフィック分離のためにPFE内部でのみ使用されます。 * 目的は、マスター/スレーブアーキテクチャにおける不要なブロードキャスト/フラッディングを防止することです。 --- 3. 現在の構成 VLANとブリッジドメインは以下のように設定されます。 主なコマンド: 「`sh # ブリッジドメインとインターフェースの設定 libfci_cli bd-add --vlan 10 libfci_cli bd-add --vlan 20 libfci_cli bd-add --vlan 30 libfci_cli bd-update --vlan 10 --ucast-hit FORWARD --ucast-miss FLOOD --mcast-hit FORWARD --mcast-miss FLOOD libfci_cli bd-update --vlan 20 --ucast-hit FORWARD --ucast-miss FLOOD --mcast-hit FORWARD --mcast-miss FLOOD libfci_cli bd-update --vlan 30 --ucast-hit FORWARD --ucast-miss FLOOD --mcast-hit FORWARD --mcast-miss FLOOD libfci_cli bd-insif --vlan 10 --i hif0 --tag OFF libfci_cli bd-insif --vlan 10 --i emac0 --tag OFF libfci_cli bd-insif --vlan 20 --i hif1 --tag OFF libfci_cli bd-insif --vlan 20 --i emac1 --tag OFF libfci_cli bd-insif --vlan 30 --i hif2 --tag OFF libfci_cli bd-insif --vlan 30 --i emac2 --tag OFF # PHYインターフェースモード設定 libfci_cli phyif-update --i emac0 -E --promisc OFF --mode VLAN_BRIDGE libfci_cli phyif-update --i emac1 -E --promisc OFF --mode VLAN_BRIDGE libfci_cli phyif-update --i emac2 -E --promisc OFF --mode VLAN_BRIDGE libfci_cli phyif-update --i hif0 -E --promisc OFF --mode VLAN_BRIDGE libfci_cli phyif-update --i hif1 -E --promisc OFF --mode VLAN_BRIDGE libfci_cli phyif-update --i hif2 -E --promisc ON --mode VLAN_BRIDGE libfci_cli bd-stent-add --vlan 10 --mac --i hif0 libfci_cli bd-stent-update --vlan 10 --mac --egress hif0 libfci_cli bd-stent-add --vlan 20 --mac --i hif1 libfci_cli bd-stent-update --vlan 20 --mac --egress hif1 libfci_cli bd-stent-add --vlan 30 --mac --i hif2 libfci_cli bd-stent-update --vlan 30 --mac --egress hif2 「`」 要約すると: - 各VLAN(10/20/30)には、emac/hifのペアが割り当てられます。 - すべてのトラフィックは外部からタグ付けされません - VLANは内部分離のみに使用されます   4. 問題 タグなしフレームが外部から到着した場合(例:PC → ping)、各ドメインのイングレスカウンタはゼロのままです。 「`」 ドメイン10イングレス: 0 ドメイン10イングレス: 0 ドメイン20 イングレス: 0 「`」 つまり、タグなしフレームは内部VLANにマッピングされないため、意図したポートベースの分離が機能しない。 # libfci_cli bd-print ドメイン01 [デフォルト] phyifs (タグ付き): --- phyifs (タグなし): --- ucast-hitアクション:3(破棄) ucast-miss アクション : 3 (破棄) mcast-hitアクション:3(破棄) mcast-miss アクション : 3 (破棄) 侵入者数:4173人 受信バイト数:560619 出口:958 送信バイト数:234538 ドメイン00 [フォールバック] phyifs (タグ付き): --- phyifs (タグなし): --- ucast-hitアクション:3(破棄) ucast-miss アクション : 3 (破棄) mcast-hitアクション:3(破棄) mcast-miss アクション : 3 (破棄) 侵入: 0 受信バイト数:0 出口: 0 送信バイト数:0 ドメイン10 phyifs (タグ付き): --- phyifs (タグなし): emac0、hif0 ucast-hit アクション: 0 (前方) ucast-miss action : 1 (FLOOD) mcast-hit アクション: 0 (前方) mcast-miss アクション : 1 (FLOOD) 侵入: 0 受信バイト数:0 出口: 0 送信バイト数:0 ドメイン20 phyifs (タグ付き): --- phyifs (タグなし): emac1、hif1 ucast-hit アクション: 0 (前方) ucast-miss action : 1 (FLOOD) mcast-hit アクション: 0 (前方) mcast-miss アクション : 1 (FLOOD) 侵入: 0 受信バイト数:0 出口: 0 送信バイト数:0 ドメイン30 phyifs (タグ付き): --- phyifs (タグなし): emac2、hif2 ucast-hit アクション: 0 (前方) ucast-miss action : 1 (FLOOD) mcast-hit アクション: 0 (前方) mcast-miss アクション : 1 (FLOOD) 侵入: 0 受信バイト数:0 出口: 0 送信バイト数:0 コマンドは正常に実行されました。 --- 5. 質問 外部トラフィックをタグ付けせずに、PFE内部でのみVLANベースのアイソレータを実現することは可能ですか? * タグなし入力フレームをポートごとに特定の VLAN にマッピングします (PVID 機能) * VLANはPFE内部でのみ使用されます * 外部デバイスはVLANタグなしで動作します 言い換えると、 「`」 入力(タグなし)→ VLAN 10 → 出力(タグなし) 入力(タグなし)→ VLAN 20 → 出力(タグなし) 入力(タグなし)→ VLAN 30 → 出力(タグなし) 「`」 これは望ましい動作です。 1. PFEはポートベースのVLANをサポートしていますか? 2. はいの場合、どのファームウェア機能または設定でそれが可能になりますか? 3. これは、fwfeat-print に表示される vlan_conf または ingress_vlan 機能に関連していますか? Re: Port-based VLAN (PVID) Mapping and Untagged External Traffic Support in PFE L2 Bridge こんにちは、 詳しい説明をありがとうございました。 「3. 現在の構成」 で説明したLinuxコマンドが、 根本的にサポートされていない構成を表しているのか、あるいは私の側に何らかの構成上の不足があるのかどうかを確認したいと思います。 私の現在のテスト環境は以下のとおりです。 • パソコン1台 • このPCには3つのNICが搭載されています ・各NICはボードのEMACポートのいずれかに直接コネクテッドされています。   PC側では、 VLANインターフェースの設定は一切行っていません。単に通常のpingを送信しているだけです。   私が期待する動作は以下のとおりです。 PCがpingを送信すると、ボードは宛先IPアドレスと対応するブリッジドメイン(BD)に基づいてパケットを転送し、そのVLANに属するポートに送信する必要があります。   私が実現したい構成は以下のとおりです。 VLAN10:HIF0、EMAC0 VLAN20:HIF1、EMAC1 VLAN30:HIF2、EMAC2 VLAN40:HIF3、EMAC0、EMAC1、EMAC2 言い換えると: • EMAC0/1/2 はそれぞれ専用の VLAN (10/20/30)にコネクテッドです。 • 同時に、 HIF3 と通信する 共有 VLAN40 にも参加します 。   現在のLinuxコマンドでは: • すべてのポートを VLAN1 に設定すると 、すべてが期待どおりに動作します。 • しかし、それらを VLAN10/20/30 に分割すると 、 入力/出力カウンターは VLAN1 でのみ増加し 、VLAN10/20/30 では増加しません。   そこで、私には2つの質問があります。 1. このタイプのVLAN構成はPFE VLAN_BRIDGEモデルでサポートされていますか?それとも、私が何か設定手順を見落としているのでしょうか? 2. 現在、PC はタグなしパケット (通常の ping)を送信しています。 このCASE、PFEが受信トラフィックを特定のVLAN BDに分類することは不可能なのでしょうか? つまり、この設定ではPCがVLANタグ付きパケットを送信する必要があるのでしょうか? 例えば、タグ付きトラフィックを送信するには、PCをこのように設定すべきでしょうか?   ip link add link eth0 name eth0.40 type vlan id 40 ip link set eth0.40 up ping -I eth0.40 192.168.xx   この構成が実現可能かどうか、あるいはこのシナリオに適した推奨されるアプローチがあるかどうかについて、ご助言いただければ大変ありがたいです。   よろしくお願いします。 Re: Port-based VLAN (PVID) Mapping and Untagged External Traffic Support in PFE L2 Bridge こんにちは、 @minJ さん。 私の回答は以下のとおりです。 外部トラフィックをタグ付けせずに、PFE内部でのみVLANベースのアイソレータを実現することは可能ですか? ドキュメントを見る限り、いいえ、タグなしの外部トラフィックはCAN使用できず、内部トラフィックではVLANタグのみを使用できます。ポートをBD(ブリッジドメイン)に設定すると、デフォルトBD、フォールバックBD、標準BDの3つの動作モードがあります。いずれの場合も、特定のルールに基づいてVLANがチェックされ、フレームを受け入れるか破棄するかが決定されます。PFE-SW_S32G_FCI_API_ReferenceManual_2.7.0の「L2 ブリッジ VLAN 認識とドメイン」のセクションを参照してください。これらの規則の詳細については、こちらをご覧ください。 PFEはポートベースのVLANをサポートしていますか? 直接はできません。VLANごとに異なるBDを作成し、各ポートをそれぞれのドメインに設定する必要があります。要約すると、BDベースのVLANを設定でき、各BDは異なるポートを使用します。上記で言及した文書の該当箇所をご確認ください。 はいの場合、どのファームウェア機能または設定でそれが可能になりますか? これは、他の2つの質問からの情報に基づいて回答されるべきです。 これは、fwfeat-printに表示されるvlan_confまたはingress_vlan機能に関連していますか? vlan_conf_check のことであれば、どちらもこのトピックに関連していますが、これらのオプションを有効化/設定すると、VLAN を含まないフレームが破棄されるようにポートが設定されます。 マスタースレーブ構成でのフラッディングを回避するための解決策としては、そのモードの使用を避け、代わりにIPCFを使用してフレームを他のドメインに転送することが考えられます。たとえば、M7_0がPFEの所有者である場合、一部のフレームのみをA53/Linuxドメインに転送します。ご要望によっては、これは有効な選択肢となり得ます。このアイデアについてさらに詳しい説明が必要な場合はお知らせください。 他に質問があればお知らせください。 Re: Port-based VLAN (PVID) Mapping and Untagged External Traffic Support in PFE L2 Bridge こんにちは、 @minJ さん。 3. 現在の構成について言及している文書はどれですか? PFE Linux ドキュメントのすべての文書を確認しましたが、そのセクションは見つかりませんでした。該当箇所のページ番号と文書の改訂版番号を明記してください。 VLANポートにおけるタグなしパッケージの分類に関して、以前のドキュメントを誤解していました。そのためには、BDをデフォルト設定で構成する必要があります。その説明は以下のとおりです。 デフォルトのBD: このブリッジドメインの工場出荷時のデフォルトVLAN IDは1です。このドメインは、デフォルトのBD VLAN IDと同じVLANタグを持つ入力フレーム、またはVLANタグがまったくない入力フレーム(タグなしイーサネットフレーム)を処理します。 これはタグなしフレームを処理できる唯一のBD構成です。したがって、この構成ではホストからタグ付きメッセージを送信する必要はありません。さらに、他のタイプのBDはVLANタグのないフレームを処理しません。 先ほどは混乱させてしまい、申し訳ありませんでした。他に質問があれば教えてください。 Re: Port-based VLAN (PVID) Mapping and Untagged External Traffic Support in PFE L2 Bridge こんにちは、 「3.私が言及した「現在の構成」とは、最初の質問で述べたLinuxコマンドのことです。 この点をもっと早く明確にしておかなかったことをお詫び申し上げます。 # ブリッジドメインとインターフェースの設定 libfci_cli bd-add --vlan 10 libfci_cli bd-add --vlan 20 libfci_cli bd-add --vlan 30 libfci_cli bd-update --vlan 10 --ucast-hit FORWARD --ucast-miss FLOOD --mcast-hit FORWARD --mcast-miss FLOOD libfci_cli bd-update --vlan 20 --ucast-hit FORWARD --ucast-miss FLOOD --mcast-hit FORWARD --mcast-miss FLOOD libfci_cli bd-update --vlan 30 --ucast-hit FORWARD --ucast-miss FLOOD --mcast-hit FORWARD --mcast-miss FLOOD libfci_cli bd-insif --vlan 10 --i hif0 --tag OFF libfci_cli bd-insif --vlan 10 --i emac0 --tag OFF libfci_cli bd-insif --vlan 20 --i hif1 --tag OFF libfci_cli bd-insif --vlan 20 --i emac1 --tag OFF libfci_cli bd-insif --vlan 30 --i hif2 --tag OFF libfci_cli bd-insif --vlan 30 --i emac2 --tag OFF # PHYインターフェースモード設定 libfci_cli phyif-update --i emac0 -E --promisc OFF --mode VLAN_BRIDGE libfci_cli phyif-update --i emac1 -E --promisc OFF --mode VLAN_BRIDGE libfci_cli phyif-update --i emac2 -E --promisc OFF --mode VLAN_BRIDGE libfci_cli phyif-update --i hif0 -E --promisc OFF --mode VLAN_BRIDGE libfci_cli phyif-update --i hif1 -E --promisc OFF --mode VLAN_BRIDGE libfci_cli phyif-update --i hif2 -E --promisc ON --mode VLAN_BRIDGE libfci_cli bd-stent-add --vlan 10 --mac --i hif0 libfci_cli bd-stent-update --vlan 10 --mac --egress hif0 libfci_cli bd-stent-add --vlan 20 --mac --i hif1 libfci_cli bd-stent-update --vlan 20 --mac --egress hif1 libfci_cli bd-stent-add --vlan 30 --mac --i hif2 libfci_cli bd-stent-update --vlan 30 --mac --egress hif2 私が書いた Linux コマンドは、次のドキュメントに基づいています: LNX PFE ドライバ ユーザー マニュアル (Rev.25.0) PFE FCI API リファレンス (Rev.2.7.0) p144。 あなたの回答によると、上記のLinuxコマンドのようにL2ブリッジとVLANを設定した場合、PCから送信されるタグなしパケットは処理できないということでしょうか? 静的MACアドレスを指定した場合でも、タグなしパケットがVLANメンバー(HIF、EMAC)によって処理されないかどうかを知りたいです。 さらに、VLANタグなしで(つまり、タグなしパケットとして)パケットをPCに転送することが可能かどうかについても興味があります。 ありがとう。 Re: Port-based VLAN (PVID) Mapping and Untagged External Traffic Support in PFE L2 Bridge こんにちは、 @minJ さん。 返信が遅くなり申し訳ありません。現在、業務が多忙なため、問題の分析にもう少し時間が必要です。 ご辛抱いただきありがとうございます。 Re: Port-based VLAN (PVID) Mapping and Untagged External Traffic Support in PFE L2 Bridge こんにちは、 @minJ さん。 大変お待たせして申し訳ございませんでした。「上記のLinuxコマンドのようにL2ブリッジとVLANを設定した場合、PCから送信されるタグなしパケットは処理できないということでしょうか? 」という質問にお答えします。直接的な回答を見つけることができませんでしたが、使用しているコマンドを比較すると、主な違いは、Linux PFE ドキュメントでは VLAN 1 が使用されていることです。これはデフォルトの BDであり (削除できないことに注意してください)、この VLAN は ID 1 または VLAN タグのないすべてのメッセージをキャッチします。明示的には、試みている構成がサポートされていないとは述べられていませんが、デフォルトのBDのみがタグなしフレームを処理でき、標準BDは一致するIDを持つタグ付きフレームのみを取得するため、そのように考えられます。 社内ドキュメントをいくつか調べてみたところ、デフォルトのBDは1つしかなく、別のBDを作成するオプションがないことがわかりました。このユースケースに対する推奨される回避策は、ポートごとに異なるマルチキャストアドレスを使用することです。これが現実的な解決策ではない可能性は承知していますが、言及する価値はあると思います。 重ねてお待たせして申し訳ありませんでした。 他に質問があれば教えてください。
查看全文
HSE_IP核无法添加 Hello nxp的技术支持, 我在使用S32DS IDE3.6.2版本,RTD6.0.0版本,我无法在外设配置的界面添加HSE的IP核,可能会导致配置文件无法自动生成hse_mu的driver,请问一下这个问题该怎么解决? BR/chenyuhang Re: HSE_IP核无法添加 Hi @lukaszadrapa , 感谢您的回复,我目前已经安装了6.0.0 QLP01的包并且已经可以在外设中添加HSE的IP核了。我还有一个疑问想问您,就是我在使用HSE的时候,已经将 C:\NXP\HSE_FW_S32K344_0_2_55_0\hse_full_mem\interface 下的全部文件添加到工程中了,那么 Framework 和 services 文件夹应该如何添加?(附录的图中展示的工程结构是C:\NXP\S32K3_HSE_DemoExamples_1_0_0\S32K3_HSE_DemoExamples\Key Management\S32K344_DemoApp_SessionKeys 的示例工程),是否可以通过外设配置界面添加到工程中?还是说需要手动将这两个文件夹粘贴到我自己的工程中?另外我有查阅到nxp的中国团队有做过HSE_Lib2.0的内容,这些资料我应该如何获取? BR/chenyuhang Re: HSE_IP核无法添加 你好@chenyuhang 可能会出现并非所有模块都包含在 RTD 软件包中的情况。RTD 6.0.0 就是这种情况,当时还没有 Crypto 驱动程序。它后来在 6.0.0 QLP01 软件包中提供: 在版本说明文件中,您可以发现该软件包仅提供 Crypto 驱动程序,因此您可以将其安装在 6.0.0 软件包之上: 此致, Lukas Re: HSE_IP核无法添加 该框架只是纯 C 代码,不能通过外设配置界面添加。应手动将其添加到项目中。 让我分享一下我之前写给另一位客户的答案--可能是数据缓存出了问题: "我可以看到,该框架尚未完全准备好无缝实施 RTD 项目。我刚刚发现,我在这里的所有项目实际上都禁用了缓存。 该框架使用一个描述符数组,在运行时根据需要选择这些描述符。有一个定义 HSE_ENABLE_SHARED_MEM,可用于将数组强制转入共享区域。但是,默认情况下并不使用这个地址,而且我可以看到,它可能因为使用了一些奇怪的地址而无法工作。 那么,看看 hse_host.c 中的实现吧并将描述符数组也强制设置为 no_cachable 区域"。 关于 HSE_Lib,这是中国应用程序团队的一个项目,目前尚未公开。请与当地的恩智浦 FAE 或分销 FAE 讨论。 此致, Lukas
查看全文
LS1028a TSN 网络配置:有其他接口吗? 你好,我计划使用 LS1028A 开发 TSN 端点设备。不过,我在 REALTIMEEDGEUG.pdf 文档中发现,要通过网络接口配置 TSN,需要将 PC 连接到 eneth 的 eno0 接口。问题是,我还需要用这个接口作为端点接口来连接外部交换机。我想知道是否可以使用 eneth 的 eno1 接口进行网络配置,或者是否可以将 PC 连接到交换机的一个端口(swp0-4)来执行 TSN 配置。
查看全文
IMXRT1176 FBB_DISABLEヒューズはすでに設定されています こんにちは、 i.MX-RT1170 MCU を搭載した新しいカスタム ボードがいくつかあるのですが、ヒューズを確認すると、空になっているはずです。これらすべてのアドレスにはFBBを無効にするヒューズFBB_DISABLE[4]が設定されています。デフォルトではすべてのヒューズが設定されていないと予想していました。設定を解除することはできないからです。 ここで何が起こっているのですか? よろしくお願いいたします。 エイドリアン Re: IMXRT1176 FBB_DISABLE Fuse is already set @Gavin_Jiaご返信ありがとうございます。わかりました。 このヒューズが設定されていないボードもいくつかありました。しかし、これらは別の部品番号であった可能性があります。 このヒューズが設定されている部品番号と設定されていない部品番号のリストはありますか? Re: IMXRT1176 FBB_DISABLE Fuse is already set こんにちは@bia-bonobo さん、 NXP MIMXRTシリーズにご興味をお持ちいただきありがとうございます。 FBB_DISABLE は工場で設定されており、チップの部品番号に関連しています。フラグビットのように機能します。データシート/RM の注記を参照してください。 よろしくお願いします、 ギャビン   Re: IMXRT1176 FBB_DISABLE Fuse is already set こんにちは@bia-bonobo さん、 より正確な説明は、FBB_DISABLE はチップ自体に固有のものであり、工場で構成されているということです。RT1170 をオーバードライブ モードで動作させる必要がある場合、まず FBB_DISABLE を読み取り、次に FBB を有効にするかどうかを判断する必要があります。 部品番号に対応する公開リストはありません。これはプロセス/チップ自体の特定の特性によって異なります。したがって、データシートに記載されているように、ソフトウェア フローは最初に FBB_DISABLE を読み取る必要があります。 よろしくお願いします、 ギャビン Re: IMXRT1176 FBB_DISABLE Fuse is already set 分かりました。ありがとうございます!
查看全文
LPC5411x PLL設定 こんにちは 現在のプロジェクトでは、LPC5411x の PLL モジュールを使用しています。データシートのセクション 6.5.49.6 によれば、PLL の N、M、および P 値は、対応するレジスタに書き込む前に計算する必要があります。 ただし、 SDK_2_9_0_LPCXpresso54114では、NDEC、MDEC、および PDEC の計算コードは実装されていません。代わりに、次に示すように、SDK は手動で事前に計算された値を syspllndec レジスタに直接書き込みます。(M=75 に設定したいので、MDEC=9637 を手動で計算し、 SYSCON_SYSPLLSSCTRL0_MDECに設定する必要があります) 今後の SDK リリースで、NDEC、MDEC、PDEC の計算機能を SDK に追加する予定はありますか? 現在、NDEC、MDEC、PDEC の設定は直感的ではなく、M、N、または P を変更するたびに、対応する NDEC、MDEC、PDEC 値を手動で再計算する必要があるため、維持が困難です。 よろしくお願いします。 LPC54xxx Re: LPC5411x PLL settings こんにちは@yhc123 ご投稿ありがとうございます。 現在、LPC5411 の新しい SDK バージョンをリリースする予定はありません。必要な計算はすべてお客様側で実装する必要があります。ご不便をおかけして申し訳ございません。
查看全文
i.MX 93 EVK debug console relocation [Continued] Introduction. This is an update to the previous article i.MX 93/91 debug console relocation with Yocto Project. It was initiated because a customer wanted to replicate the mentioned document in newer BSPs. i.MX93EVK uses LPUART1 as the debug console, this article will contribute to relocate debug console to LPUART2, which is connected to USB-to-UART FTDI bridge, so it's very easy to confirm your changes. Key differences from the past article are we don't explore porting tools but provide specific instructions and code, you will follow this article to confirm changes made on your own or replicate this process, if you want to explore BSP customizing tools and process, review the other article. BSP version is LF-6.12.49 Yocto Walnascar. HW setup simplifies too. 1. Hardware Setup. i.MX93EVK featuring REV A1. Connect USB Type-C PD power source to J301. Connect USB type-C cable to USB debug J1401. Connect USB type-C cable to USB1 J401. [Optional] SD card for booting, eMMC is the other option. 2. Yocto Project setup for recipes development. Start by creating a fresh build. $ cd ~ $ mkdir Yocto-BSP $ cd Yocto-BSP $ repo init -u https://github.com/nxp-imx/imx-manifest -b imx-linux-walnascar -m imx-6.12.49-2.2.0.xml $ repo sync You can build any image, custom projects may need multiple builds for development, then imx-image-core is a great option since it's light and compiling it requires less time. $ MACHINE=imx93-11x11-lpddr4x-evk DISTRO=fsl-imx-xwayland source imx-setup-release.sh -b i.MX93 $ bitbake imx-image-core OE Connectivity Sanity Checker can cause issues if not configured, you can skip host connectivity tests. Patches provided in this document are for testing purposes, they lack upstreaming status to Yocto Project as they simulate an early starter porting process, you can disable QA errors that interrupt bitbaking and turn them to warnings. ERROR: do_patch: QA Issue: Missing Upstream-Status in patch Please add according to https://docs.yoctoproject.org/contributor-guide/ ERROR: do_patch: Fatal QA errors were found, failing task. ERROR: Task failed with exit code '1' Make the following modification. $ nano conf/local.conf CONNECTIVITY_CHECK_URIS = "" ERROR_QA:remove = "patch-status" WARN_QA:append = " patch-status" 3. Add debug-console-relocation layer to Yocto environment build. As said at the introduction, you are provided with the meta-layer zipped so you can just move it to your Yocto build directory. # Feel free to change this path to your download path $ cd ~ $ unzip meta-imx-console.zip $ cp -r meta-imx-console ~/Yocto-BSP/sources $ cd ~/Yocto-BSP/i.MX93 $ bitbake-layers add-layer meta-imx-console $ bitbake-layers show-layers You should be able to see the following output layer path priority ======================================================================================================== core /home/joseph/Yocto-Console/sources/poky/meta 5 yocto /home/joseph/Yocto-Console/sources/poky/meta-poky 5 openembedded-layer /home/joseph/Yocto-Console/sources/meta-openembedded/meta-oe 5 multimedia-layer /home/joseph/Yocto-Console/sources/meta-openembedded/meta-multimedia 5 meta-python /home/joseph/Yocto-Console/sources/meta-openembedded/meta-python 5 freescale-layer /home/joseph/Yocto-Console/sources/meta-freescale 5 freescale-3rdparty /home/joseph/Yocto-Console/sources/meta-freescale-3rdparty 4 freescale-distro /home/joseph/Yocto-Console/sources/meta-freescale-distro 4 fsl-bsp-release /home/joseph/Yocto-Console/sources/meta-imx/meta-imx-bsp 8 fsl-sdk-release /home/joseph/Yocto-Console/sources/meta-imx/meta-imx-sdk 8 imx-machine-learning /home/joseph/Yocto-Console/sources/meta-imx/meta-imx-ml 9 v2x-imx /home/joseph/Yocto-Console/sources/meta-imx/meta-imx-v2x 9 imx-demo /home/joseph/Yocto-Console/sources/meta-nxp-demo-experience 7 nxp-matter-baseline /home/joseph/Yocto-Console/sources/meta-nxp-connectivity/meta-nxp-matter-baseline 7 nxp-openthread /home/joseph/Yocto-Console/sources/meta-nxp-connectivity/meta-nxp-openthread 7 meta-arm /home/joseph/Yocto-Console/sources/meta-arm/meta-arm 5 arm-toolchain /home/joseph/Yocto-Console/sources/meta-arm/meta-arm-toolchain 5 clang-layer /home/joseph/Yocto-Console/sources/meta-clang 7 gnome-layer /home/joseph/Yocto-Console/sources/meta-openembedded/meta-gnome 5 networking-layer /home/joseph/Yocto-Console/sources/meta-openembedded/meta-networking 5 filesystems-layer /home/joseph/Yocto-Console/sources/meta-openembedded/meta-filesystems 5 perl-layer /home/joseph/Yocto-Console/sources/meta-openembedded/meta-perl 5 qt6-layer /home/joseph/Yocto-Console/sources/meta-qt6 5 parsec-layer /home/joseph/Yocto-Console/sources/meta-security/meta-parsec 5 tpm-layer /home/joseph/Yocto-Console/sources/meta-security/meta-tpm 6 virtualization-layer /home/joseph/Yocto-Console/sources/meta-virtualization 8 meta-freescale-ml /home/joseph/Yocto-Console/sources/meta-freescale-ml 8 meta-imx-console /home/joseph/Yocto-Console/sources/meta-imx-console 9 * Remember to run all steps within the Yocto session, otherwise source your setup again. * $ cd Yocto-BSP $ source imx-setup-release.sh -b i.MX93 4. Rebuild the core image. Perform bitbake command again, it unpacks, patches, builds, deploys the source code and creates the root filesystem again with only running a few tasks. NOTE: Tasks Summary: Attempted 11106 tasks of which 10941 didn't need to be rerun and all succeeded.  You can find the images for flashing under the build folder. $ cd tmp/deploy/images/imx93-11x11-lpddr4x-evk/ $ zstd -d imx-image-core-imx93-11x11-lpddr4x-evk.rootfs-*.wic.zst imx-image-core-imx93-11x11-lpddr4x-evk.rootfs-20260207040424.wic.zst: 2596424704 bytes Flash the imx-boot firmware and imx-image-core root filesystem. $ uuu -b emmc_all imx-boot-imx93-11x11-lpddr4x-evk-sd.bin-flash_singleboot imx-image-core-imx93-11x11-lpddr4x-evk.rootfs-*.wic Conclusions. You can open the consoles for Cortex-A and Cortex-M to experiment booting a normal image and the relocated LPUART image. * This new image would require Cortex-M demos to change debug console to LPUART1. *  Debug console outputs through LPUART2 and prints a custom message.  Normal image debug console. Remember that the patches below are provided as is, they were developed under LF-6.12.49. When using them you are subject to the record of acceptance and legal compliance from EULA agreement in your Yocto build. If applying them under other circumstances (another BSP repository, another Yocto version, etc.) or the same circumstances, and they fail, please create a support ticket to help you. Extras. If you compare the differences at patch-level, you can see that only a file was relocated in U-boot, the file containing the environment variables was renamed and the syntax changes a little. The procedure performed was the same as the last article, if you are making your own layer, remember to modify conf/layer.conf with: BBFILE_PRIORITY_meta-imx-console = "9" #LAYERDEPENDS_meta-imx-console = "core" i.MX 93 EVK LF-6.12.49 patches
查看全文
S32G:为什么 QSPI_IP_HyperflashProgram 每 2 字节发送一次写入命令? 专家们好 CTM: 法雷奥 平台:S32G3 模块:RTD 5.0.0QLP04 Fls 驱动程序 客户报告说,他们遇到的或非闪存写入吞吐量明显低于预期。 客户可能想知道为什么 QSPI_IP_HyperflashPro gram 函数 2 字节以 2 字节传输数据。看来这就是瓶颈所在。 是否有专家能就这一问题提供帮助? 感谢你的支持 狮子座 RTD Re: S32G: why the Qspi_Ip_HyperflashProgram sends write command for every 2 bytes? 你好@Nhi_Nguyen 谢谢您的帮助。但是在我们的驱动程序中一次写入 2 字节对客户来说太慢了吗?怎样才能提高性能? BR、 狮子座 Re: S32G: why the Qspi_Ip_HyperflashProgram sends write command for every 2 bytes? 你好@LeoLiAP、 这是因为 Hyperbus 支持以下两种类型的数据发送: 驱动程序支持将单个字写入内部缓冲(您的代码是每个地址数据的单个字),然后调用命令将缓冲区发送到 Fls(写入缓冲区)。 顺祝商祺! Nhi Re: S32G: why the Qspi_Ip_HyperflashProgram sends write command for every 2 bytes? 你好@LeoLiAP、 写入 2 字节遵循 Hyperbus 协议,所以我知道我们无法改变这一点。但 SW 团队将改进代码以节省时间,相关票据为ARTDCMEM-1247。 顺祝商祺! Nhi
查看全文
Consulting on the compatibility of FS27 RTD and BMS GEN2 RTD Hi Experts, The customer's new BMS project wants to use S32K358 + FS27 + BMS GEN2 SDK. I learned from the BMS team that: BMS GEN2 SDK AUTOSAR 4.4 R21-11 Version 0.9.1 CD05 and BMS GEN2 SL SDK AUTOSAR 4.4 R21-11 Version 0.9.1 CD05 will be available next week. This supports S32K3 RTD 6.0.0 integration. The BMS GEN2 SDK will be migrated to S32K3 RTD 6.0.0 in BMS release v1.0.0 somewhere in Q1 '26. In other words, the BMS GEN2 SDK will be compatible with S32K3 RTD 6.0.0 in the near future. The customer needs a 24V platform and therefore wants to use FS27 instead of FS26. I found the following two versions of FS27 from Automotive SW - SBC/PMIC - Real Time Drivers: S32K3xx SBC FS27 R21-11 0.8.0 based on S32K3 RTD 5.0.0 SBC FS27 R23-11 1.0.0 based on S32K3 RTD 7.0.0 Q1. The customer is concerned that the drivers for FS27 and BMS GEN2 SDK are incompatible because the S32K3 RTD versions do not appear to be consistent.  If S32K3 RTD 6.0.0 is selected in the BMS GEN2 SDK, will there be any problems if the customer uses S32K3xx SBC FS27 R21-11 0.8.0 or SBC FS27 R23-11 1.0.0? Q2. Does the FS27 have a driver based on S32K3 RTD 6.0.0? Would you please help me? Thank you for the help in advance! Best Regards, Robin Here is the information of customer: Contact Name                TengHsaing Wen Email (Contact)              [email protected] Company                        XINGMOBILITY AA SW - External Device Priority: MEDIUM Source: Direct Customer Re: Consulting on the compatibility of FS27 RTD and BMS GEN2 RTD Hi Viktor, Thank you for your information. The "BMS GEN2 SDK AUTOSAR 4.4 R21-11 Version 0.9.1 CD05" based on S32K3 RTD 6.0.0 is not yet available for download. Once it becomes available for download, I will at least test whether it can be compiled successfully. Best Regards, Robin Re: Consulting on the compatibility of FS27 RTD and BMS GEN2 RTD Hello Robin, there is no dedicated release for RTD 6.0.0, but the latest version (FS27 1.0.0) should be backwards compatible with it. In case of any issues, please let us know. Best regards, Viktor Re: Consulting on the compatibility of FS27 RTD and BMS GEN2 RTD The topic has been redirect to the team to investigate it. Contact point: Razvan Tilimpea / Cristian Durla or Viktor Obr Re: Consulting on the compatibility of FS27 RTD and BMS GEN2 RTD Hi Viktor, "BMS GEN2 SDK AUTOSAR 4.4 R21-11 Version 0.9.1 CD05" is now available for download.  The customer questioned whether the AUTOSAR versions of the two drivers, R23-11 and R21-11, would differ significantly and cause compatibility issues if they were paired with SBC FS27 R23-11 1.0.0. Best Regards, Robin Re: Consulting on the compatibility of FS27 RTD and BMS GEN2 RTD Hi @viktorobr , "BMS GEN2 SDK AUTOSAR 4.4 R21-11 Version 0.9.1 CD06" is now available for download.  The customer questioned whether the AUTOSAR versions of the two drivers, R23-11 and R21-11, would differ significantly and cause compatibility issues if they were paired with SBC FS27 R23-11 1.0.0. Best Regards, Robin Re: Consulting on the compatibility of FS27 RTD and BMS GEN2 RTD Hi Robin, compatibility between different Autosar versions is tricky, we would have to compare all of the drivers used by both of the components you try to integrate and I'm not 100% familiar with the BMS SDK. I can tell you that between the FS27 versions and the drivers it uses we didn't notice major changes between R21-11 and R23-11, there might be some minor differences that will appear right away when you combine the components in one project (version specific macros etc.), but from functional point of view it should still behave the same. Best regards, Viktor
查看全文
LS1046カスタムボードにおけるDDR4キャリブレーションの問題 良い一日! 私たちはカスタム LS1046 ベースのボードを立ち上げようとしていますが、DDR4 のキャリブレーション手順に行き詰まっています。 モジュールのSPDデータは正常に表示され、キャリブレーションプロセスも正常に開始されますが、その後、この理由で失敗します(CodeWarriorのログ 😞  ################################# 実行 1 検索結果: wrlvl_searcher ###################################### テスト結果: [ ============================================================ 更新日: WRLVL_CNTL = 0x8655F605、WRLVL_CNTL_2 = 0x00000000、 WRLVL_CNTL_3 = 0x00000000、SDRAM_CLK_CNTL = 0x02800000 ============================================================ 更新日: WRLVL_CNTL = 0x8655F60A、WRLVL_CNTL_2 = 0x0B0B0C0F、 WRLVL_CNTL_3 = 0x0F10110D、SDRAM_CLK_CNTL = 0x02800000 ============================================================ 更新日: WRLVL_CNTL = 0x8655F60A、WRLVL_CNTL_2 = 0x0B0B0C0F、 WRLVL_CNTL_3 = 0x0F101115、SDRAM_CLK_CNTL = 0x02800000 ============================================================ 更新日: WRLVL_CNTL = 0x8655F60A、WRLVL_CNTL_2 = 0x0B0B0C0F、 WRLVL_CNTL_3 = 0x0F10111D、SDRAM_CLK_CNTL = 0x02800000 書き込みレベリングの開始値は正しいので、これ以上の変更は必要ありません。 しかし、他の問題によりテストは失敗しました。 最も一般的な障害の原因: -DDR4 DQn_MAPレジスタに設定された値が正しくない -ODT値が正しくない - 間違ったドライバー強度が選択されました -タイミング構成0プロパティ(TIMING_CFG_0レジスタ)に選択されたタイミング値が正しくありません <<テストに失敗しました!>> {{Write Leveling start values are correct and require no further modification, but the test failed due to other issues.}} えーっと。キャプチャレジスタ: 0xE20, 0xDEADBEEF 0xE24、0xDEADBEEF 0xE28, 0x00000000 0xE40, 0x00000000 0xE44, 0x00000000 0xE48, 0x0000001D 0xE4C、0x60FF2001 0xE50, 0x00001FC0 0xE54, 0x00000000 0xE58, 0x00010000 ############################################ DQ マッピングは問題ないようです。CPU から DDR スロットへのマッピングは 1:1 SO、DDR モジュール SPD からの DQ マッピングを変更せずに使用します。 何が問題なのでしょうか? Re: DDR4 calibration issues on LS1046 custom board お客様ボード上で利用可能な RCW はありますか? ASLEEP LED は点灯したり消えたりしましたか? DDRクロックの周波数はどれくらいですか? よろしくお願いします。 Re: DDR4 calibration issues on LS1046 custom board DDR キャリブレーションは、ハードコードされた RCW を使用して実行されます。 システムクロック - 100 MHz DDRバスクロック - 800 MHz、DDRデータレート - 1600 mt/s メモリ モジュール - 非 ECC。 興味深い点の 1 つは、タイマーから時間まで、キャリブレーションの第 1 段階 (wrtlvl 検索) が正常に通過したことです。 例: テスト結果: [ ===================================================== 更新日: WRLVL_CNTL = 0x8655F605、WRLVL_CNTL_2 = 0x00000000、 WRLVL_CNTL_3 = 0x00000000、SDRAM_CLK_CNTL = 0x02800000 ============================================================ 更新日: WRLVL_CNTL = 0x8655F609、WRLVL_CNTL_2 = 0x0A0B0C0E、 WRLVL_CNTL_3 = 0x0F10110D、SDRAM_CLK_CNTL = 0x02800000 ============================================================ 更新日: WRLVL_CNTL = 0x8655F609、WRLVL_CNTL_2 = 0x0A0B0C0E、 WRLVL_CNTL_3 = 0x0F101115、SDRAM_CLK_CNTL = 0x02800000 ============================================================ 更新日: WRLVL_CNTL = 0x8655F609、WRLVL_CNTL_2 = 0x0A0B0C0F、 WRLVL_CNTL_3 = 0x0F10111D、SDRAM_CLK_CNTL = 0x02800000 《テスト合格!》 Err.captureレジスタ: 0xE20, 0x00000000 0xE24, 0x00000000 0xE28,0x00000000 0xE40,0x00000000 0xE44,0x00000000 0xE48, 0x0000001D 0xE4C, 0x00000000 0xE50,0x00000000 0xE54,0x00000000 0xE58, 0x00010000 ごみ: 0xF00,0x00000000 0xF04, 0x00000002 0xF08, 0x0000000F 0xF0C,0x14000C20 0xF10, 0x00000000 0xF14, 0x00000000 0xF18, 0x00000000 0xF1C, 0x00000000 0xF20, 0x00000000 0xF24, 0x2F003000 0xF28, 0x32003400 0xF2C, 0x39003B00 0xF30, 0x3C003E00 0xF34, 0x00005000 0xF38, 0x00000000 0xF3C, 0x00000000 0xF40, 0x00000000 0xF44, 0x00000000 0xF48, 0x00000001 0xF4C, 0xD4000000 0xF50, 0x13001500 0xF54, 0x17001900 0xF58, 0x1D001F00 0xF5C, 0x21002200 0xF60, 0x3A000000 0xF64, 0x00009000 0xF68, 0x00000020 0xF6C, 0x00000000 0xF70, 0x0070006F 0xF74, 0x00000000 0xF78, 0x00000000 0xF7C, 0x00000000 0xF80, 0x00000000 0xF84, 0x00000000 0xF88, 0x00000000 0xF8C, 0x00000000 0xF90, 0x00000000 0xF94, 0x80000000 0xF98, 0x00000000 0xF9C, 0x34043104 0xFA0, 0x35043304 0xFA4, 0x31043304 0xFA8, 0x2F043104 0xFAC, 0x04040000 0xFB0, 0x00000003 0xFB4, 0x1F1E1F21 0xFB8, 0x1E1C1F1D 0xFBC, 0x1F1B1D1E 0xFC0, 0x1C1B1C1C 0xFC4, 0x1F1E1F22 0xFC8, 0x1F1F2120 0xFCC, 0x1F1E1F20 0xFD0, 0x1C1D201F 0xFD4, 0x1F1B1B1E 0xFD8, 0x1F1D1E1C 0xFDC, 0x1F1F1D1F 0xFE0, 0x1F1D1E1C 0xFE4、0x1F1C191A 0xFE8、0x1C1D1C1A 0xFEC、0x1F1E1C1E 0xFF0, 0x1E1F1E1A 0xFF4, 0x1F1F1F1F 0xFF8, 0x1F1F1F1F 0xFFC、0x1F000000 データ: 0x00000009 0x0000000a 0x0000000b 0x0000000c 0x0000000f 0x0000000f 0x00000010 0x00000011 0x0000001d   その直後に、(設定を変更せずに)キャリブレーション プロセスを再度開始すると、失敗します。 ######## ## Result for: wrlvl_searcher ## #### テスト結果: [ 更新: WRLVL_CNTL = 0x8655F605、WRLVL_CNTL_2 = 0x00000000、 WRLVL_CNTL_3 = 0x00000000、SDRAM_CLK_CNTL = 0x02800000 ============================================================ 更新: WRLVL_CNTL = 0x8655F609、WRLVL_CNTL_2 = 0x0A0B0C0E、 WRLVL_CNTL_3 = 0x0F10110D、SDRAM_CLK_CNTL = 0x02800000 ============================================================ 更新: WRLVL_CNTL = 0x8655F609、WRLVL_CNTL_2 = 0x0A0B0C0E、 WRLVL_CNTL_3 = 0x0F101115、SDRAM_CLK_CNTL = 0x02800000 ============================================================ 更新: WRLVL_CNTL = 0x8655F609、WRLVL_CNTL_2 = 0x0A0B0C0E、 WRLVL_CNTL_3 = 0x0F10111D、SDRAM_CLK_CNTL = 0x02800000 書き込みレベリングの開始値は正しく、それ以上の変更は必要ありませんが、テスト その他の問題により失敗しました。最も一般的な障害の原因: - DDR4 DQn_MAPレジスタに設定された値が正しくない - ODT値が正しくない - 間違ったドライバ強度が選択されました - タイミング構成0プロパティ(TIMING_CFG_0レジスタ)に選択されたタイミング値が正しくありません <<テストに失敗しました!>> {{Write Leveling start values are correct and require no further modification, but the test failed due to other issues.}} エラーキャプチャレジスタ: 0xE20, 0xDEADBEEF 0xE24, 0xDEADBEEF 0xE28, 0x00000000 0xE40, 0x00000000 0xE44, 0x00000000 0xE48, 0x0000001D 0xE4C, 0x60FF2001 0xE50, 0x00001FC0 0xE54, 0x00000000 0xE58, 0x00010000 ごみ: 0xF00, 0x00000000 0xF04, 0x00000002 0xF08, 0x0000000E 0xF0C, 0x14000C20 0xF10, 0x00000000 0xF14, 0x00000000 0xF18, 0x00000000 0xF1C, 0x00000000 0xF20, 0x00000000 0xF24, 0x2F003100 0xF28, 0x33003400 0xF2C, 0x3A003A00 0xF30, 0x3C003E00 0xF34, 0x00005000 0xF38, 0x00000000 0xF3C, 0x00000000 0xF40, 0x00000000 0xF44, 0x00000000 0xF48, 0x00000001 0xF4C, 0xD4000000 0xF50, 0x13001500 0xF54, 0x17001900 0xF58, 0x1D001F00 0xF5C, 0x21002200 0xF60, 0x3A000000 0xF64, 0x00009000 0xF68, 0x00000020 0xF6C, 0x00000000 0xF70, 0x0070006F 0xF74, 0x00000000 0xF78, 0x00000000 0xF7C, 0x00000000 0xF80, 0x00000000 0xF84, 0x00000000 0xF88, 0x00000000 0xF8C, 0x00000000 0xF90, 0x00000000 0xF94, 0x80000000 0xF98, 0x00000000 0xF9C, 0x31022F02 0xFA0, 0x33023102 0xFA4, 0x30023102 0xFA8, 0x2E022F02 0xFAC, 0x02020000 0xFB0, 0x10000003 0xFB4, 0x46444650 0xFB8, 0x45445142 0xFBC, 0x51445052 0xFC0, 0x46454544 0xFC4, 0x45434651 0xFC8, 0x44455045 0xFCC, 0x46455051 0xFD0, 0x45455146 0xFD4, 0x52505052 0xFD8, 0x52505246 0xFDC, 0x50464546 0xFE0, 0x51465042 0xFE4, 0x53464650 0xFE8, 0x52515145 0xFEC, 0x50454546 0xFF0, 0x45505142 0xFF4, 0x46464646 0xFF8, 0x52515350 0xFFC, 0x00000000   データ: 0x00000009 0x0000000a 0x0000000b 0x0000000c 0x0000000e 0x0000000f 0x00000010 0x00000011 0x00000025 ######################################################## また、DDR モジュールが非 ECC であり、プロジェクト設定で ECC が無効になっているにもかかわらず、キャリブレーション プロセス中にレーン 8 がプローブされていることに気付きました。   Re: DDR4 calibration issues on LS1046 custom board 1. QCVS はハードコードされた RCWオフィシャルをサポートしていないため、有効な RCW がRCW ソース フラッシュまたは SD カードに存在している必要があります。 まず RCW をフラッシュにプログラムし、次に QCVS DDR 検証を行ってください。 2. CCS で以下のコマンドを実行します。 (ビン)42%すべて削除 (bin)43%config cc cwtap (ビン)44%ccを表示 (bin) 45 % ccs::config_chain {ls1043a dap sap2} (bin) 46 % 表示 ::ccs::get_config_chain (bin) 47 % ccs::reset_to_debug ログを私に送ってください。 3.回路図を共有してレイアウトが以下の通りであることを確認してください。 AN5097、DDR4 SDRAMメモリインターフェースのハードウェアおよびレイアウト設計の考慮事項 よろしくお願いします。 Re: DDR4 calibration issues on LS1046 custom board この問題は、QCVS の新しいバージョン (4.27.0) にアップデートすることで解決しました。
查看全文
MMA8693 加速度计的参考寄存器设置 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 我能否使用 MMA8693 找到新项目的参考寄存器设置? 现在我只想让它感知到明显的动作。(例如:停止 → 移动) 我想可能是在图形用户界面上找到的。 加速度传感器 Re: Reference register setting for MMA8693 accelerometer <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 嗨,HJ、 对不起,我昨天不在办公室,耽误了您的回复。 无论选择的动态范围如何,运动和瞬态检测功能的阈值分辨率都是 0.0625g/LSB,而且无法提高。您说得没错,瞬态检测功能只适用于 MMA8652FC,而且除非 HPF_BYP 位被设置,否则它分析的是高通滤波数据。 此致, 托马斯 Re: Reference register setting for MMA8693 accelerometer <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 嗨,托马斯、 我删除了之前的问题,因为我找到了问题所在。 门槛有问题。 我还有一个问题。 是否有可能使 MMA8653 不受重力等直流因素的影响而变得更加灵敏? 我想,如果使用 MMA8652 及其 HPF,可能会很容易。 但我的客户想用 MMA8653 找到路。 请给我一点提示。 谢谢! Re: Reference register setting for MMA8693 accelerometer <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 谢谢! Re: Reference register setting for MMA8693 accelerometer <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 嗨,HJ、 能否请您说明所用加速度计的确切零件编号?如果是 MMA8653FC,则可以使用嵌入式移动侦测功能。有关该功能的更多信息,包括寄存器设置示例,请参阅AN4070。 希望对您有所帮助。 此致, 托马斯 PS: 如果我的回答有助于解决您的问题,请标记为"正确" 或 "有帮助"。谢谢。
查看全文
CIFAR10 TFLM Quick Build Guide catalogs I. Overview II. Environment Preparation 2.1 Virtual environment 2.2 Using Google Colab III. Core Steps 3.1 CIFAR10 dataset 3.2 Model creation 3.3 Model Training 3.4 Model Transformation 3.5 Inference Validation 3.6 Benchmark Performance 3.7 Full Implementation 3.7 Simplified version (Colab) IV. TFLite Micro Deployment V. Quick Verification Application Examples VII. Conclusion Reference Spoiler (Highlight to read) more details, please see the attachment. more details, please see the attachment. I. Overview CIFAR-10 : Alex Krizhevsky, University of Toronto The CIFAR-10 public dataset, and one of the most classic and commonly used entry-level benchmark datasets in computer vision, contains 60,000 32x32 color images (50,000 training, 10,000 testing) in 10 categories, such as airplanes, cars, birds, cats, and more. tflm_cifar10 : Demonstrates how to run a CIFAR-10 image classification model in real-time on a microcontroller from NXP using the TensorFlow Lite Micro framework. That is, a pre-trained convolutional neural network model for the CIFAR-10 dataset is deployed to the MCU, giving it the ability to recognize 10 classes of common objects (airplanes, cars, birds, cats, etc.). Model: a lightweight CNN model with 3 convolutional layers, ReLU activation layer, pooling layer and a fully connected layer. Input: 32x32 pixel color image. Output: probability that an image belongs to one of the 10 categories in CIFAR-10. This document: provides the complete process of building for the CIFAR10 dataset, from the dataset, model training transformation, deployment of inference of the rapid implementation of the program, can be used as an example of the tflm_cifar10 (inference-based) front complement, this paper does not involve the deployment and optimization of the end-side. ... """ 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() ... VII. Conclusion The purpose of this paper is to take a common image classification scenario (CIFAR10) as an example, so that readers can quickly understand the complete process from data building, model creation, training, inference and validation, which can be used as an example of the tflm_cifar10 (end-side inference-based) front complement, this paper does not involve the end-side deployment and optimization.
查看全文
RT1170 以太网中的自由缓冲区超出范围问题 您好, 我正在尝试从自定义板上的自定义项目中执行基本的以太网测试。作为该项目(该项目集成了不同的模块,如SD卡、CAN、GPIO、ADC、以太网和EEPROM)的一部分,基本的以太网发送和接收有待验证。但我在 ping 发送前遇到"freed buffer out of range 错误" 。我已经完成了与以太网有关的所有基本初始化和配置。我看到出现错误的原因是函数"ethernetif_rx_free" (enet_ethernetif_kinetis.c) 中的 LWIP_ASSERT("Freed buffer out of range", ((idx>= 0)&& (idx< ENET_RXBUFF_NUM))); 其中的 idx 值为负数。这一完整的功能可在 EVK 套件上使用。 还能缺少什么?请提出建议。 Re: Freed Buffer out of Range Issue in Ethernet for RT1170 大家好 这个问题也发生在我的 RT1024 客户板上,当我在某个地方放了一个断点然后它就停止了,然后恢复正常运行更有可能导致这个错误。 此致敬礼! Ping Re: Freed Buffer out of Range Issue in Ethernet for RT1170 如果示例项目在您的自定义板中运行良好,则问题似乎出在软件方面。 您使用的不是 FreeRTOS 对吗? 似乎有什么东西干扰了示例的行为,可能是缺少某些配置,或者只是示例流程受到应用程序其他部分的影响。 我建议你尝试使用最新的软件开发工具包版本,即2.15.000。如果您的问题在此版本中仍然出现,那么恐怕您的应用程序流程出现了问题。 此致, 丹尼尔 Re: Freed Buffer out of Range Issue in Ethernet for RT1170 您好, 是的,在自定义板中实现合并的源代码时会出现问题。但是,没有与其他接口合并的 Ethernet_PING 的单个来源在自定义板中运行良好。当以太网的单个源与其余接口合并时,就会出现问题。 Re: Freed Buffer out of Range Issue in Ethernet for RT1170 如果我没有理解错的话,当您运行 SDK 示例时,它是可以工作的。但当您添加自定义应用程序时,问题就出现了。你能确认吗? 此致, 丹尼尔 Re: Freed Buffer out of Range Issue in Ethernet for RT1170 您好, 实际上,以太网的各个源代码在自定义板中运行良好。当我尝试集成代码时,以太网无法正常工作。我观察到EIR 寄存器的第 25 (RXF)、26 (TXB) 和 27 (TXF) 位被设置为 0,RDAR 寄存器的第 24 位被更新为 0,但在以太网的工作代码中,这些寄存器被设置为 "1"。 我怀疑这些寄存器更新是由中断处理的,但我无法在自定义项目代码库中找到负责这些更新的特定处理程序。请帮帮我。 Re: Freed Buffer out of Range Issue in Ethernet for RT1170 请仔细检查是否有任何外围更改(例如:......)。为了让 EVK 示例在您的定制硬件中运行,您的项目中需要哪些外围实例? 如果您已经验证了这一点,看来问题出在硬件方面。 您是否已经用 HDG 验证了您的设计? 此致, 丹尼尔 Re: Freed Buffer out of Range Issue in Ethernet for RT1170 您好, 我使用的是 SDK 11.6.1 版。我正在尝试测试 lwip_ping_bm_cm7 示例。在 EVK 中运行正常。 但是,当尝试将所有源代码与以太网连接时,它在自定义板上不起作用。如果我们面临"Freed Buffer out of range" ,可能会出现什么问题?请帮我解决这个问题。 Re: Freed Buffer out of Range Issue in Ethernet for RT1170 您好, 您使用的是哪个版本的 SDK? 您用来测试的 SDK 示例是什么? 如果我理解正确,应用程序在 EVK 中运行正常,对吗? 此致, 丹尼尔
查看全文
PCIe: i.MX 95: 複数の MSI IRQ ベクトルを割り当てる こんにちは、 PCIe2 インスタンス経由でコネクテッドされた i.MX95 ベースのシステムで ATH12K Wi-Fi モジュールを使用しています。 linux-imx lf‑6.12.y ベースのカーネルではこのセットアップは失敗しますが、lf‑6.6.y ベースのカーネルでは期待どおりに動作します。 カーネル ドライバは 16 個の MSI 割り込みを正常に要求し、受信します。しかし、その後、Wi-Fi モジュールの起動に失敗します。 [ 5.888139] ath12k_pci 0001:01:00.0:iommuグループ5に追加 [ 5.888506] ath12k_pci 0001:01:00.0:BAR 0 [mem 0xa10000000-0xa101fffff 64bit]: 割り当て済み [ 5.888553] ath12k_pci 0001:01:00.0:有効化デバイス (0000 -> 0002) [ 5.889315] ath12k_pci 0001:01:00.0:MSIベクター: 16 [ 5.889334] ath12k_pci 0001:01:00.0:ハードウェア名: wcn7850 hw2.0 [ 6.475718] ath12k_pci 0001:01:00.0:チップID 0x2 チップファミリー 0x4 ボードID 0xff soc_id 0x40170200 [ 6.475743] ath12k_pci 0001:01:00.0:fw_version 0x110cffff fw_build_timestamp 2025-06-25 09:26 fw_build_id QC_IMAGE_VERSION_STRING=WLAN.HMT.1.1.c5-00302-QCAHMTSWPL_V1.0_V2.0_SILICONZ-1.115823.3 [ 7.647106] ath12k_pci 0001:01:00.0:制御応答完了、ポーリングを受信できませんでした。 [ 8.675241] ath12k_pci 0001:01:00.0:サービス接続タイムアウト [ 8.681002] ath12k_pci 0001:01:00.0:HTTへの接続に失敗しました: -110 [ 8.692180] ath12k_pci 0001:01:00.0:コアの起動に失敗しました: -110 カーネルメーリングリスト[1]では別のPCIeデバイスに関する関連した議論がありましたが、まだ私たちのシステムで動作する構成には至っていません。 どうすれば最善の進め方でしょうか? 再開まで今しばらくお待ちください。 最大 [1] https://lore.kernel.org/all/1819305.VLH7GnMWUR@steina-w/ Re: PCIe: i.MX 95: Allocate Multiple MSI IRQ Vectors こんにちは、 i,MX95 はまだ初期段階であり、一部の構成はデザインされていません。しかし、PCIe2経由でATH12Kを搭載したi.MX95は lf-6.12.y ですが、 lf-6.6.y で作業中ですこれは、新しいカーネルの PCIe または Wi-Fi スタックにおける回帰またはドライバー相互作用の変更を示唆しており、PCIe パワーマネージメント (ASPM)、MSI マッピング、または ATH12K の特定の PCIe エンドポイントの癖に関係している可能性があります。多くの場合、カーネル パッチを適用するか、新しいカーネルのブート引数で ASPM を無効にすることで解決できます。dmesg で PCIe エラーを確認し、デバイスツリーを比較し、NXP/Linux カーネル メーリング リストで関連するコミットを探します。  考えられる原因とトラブルシューティングの手順を次に示します。 1. カーネルログを確認する ( dmesg ) PCIe エラーを探す: 障害が発生した lf-6.12.y カーネルの dmesg で、「PCI」、「MSI」、「ATH12K」、「Error」、「Firmware」、または「Timeout」メッセージを検索します。 ファームウェアのロード: ath12k ファームウェアが正しくロードされているかどうか、および初期化中にエラーが発生していないかどうかを確認します。  2. PCIe電源管理(ASPM) 一般的な問題:新しいカーネルでは、多くの場合、Active State パワーマネージメント (ASPM) がデフォルトで有効になっています。これにより、組み込みシステム上の ATH12K などの PCIe デバイス、特に古いファームウェア/ハードウェアで問題が発生する可能性があります。 ASPM を無効にしてみてください:カーネル ブート引数 (U-Boot または GRUB など) に pcie_aspm=off を追加して、再度テストします。  3. Devicetree/DTBの違い DTB の比較:両方のカーネル ( .dtb ファイル) で使用されるデバイス ツリー BLOB (DTB) を生成して比較します。特に割り込み、電源ドメイン、または互換性プロパティに関連する、 pci2 の PCIe ノードの変更を探します。  4. カーネルドライバー/ファームウェアの回帰 特定のコミット: ATH12K ドライバ ( ath12k )、 mac80211 、または lf-6.12.y のコア PCIe/Arm コードによって、セットアップを壊す変更が導入された可能性があります。 メーリング リストを検索: ath12k 、 i.MX95 、およびそれ以降のカーネル (6.12+) に関するパッチやディスカッションについては、Linux カーネル メーリング リスト (LKML) および NXP のリストを確認してください。  5. MSIの取り扱い 割り込み再マッピング:割り込みを受信すると、その処理方法 (MSI-X と MSI、割り込み再マッピング) が微妙に変わる場合があります。 proc/interrupts で割り込みをチェックします。カーネル間で割り込みの分布またはカウントが異なるかどうかを確認します。  6. ファームウェアブロブ ファームウェア バージョン:新しいカーネルのドライバと互換性のある、ATH12K 用の正しいファームウェアを使用していることを確認します。新しいドライバには新しいファームウェアが必要になる場合があります。  要約すると、 dmesg から始めてASPMを無効にしてみてください。これらは、組み込みプラットフォームの新しいカーネルでPCIe Wi-Fiの障害が発生する最も一般的な原因です。   よろしくお願いします。 Re: PCIe: i.MX 95: Allocate Multiple MSI IRQ Vectors 提案は問題をデバッグするための良い指針でしたが、解決策を見つけることができませんでした。つまり、すべての MSI IRQ ベクトルがドライバ内の IRQ ルーチンをトリガーしたわけではありません。 最終的には、ath12k ドライバーを変更して、1 つの MSI IRQ のみを要求するようにすることで、この問題を回避しました。 現在の Linux マスターにはこの問題は発生しないことに注意してください。 よろしくお願いします。 最大
查看全文
iMX93の全コアにZephyrを搭載 こんにちは、 iMX93 のすべてのコアで RTOS を実行したいと考えています。それは可能ですか? Zephyr の Web サイトを見ると、FRDM-IMX93 ボードの M33 コアで Zephyr を実行するプロジェクトがあるようです。また、A55 コアで Zephyr を実行するプロジェクトもあります。 しかし、両方実行することはできますか?両方の A55 プロセッサで別々の Zephyr プロジェクトを実行できますか? チップの初期化はどのように機能しますか。クロックやメモリコントローラの初期化のようなものですか?誰がそんなことをするのでしょうか? 不可能な場合は、MCUXPresso を使用して M33 コア上で RTOS を実行し、チップを初期化することはできますか?両方の A55 コアに Zephyr を使用しますか? すべてのコアで RTOS を実行する方法は何ですか? Re: Zephyr on all cores of a iMX93 こんにちは@simmania 2x A55 で実行される 2 つの Zephyr プロジェクトの場合、これはサポートされません。サポートされているフレームワークは、Linux を実行する A55 --> Jailhouse --> Zephyr を実行するその他の A55 であるため、Jailhouse がハードウェアのアイソレータを管理する必要があります。 不可能な場合は、MCUXPresso を使用して M33 コア上で RTOS を実行し、チップを初期化することはできますか?両方の A55 コアに Zephyr を使用しますか? --> i.MX93は、ブートROMからM33を起動する低消費電力ブートをサポートしています。目的を達成するには、SDKのコードを大幅に書き換える必要があります。根本的な問題は、DDRを誰が初期化するかです。ドキュメントによると、U-Bootを維持するのが最適な選択です。U-BootはM33とA55プロセッサの両方でZephyrを同時にロードできるためです。 https://docs.zephyrproject.org/latest/boards/nxp/imx93_evk/doc/index.html よろしくお願いします、 志明 Re: Zephyr on all cores of a iMX93 NXPの社員によると、銛を使えば可能だという。 NXPのテクニカルサポートは、それは不可能だと言っています。 非常に紛らわしい。 Re: Zephyr on all cores of a iMX93 iMX93のAコアとmコアの両方がZephyrリリースをサポートしています。ZephyrランディングページにアクセスしてMPU Zephyr使用ガイドを入手してください。Aコアとmコアの両方でZephyrを同時に実行したい場合は、NXPのHarpoonリリースを探してください。 https://www.nxp.com/design/design-center/software/embedded-software/zephyr-os-for-edge-connected-devices:ZEPHYR-OS-EDGE Re: Zephyr on all cores of a iMX93 Harpoonのドキュメントで、以下の記述を見つけました。 Harpoonは、Linuxディストリビューション上で並列動作する1つ(または複数)のCortex-Aコア上で動作するRTOS上で、リアルタイム処理能力が要求されるアプリケーションを開発するための環境を提供し、64ビットArmアーキテクチャを活用して高いパフォーマンスを実現します。 つまり、一部のコアではまだLinuxが必要なのです。つまり、iMX93の全コアでZephyrを実行することは不可能のようだ。 Re: Zephyr on all cores of a iMX93 @simmania コアユーザーガイドはこちら UG10199:NXP MPU Cortex-Aコア Zephyrユーザーガイド | NXPセミコンダクターズ Zephyrのウェブページには、すでに93 Aコアとmコアのサポートについて記載されています。 i.MX93 EVK — Zephyrプロジェクトドキュメント 銛ユーザーガイド UG10170:Harpoonユーザーガイド|NXPセミコンダクターズ Re: Zephyr on all cores of a iMX93 ご回答ありがとうございます。 しかし、私たちはまだiMX93を使った開発を行っておらず、私たちにとってはまだ明確な答えが出ていません。 私たちは現在、新しいプロジェクトで使用するハードウェアを選定しているところです。今私たちが知りたいのは、Linuxを必要とせずにZephyrをすべてのコアで実行できるかどうかだけです。 Re: Zephyr on all cores of a iMX93 @simmania 1 つの A コアで Harpoon を実行し、別の A コアで Zephyr を実行し、mcore で Zephyr を実行することもできます。あるいは、A コアでネイティブ Zephyr を実行し、mcore Zephyr を実行する BootROM を使用することもできます。 プログラム flash.bin を UUU を使用して SD/eMMC に書き込む — MCUXpresso SDK ドキュメントを参照してください。 ステップ4でzephyr.binをimx-mkimage/i.MX9のm33_image.binにコピーしてフラッシュbinを作成します 対応するLinux BSPリリースからブートイメージとimx-mkimageソースリポジトリを入手してください。imx-mkimage/i.MX9に配置する必要のあるブートイメージは以下のとおりです。 - u-boot-imx93evk.bin-sd (rename to u-boot.bin) - u-boot-spl.bin-imx93evk-sd (rename to u-boot-spl.bin) - bl31-imx93.bin (rename to bl31.bin) - mx93a0-ahab-container.img - lpddr4_dmem_1d_v202201.bin - lpddr4_dmem_2d_v202201.bin - lpddr4_imem_1d_v202201.bin - lpddr4_imem_2d_v202201.bin Re: Zephyr on all cores of a iMX93 実際、私はついにFRDM iMX93上で、両方のA55コアを使用してSMPでZephyrを動作させることに成功しました。鍵は「```west flash -r spsdk``` でした」でした。 Re: Zephyr on all cores of a iMX93 リアルタイムエッジソフトウェアユーザーガイドの第3.3章「柔軟なリアルタイムシステム」を参照してください。 表30は、i.MX 93プラットフォーム上で実行可能なすべてのAMPシステムを示しています。 また、 hetogeneous-multicore は、これらの可能なすべての AMP システムを実行するためのハローワールドの例を提供します。たとえば、i.MX 93 は構築でき、Realtime Edge も次の事前構築済みバイナリ イメージを提供します。 i.MX93の各Cortex-Aコアで2つのZephyrを実行するための重要な技術的ポイント: 1. リソースの割り当て 第3.3.2.2章の技術的なポイントを参照し、リソースの競合を避けるために、これら2つのZephyrインスタンスには異なるUARTとRAMメモリを使用してください。 heterogeneous-multicoreを使用せずに Zephyr のサンプルを構築することもできますが、リソース割り当ての方法についてはheterogeneous-multicoreを参照することができます。 2. 起動方法 現在、ubootコマンドを使用してこれら2つのZephyrインストールを起動できます。最初のZephyrは「cpu release」コマンドを使用して起動し、次に「go」コマンドを使用して起動します。詳細については、ユーザーガイドを参照してください。 また、Real-time Edgeで提供されるCortex-Aコアの統合ライフマネジメントをサポートするには、TF-A、U-BootなどのReal-time Edgeリポジトリを使用する必要があります。 そして、次回のRealtime Edgeリリース(7月リリース予定)では、「高速起動」という新機能が提供されます。この新機能により、TF-Aはこれら2つのZephyrインスタンスを1秒未満で起動できるようになります。 この件に関して他に何かお手伝いが必要な場合は、遠慮なくお知らせください。ありがとうございます。 Re: Zephyr on all cores of a iMX93 それは素晴らしいですね! 銛を使う?しかし、Harpoonのドキュメントにはこう書かれている。 「システムはLinux上で起動し、Jailhouseハイパーバイザがハードウェアを分割して、LinuxとゲストRTOSを並行して実行します。」 私たちは、LinuxなしでZephyrがすべてのコアで動作することを望んでいます。 Re: Zephyr on all cores of a iMX93 答えはイエスですが、これ以上の詳細情報は提供できません。さらに質問がある場合は、 @Jiafei_Pan までお問い合わせください。 Re: Zephyr on all cores of a iMX93 同時に2つのZephyrアプリケーションを実行することについて話しているのですか、それともSMPを使用して両方のコアをスケジューリングに利用できるようにしているアプリケーションについて話しているのですか? 2番目のケースには非常に興味があるのですが、うまく動作させることができません。 Re: Zephyr on all cores of a iMX93 @Jiafei_Pan さん、Harpoon を導入せずに A コアと mcore 上で 2 つの Zephyr を実行できるようにする方法について何か情報を提供していただけますか。ありがとう!
查看全文
如何:使用 NXP Vision SDK 示例项目中的现有代码在 S32DS 中创建新的 Makefile 项目 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 本文档详细介绍了如何在 S32 Design Studio 中创建新项目,以及如何使用 NXP Vision SDK 示例项目中提供的现有代码和 makefile 进行构建。如果您使用来自任何其他来源的代码创建新的 makefile 项目,则过程可能会有所不同。 在从现有代码创建新的 makefile 项目之前,我们需要向环境变量 PATH 添加一些路径和几个新的环境变量。添加这些路径和变量主要有 3 种方法。哪种方法取决于您的需要。 方法 1 路径和变量可以单独添加到每个项目。如果您只希望这些更改影响少数项目,这将很有用。或者如果您的项目需要不同的路径和变量。注意:这些更改将在项目创建后进行(如下面的步骤 15 - 17 所示) 方法 2 路径和变量可以添加到 S32DS 内的整个工作区。这些在 S32DS 之外是不可见的,因此不会影响整个 Windows 环境。如果您有大量对路径和变量有共同要求的项目,并且不希望它们在 S32DS 之外的任何工具中可见,这将非常有用。 方法 3 路径和变量可以全局添加到 Windows 环境中,并将影响所有已安装的工具。不推荐使用这种方法。 选择方法后,将以下路径添加到 PATH 变量(使用 S32DS 的默认安装设置显示的路径): C:\NXP\S32DS.3.1\S32DS\build_tools\gcc-6.3-arm32-eabi\bin C:\NXP\S32DS.3.1\S32DS\build_tools\gcc-6.3-arm64-eabi\bin C:\NXP\S32DS.3.1\S32DS\build_tools\gcc-6.3-arm64-linux\bin C:\NXP\S32DS.3.1\S32DS\build_tools\msys32\mingw32\bin 或者在 Eclipse 中(可以使用变量,如果 S32DS 安装布局在未来版本中发生变化,则无需更新这些变量) ${S32DS_ARM32_TOOLCHAIN_DIR} ${S32DS_ARM64_LINUX_TOOLCHAIN_DIR} ${S32DS_ARM64_TOOLCHAIN_DIR} ${S32DS_GCC_TOOCHAIN_DIR} 还需要添加以下 Windows 系统变量: 变量名称:S32V234_SDK_ROOT 变量值:C:\NXP\S32DS_Vision_v2018.R1\S32DS\s32v234_sdk 变量名称:APU_TOOLS 变量值:C:\NXP\S32DS_Vision_v2018.R1\S32DS\APUC 以下步骤演示了基于上述方法 1 的过程。 1)启动S32DS for Vision 2)点击“新建” 3)选择“使用现有代码的 Makefile 项目” 4)选择下一步 5)输入项目名称。 6)对于“现有代码位置”, a)选择“浏览… ”,然后选择目录C:\NXP\S32DS.3.1\S32DS\software\VSDK_S32V2_RTM_1_3_0\s32v234_sdk\demos\isp\isp_sonyimx224_rgb_yuv_gs8    b) Click OK 7)对于“索引器设置工具链”,选择与您所需的构建配置相匹配的选项。对于我们这里的示例,我们将选择“ ARM Linux 64 位目标二进制工具链”。有关工具链选项的更多详细信息,请参阅 Vision 扩展包用户指南。这设置了一些工具链路径,但稍后我们将根据 VSDK 示例的特定需求设置更多路径。 8)点击完成 9) 在项目资源管理器中右键单击该项目。选择“属性” 10) 转到“C/C++ 构建”部分 11)转到“行为”选项卡,在“构建”旁边的字段中输入: ISP 示例:' allsub ' APEX 示例:' APU_COMP=nxp allsub ' 12)转到“构建器设置”选项卡,在“构建位置”部分更改“构建目录”的路径。点击“工作区... ”按钮 13) 在文件夹选择菜单中,选择子文件夹“ build-v234ce-gnu-linux-d ”,然后单击“确定” 14)转到“环境”部分 15)选择环境变量“ PATH ”,然后单击“编辑... ” 16)将路径变量添加到值字段,每个变量用逗号“;”分隔 ${S32DS_ARM32_TOOLCHAIN_DIR} ${S32DS_ARM64_LINUX_TOOLCHAIN_DIR} ${S32DS_ARM64_TOOLCHAIN_DIR} ${S32DS_GCC_TOOCHAIN_DIR} 单击OK。 17) Click 'Add...' 18) 单击“添加... ”,然后输入变量名称“ APU_TOOLS ”和值“ ${S32DS_APU_TOOLCHAIN_DIR} ” 单击OK。 19)单击“确定”关闭“属性”菜单。 20)点击“构建” 21) 构建完成后,将创建二进制文件(ELF)
查看全文
楼宇及家居自动化系统 Overview 智能的集成楼宇系统使用户能够提高能效、降低维护成本,并方便地控制智能手机和高级 HMI 的环境。 它们的互联功能拥有大数据平台,可做出更智能、环保的决策,同时确保最大的舒适度和性能。 NXP ®提供全方位的解决方案,旨在满足智能建筑的环境、寿命和节能要求,从照明到暖通空调、网络到楼宇门禁等等。我们的集成产品功能有助于推动下一波智能建筑浪潮、降低系统成本并加快产品上市时间。 用例 智能控制和访问 楼宇安全 暖通空调(HVAC) 照明 安全监控 连接 结构框图 产品 类别 MCU 产品URL K70_120:Kinetis ® K70-120–150 MHz,基于 Arm ® Cortex ® -M4 内核的高速 USB、以太网、DDR 和防篡改微控制器 产品描述 Kinetis ® K70 MCU 系列为工业控制面板、导航显示器、销售点终端和医疗监控设备等应用提供业界领先的低功耗和混合信号模拟集成。 类别 电源管理 产品网址 1 TEA1723FT:集成MOSFET的高压启动反激控制器,适用于11 W应用,F~Burst = 1750 Hz 产品描述 1 TEA1723是一款小体积低成本开关模式电源(SMPS)控制器IC,适合低功率应用(最高11 W),可直接使用整流市电电源工作。 产品网址 2 NTS0104:双电源转换收发器;开漏;自动方向感应 产品描述 2 NTS0104是4位双电源转换收发器,具有自动方向感测功能,可使能双向电压电平转换。 类别 Zigbee 产品URL JN5189/88 (T):适用于 Zigbee ®和 Thread 的高性能、超低功耗 MCU,内置 NFC 选项 产品描述 JN5189 产品组合旨在为下一代极低电流无线设备供电,支持 Zigbee 3.0、Thread 和 IEEE 802.15.4。 类别 传感器 产品网址 1 PCF85063A:具有闹钟功能和 I2C 总线的微型实时时钟/日历 产品描述 1 PCF85063ATL是一款CMOS实时时钟(RTC)和日历,最适合低功耗应用。 产品网址 2 PCT2075:I2C 总线 Fm+,精度为 1 摄氏度,数字温度传感器和热看门狗 产品描述 2 PCT2075 是一款温度数字转换器,在 -25 °C 至 +100 °C 范围内具有 ±1 °C 的精度。 类别 驱动程序 产品网址 1 PCF85176:适用于低复用率的 40 x 4 通用 LCD 驱动器 产品描述 1 PCF85176是一款外围器件,能驱动几乎任何低复用率液晶显示器(LCD)。 产品网址 2 PCA9633: 4位Fm+ I²C总线LED驱动器 产品描述 2 PCA9633是一款I²C总线控制的4位LED驱动器,最适合红/绿/蓝/琥珀(RGBA)调色应用。 类别 接口 产品网址 1 SC16IS752_SC16IS762:双 UART,带 I²C 总线/SPI 接口、64 字节发送和接收 FIFO、内置 IrDA SIR 支持 产品描述 1 SC16IS752/SC16IS762是一个连接双通道高性能UART的I²C总线/SPI总线接口,提供最大5Mbit/s的数据速率、低工作和睡眠电流;还为应用提供8个额外可编程I/O引脚。 产品网址 2 TDA5051AT: 家庭自动化调制解调器 产品描述 2 TDA5051A是一款调制解调器IC,专用于使用家庭电源网络以600波特或1200波特的数据速率进行ASK传输。 它通过单个5V电源工作。 产品网址 3 PCA9848:8通道超低电压、带复位功能的Fm+ I2C总线开关 产品描述 3 PCA9848是一款超低电压的八通道双向变换开关,通过I²C总线进行控制。 产品网址 4 PCA6408A:低压、8 位 I²C 总线和 SMBus I/O 扩展器,带有中断输出、复位和配置寄存器 产品描述 4 PCA6408A 是一款 8 位通用 I/O 扩展器,可通过 I²C 总线接口为大多数微控制器系列提供远程 I/O 扩展。 产品网址 5 PCA9629APW: Fm+ I2C总线高级步进电机控制器 产品描述 5 PCA9629A 是一款 I²C 总线控制的低功耗 CMOS 器件,可提供驱动四相步进电机所需的所有逻辑和控制。 框图 智能家居
查看全文