Multi Source Translation Content

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

Multi Source Translation Content

ディスカッション

ソート順:
imx8mp& pca9450c 程序无法启动 当板最初开机时,PCA9450 的所有输出电压都正常。在没有加载任何程序的 M8P 板上使用 SDPS 模式下载程序后,除 LDO1 和 LDO2 之外的所有电源都断电。PCA9450C 使用示波器观察 PCA9450C 启动,发现除 LDO1 和 LDO2 之外的所有电源电压都呈现间隔为 100 毫秒的脉冲。在电源恢复正常之前,这些脉冲持续了几个周期。 以下是下载程序后的日志和示波器电压读数。 hjk003_0-1766122256898.png hjk003_1-1766122321365.png i.MX 8 系列 | i.MX 8QuadMax (8QM) | 8QuadPlus PMIC Re: imx8mp & pca9450c program cannot start @guoweisun、 hjk003_0-1766125728129.png Re: imx8mp & pca9450c program cannot start @guoweisun、 hjk003_0-1766125486827.png hjk003_1-1766125501858.png Re: imx8mp & pca9450c program cannot start 打我的电话147 Re: imx8mp & pca9450c program cannot start @guoweisun, 感谢回复 hjk003_0-1766124046856.png hjk003_1-1766124109008.png hjk003_2-1766124208738.png hjk003_3-1766124312322.png Re: imx8mp & pca9450c program cannot start 这里只看PCA9450的异常,测试VIN/BUCK1/POWER _ON_REQUEST的波形
記事全体を表示
SDA 在地址阶段锁存第一位,无法传输数据 大家好 我目前正在调试我的 I2C,并面临一个问题,即我的 SDA 线路锁定到传输数据的第一位,这意味着线路在该位之后被拉低或调高,而 SCL 永远持续脉冲,迫使总线处于永远繁忙的状态。 例如,当我尝试传输地址 0001'000 和 1001'000 时,情况分别是这样的。 LamK_2-1766100543534.png LamK_3-1766100690373.png 我在发送地址 1001'000 时注意到的是,当 SDA 变低以发出启动条件信号时,它需要一些在 DATAVD 位域中指定的时钟周期,因此我认为该模块仅在 SDA 锁存为高电平之前的第一位响应。 我的 LPI2C 的时钟是 8Mhz,我 4 个配置寄存器中的所有位域都保持不变,我在遵守 I2C 总线规格的同时修改了 MCCR0 寄存器,还将这些引脚混合到 I2C 模式并使它们开路漏极。下面是引脚的配置: LamK_4-1766101315288.png 但无论我怎么做,都始终会遇到同样的行为。 SDA 和 SCL 线路均使用 2.2k 欧姆电阻上拉,我打算在快速模式下运行 I2C。我把它们换成了 4.7 千欧姆电阻,并尝试在标准模式下运行,但又遇到了一系列不同的问题,我现在不想多说。 我现在正碰壁,如果能得到任何帮助,我将不胜感激。 i.MX RT106x Re: SDA latches onto the first bit during address phase, unable to transmit data 你好@LamK、 谢谢您的答复。很高兴听到您的问题已经得到解决。 如果您有任何其他问题,请随时在恩智浦社区发帖。   顺祝商祺! MayLiu Re: SDA latches onto the first bit during address phase, unable to transmit data 嗨,@mayliu1、 是的,你是对的,我只是需要为这些针脚打开 SION。我刚刚成功发送了一个地址,并得到了我的从属设备来破解它。原来过去也有一些帖子说,某些引脚(如 I2C 引脚)需要打开 SION 才能正常工作。 LamK_0-1766124852668.png 谢谢您的帮助,我很感激! 顺祝商祺! 林 Re: SDA latches onto the first bit during address phase, unable to transmit data 你好@LamK、 非常感谢您关注我们的产品并使用我们的社区。 根据您的 I2C 引脚配置,我认为根本原因是"Software Input On" 的设置不当。我建议启用该功能,然后再试一次。 mayliu1_0-1766113294439.png 希望它能帮到你。 如果您还有疑问,请告诉我。 敬上 MayLiu
記事全体を表示
KW47 VSCode 集成 我正在尝试导入并构建 KW47 蓝牙数字键盘锚点 freeRTOS SDK 样本。 当我尝试导入示例应用程序时,得到了这样的错误信息: 错误:创建独立示例失败:回溯(最近一次调用): File"/home/johnsonchris/.local/lib/python3.10/site-packages/west/commands.py" 、第 565 行,在__call__ mod = _commands_module_from_file(self.py_file) 文件"/home/johnsonchris/.local/lib/python3.10/site-packages/west/commands.py" 、第 718 行,在 _commands_module_from_file spec.loader.exec_module(mod) 文件" " 、第 883 行,在 exec_module 文件" " 、第 241 行,在 _call_with_frames_removed 文件"/grmn/prj/aoem/mcuxpresso-sdk/mcuxsdk/mcuxsdk/scripts/west_commands/export_app.py" 、第 12 行,在 中,来自 export_app.cmake_parserimport cmparser 文件"/grmn/prj/aoem/mcuxpresso-sdk/mcuxsdk/mcuxsdk/scripts/west_commands/export_app/cmake_parser.py" 、第 11 行,在 from jinja2 import Template ModuleNotFoundError:没有名为 "jinja2 "的模块 上述例外情况是导致以下例外情况的直接原因: 回溯(最近一次调用): File"/home/johnsonchris/.local/lib/python3.10/site-packages/west/app/main.py" 、第 584 行,在 run_command 中 self.run_extension(args.command, argv) 文件"/home/johnsonchris/.local/lib/python3.10/site-packages/west/app/main.py" 、第 708 行,在 run_extension self.cmd = self.extensions[name].factory() 文件"/home/johnsonchris/.local/lib/python3.10/site-packages/west/commands.py" 、第 567 行,在__call__ raise ExtensionCommandError( west.commands.ExtensionCommandError 在处理上述异常的过程中,又出现了另一个异常: 回溯(最近一次调用): 文件"/usr/lib/python3.10/runpy.py" 、第 196 行,在 _run_module_as_main return _run_code(code, main_globals, None, File"/usr/lib/python3.10/runpy.py" 、第 86 行,在 _run_code exec(code, run_globals) 文件"/home/johnsonchris/.local/lib/python3.10/site-packages/west/__main__.py" 、第 3 行,在 main() 文件"/home/johnsonchris/.local/lib/python3.10/site-packages/west/app/main.py" 、第 1199 行,在 main app.run(argv)或 sys.argv[1:]) 文件"/home/johnsonchris/.local/lib/python3.10/site-packages/west/app/main.py" 、第 278 行,在 run self.run_command(argv、early_args) 文件"/home/johnsonchris/.local/lib/python3.10/site-packages/west/app/main.py" 、第 628 行,在 run_command 中 self.handle_extension_command_error(ece) 文件"/home/johnsonchris/.local/lib/python3.10/site-packages/west/app/main.py" 、第 454 行,在 handle_extension_command_error self.cmd.err(msg、fatal=True) AttributeError:"NoneType "对象没有属性 "err"。 据我所知,所有依赖条件都已满足。 我尝试在 Linux 上安装 SDK 依赖关系管理器应用程序,但安装也失败了。 Re: KW47 VSCode Integration 缺少 jinja2 软件包是解决方案。pip3 install jinja2
記事全体を表示
S32K3xx,SPD/SAF 1.0.6 RTD 队员们好 装有 SPD/SAF 1.06 的 S32K3xx 是否只能与 RTD 7.0.0 兼容、还是也支持 RTD 6.0.0? 谢谢! BR,丹尼尔 SAFETY_SW Re: S32K3xx, SPD/SAF 1.0.6 RTD 你好 Daniel, 这两个版本的 RTD(特定补丁 6.0.0 QLP04)都来自 SOW: 你可以通过我们的 confluence 链接访问 SOW: S32K3 RFP 1.0.6(包括 CD02)-功能安全 SDK- 恩智浦 Confluence 亲切的问候, Radoslav
記事全体を表示
FreeMASTER 启动时 CAN 通信停止 我正在使用 FreeMaster 连接带有 Segger/JLink 插件的 S32K311 板。但是,当我开始通信(按下Go按钮)时,我的板停止发送 CAN 消息,而且我想看的 FreeMASTER 中的变量值从未改变。看来 MCU 停止工作了。 我的 FreeMASTER 配置如下。 LuBiq_0-1765868485377.png LuBiq_1-1765868500787.png LuBiq_2-1765868515661.png LuBiq_3-1765868535973.png LuBiq_4-1765868556996.png 我的 FreeMASTER 版本是 3.2.6.3。 我的 JLink 版本是 v8.94。我还试过 7.98 版。 我的集成开发环境 S32 Design Studio 版本是 V3.5。 我尝试了以下解决方案: (1) 重新安装 FreeMASTER。 (2) 重新安装 JLink。 (3) 尝试使用 S32K342 的其他板。 (4) 手动加载 JLinkARM.dll。 这个问题已经困扰我很多天了。有谁能帮帮我?非常感谢! Re: CAN communication stoped when FreeMASTER start 它很管用!非常感谢! Re: CAN communication stoped when FreeMASTER start 你好,@LuBiq、 您可以试试我在这篇文章中描述的方法吗?
記事全体を表示
S32K144 CANFD ブソフ S32K144 用に CANFD アプリケーションを設定しました。バスオフ状況を処理するために、次のコードが追加されました。一度の短絡後に送信状態を回復できることが判明しました。しかし、連続して複数の短絡が発生すると、最終的にメッセージの送信が停止することが判明しました。その理由は何でしょうか? それは私のコードです CANFD_BUSOFF = (CAN0->ESR1 & CAN_ESR1_FLTCONF_MASK) >> CAN_ESR1_FLTCONF_SHIFT; //バスオフ状態 CANFD_BUSOFF == 0x03の場合 { // 置位软件复位位 CAN0->MCR |= CAN_MCR_SOFTRST_MASK; //等待ち复位完了(ハードウェア自動消去この位 while(CAN0->MCR & CAN_MCR_SOFTRST_MASK) {} //写1清除全部错误标志 CAN0->ESR1 = 0xFFFFFFFF; //反初化驱動 FLEXCAN_DRV_Deinit(INST_FLEXCAN_CONFIG_1); // 再初初期化驱動と邮箱(完全重现启動構成) HAL_setupCAN(); } そうでない場合//通常状態 { //データ受信 HAL_readCAN_Message(&canMsg_handle->RX_0x0101); //调用驱動受信收报文 //データ送信 canMsg_handle->TX_0x0201.msgData[0]= canMsg_handle->RX_0x0101.msgData[0]; canMsg_handle->TX_0x0201.msgData[1]= canMsg_handle->RX_0x0101.msgData[1]; canMsg_handle->TX_0x0201.msgData[2]= canMsg_handle->RX_0x0101.msgData[2]; canMsg_handle->TX_0x0201.msgData[3]= canMsg_handle->RX_0x0101.msgData[3]; canMsg_handle->TX_0x0201.msgData[4]= canMsg_handle->RX_0x0101.msgData[4]; canMsg_handle->TX_0x0201.msgData[5]= canMsg_handle->RX_0x0101.msgData[5]; canMsg_handle->TX_0x0201.msgData[6]= canMsg_handle->RX_0x0101.msgData[6]; canMsg_handle->TX_0x0201.msgData[7]= canMsg_handle->RX_0x0101.msgData[7]; canMsg_handle->TX_0x0201.msgData[21] = canMsg_handle->RX_0x0101.msgData[21]; canMsg_handle->TX_0x0201.msgData[22]= canMsg_handle->RX_0x0101.msgData[22]; canMsg_handle->TX_0x0201.msgData[23]= canMsg_handle->RX_0x0101.msgData[23]; canMsg_handle->TX_0x0201.msgData[61] = canMsg_handle->RX_0x0101.msgData[61]; canMsg_handle->TX_0x0201.msgData[62]= canMsg_handle->RX_0x0101.msgData[62]; canMsg_handle->TX_0x0201.msgData[63]= canMsg_handle->RX_0x0101.msgData[63]; HAL_sendCAN_Message(canMsg_handle->TX_0x0201); //调用驱動送信报文 } Re: S32K144 CANFD BUSOFF 問題を特定しました。私の同僚は最初にコールバック関数を登録し、その後 busoff 操作後にいくつかのフラグをクリアしました。このため、SDK ステート マシンは単独で状態を処理できなくなりました。 Re: S32K144 CANFD BUSOFF サンプル コードを確認したところ、障害が発生した場合にのみメールボックス 1 へのメッセージの送信が停止されることがわかりました。説明には、短絡障害が解消された後にメッセージの送信が再開されたと記載されています。リセットを追加した主な理由は、送信ステータスを処理しないとシステムがフリーズし、メッセージが送信されなくなるためです。このリセットプロセッシングを追加しても、特定の CANH と CANL の短絡が発生した後は、メッセージの送信状態が停止し、回復しなくなります。 Re: S32K144 CANFD BUSOFF こんにちは、 障害状態をどのくらいの頻度でチェックしているのか、または HAL 関数が内部で何を実行しているのかは完全には明らかではありません。 一般的に、FLTCONF フィールドではなくバスオフ フラグに依存し、エラー/バスオフ割り込みを有効にして、より適切な処理を実行することをお勧めします。 簡単な実装については次の例を参照してください。 https://community.nxp.com/t5/S32K-Knowledge-Base/Example-S32K144-FlexCAN-TX-RX-Error-ISR-test-S32DS2-2/ta-p/1278224 バスオフが検出された後、必ずしもモジュールの deinit/init に続いて SOFT リセットを実行する必要はありません。アプリケーションの再初期化が必要な場合は、deinit/init を使用してください。 あるいは、例に示すように、単にメッセージを中止することもできます。 BR、ペトル
記事全体を表示
S32K358 :FS26 无法启动电源 我正在测试一个由 FS26 PMIC 驱动的 MCU S32K358 组成的设计。 当我启动主电源(VSUP_PWR 引脚上的 24V)时,FS26 拒绝启动其电源。 它什么也没做。因此,我认为它在等待"enable" 信号。 只有 VDIG = 1.6V 和 VBOS = 5V 似乎是好的。 你有什么想法吗? Re: S32K358 : FS26 doesn't want to start power supplies 你好,美宝, 谢谢您的快速答复。 你说的是 EN 销。我不知道它在哪里。 您能在引脚图上找到它吗? 致以最崇高的敬意 Re: S32K358 : FS26 doesn't want to start power supplies 你好,@Diesel_Power、 考虑 FS26 启动顺序 FS26 PMIC 需要 WAKE 输入才能从关机状态过渡到待机状态,而启用正常状态则需要 EN 引脚。确保 VSUP 高于紫外线阈值并检查电池感知 (VBAT) 至关重要。不要忘记检查 nRST 和高压引脚(如 24V)。在没有 SPI 的情况下,默认 OTP 配置可能是关闭的,因此在没有 VPRE 驱动的 MCU 的情况下,通过 LPSPI 进行通信可能是一个挑战。让我提出几个关键步骤: 检查 VSUP:高于 UV 临界值,检查接地和双电源引脚。 激活 WAKE 和 EN 引脚:过渡到待机状态并启用稳压器。 验证 OTP 设置:确保启用了适当的轨道。 检查故障保护状态:正确处理 FS0B 和 WDIO 以确保安全操作。 检查模式引脚:将 WAKE/IGN 驱动为高电平以退出关断模式,然后断定 EN 以进入正常模式;如果没有 EN,则轨道保持关断状态。 验证 OTP/配置带:默认 (OTP) 可能会在待机状态下禁用所有电源;请确保您的 CFG 引脚选择的我的可启用预设置 (VPRE) 或 MCU 导轨。 明确的故障安全:确保 FS0B 未锁存为低电平且 WDIO 没有故障;功能安全故障将阻止启动。 输入/UVLO 正常:确认 VSUP 符合规格,接地牢固,VBAT/VSENSE 引脚接线正确;UVLO 或接线错误会停止排序。 顺序计划:使用唤醒(WAKE)→待机(VBOS、VDIG 正常)→调用 MCU 的 VPRE → SPI 配置其余轨 → EN 至正常。 快速测试:手动将 EN 调至高电平;如果轨道启动,则问题出在唤醒/点火/配置上。如果不是,则怀疑故障安全或 UVLO 线路。 致以最崇高的敬意 梅布尔-布朗 Re: S32K358 : FS26 doesn't want to start power supplies 另一个精确度:所有的 VBST 引脚都浮空在我的板上
記事全体を表示
iMX RT1176 USBホスト – HID POSデバイスが初期kUSB_HostEventNotSupportedで拒否されました NXPチームの皆様、こんにちは。 私は、 MCUXpresso SDK USB ホスト スタックを使用してi.MX RT1176を操作し、 USB ホスト モードでHID-POS/バーコード スキャナーを接続しようとしています。 問題 デバイスは列挙中に直ちに拒否されます: kUSB_HostEventNotSupported これは、初期コールバックUSB_HostEvent で発生します。 imxRT1176 上の汎用 HID POS デバイスに関するガイダンスや参考例があれば非常に役立ちます。 Re: iMX RT1176 USB Host – HID POS device rejected with initial kUSB_HostEventNotSupported こんにちは@Unais 、 ご質問ありがとうございます。お客様のご要望を理解しております。 主に SDKs のサンプルと関連サポートを提供します。特定のアプリケーション シナリオについては、より詳細な技術ガイダンスを得るために、当社の専門的な有料サポート チャネルを使用することをお勧めします。 https://www.nxp.com/support/support/nxp-engineering-services/professional-support-for-processors-and-microcontrollers:PREMIUM-SUPPORT ご理解とサポートをよろしくお願いいたします。   よろしくお願いいたします。 メイリュー Re: iMX RT1176 USB Host – HID POS device rejected with initial kUSB_HostEventNotSupported ご返信ありがとうございます。 私のセットアップでは、HID マウスとキーボードは正常に動作しています。ただし、すべての言語で QR コードとバーコードを処理する必要があるため、 HID POS をサポートする必要があります。現在、 Zebra CS6080スキャナーを使用しています。 デバイスでサポートされているCDC ホスト クラスも使用してみました。デバイスはサポートされている CDC デバイスとして正常に列挙されますが、QR コードまたはバーコードをスキャンしてもデータが受信されません。 このプラットフォームでHID POSをサポートするための代替または推奨されるアプローチがあるかどうか教えてください。 HID POS が直接サポートされていない場合、必要な機能を実現するのに役立つ回避策や構成オプション (スキャナーの USB モードの切り替えや別の USB クラスの使用など) はありますか? https://www.zebra.com/content/dam/support-dam/en/documentation/unrestricted/guide/product/cs6080-prg-en.pdf あらゆるガイダンス、ドキュメント、または参考例をいただければ幸いです。 Re: iMX RT1176 USB Host – HID POS device rejected with initial kUSB_HostEventNotSupported こんにちは@Unais 、 弊社の製品にご興味をお持ちいただき、またコミュニティをご利用いただき誠にありがとうございます。 現在のプロジェクトは HID POS デバイスをサポートしていないため、対応するコードの変更が必要です。   関連する実装ガイダンスと例が記載されているアプリケーションノートAN14543を参照することをお勧めします。 https://docs.nxp.com/bundle/AN14543/page/topics/usb_barcode_scanner.html お役に立てれば幸いです。 よろしくお願いいたします。 メイリュー
記事全体を表示
CLK、CMD 和 DATA 引脚在未使用时没有连接,对吗? 您好, 我使用 NVT4858 作为 eMMC 和 OSPI 的电平转换器。 电路原理图如下:请问如何处理未使用的 CLK、CMD 和 DATA 引脚?不联网可以吗?请就以下电路提出建议。谢谢。 tilnxpsyna_0-1747202444647.png tilnxpsyna_1-1747202444675.png 电平位移器 SPI Re: CLK, CMD and DATA pins unconnected when they are unused, right? 非常感谢,托马斯。 另一个问题:我使用 NVT4858 将 FPGA(主机)的 1.2V 转换为 1.8V 的八闪存储器(设备),时钟频率只有 1MHz。但是我读回的数据的第一个字节总是错误的。您认为可能的原因是什么?再次感谢。 Re: CLK, CMD and DATA pins unconnected when they are unused, right? 嗨,裴、 CMD 和 DAT 引脚可以保持浮空状态,因为它们始终通过内部上拉电阻 (Rpu) 连接到 VCCA 和 VCCB。我们建议在 A 侧使用下拉电阻器(通常为 10 kΩ)将 CLK 引脚连接到地。 1.png BRs, Tomas
記事全体を表示
S32K344 上の HSE をデバッグし、HSE ファームウェア バージョン情報を取得すると、エラー コード 0xaa55a11e が返されます。 チッププラットフォーム: S32K344HVS 内蔵SBAFバージョン情報: アドレス 0x4039c020 内容: 00050000 00A00003 HSEファームウェアバージョン: s32k3x4_hse_fw_0.5.0_2.1.0_pb220625.bin.pink HSEモード: FULL_MEM NXP が提供する HSE コンパニオン デモ プロジェクトを使用し、HSE ファームウェア バージョンの読み取り、キー ディレクトリの消去、キーのインポート、暗号化/復号化の実行などの操作を正常に実行しました。デモ プロジェクトからアプリケーション プロジェクトに該当するコードを移植しようとしたときに、ファームウェア バージョンの読み取り操作中に HSE がエラー応答コード 0xaa55a11e を返しました。 HSE デモ プロジェクトをアプリケーション プロジェクトに移植する場合、どのような点に特別な注意が必要ですか?参照できる移植ガイドまたは同様のドキュメントはありますか? 以下のコンポーネントを移植しました。 1. デモプロジェクトのリンカースクリプト内のHSE関連セクション 2. ブートファイルにCopyFlashToSRAMHseHost操作を追加 3. メイン関数に入る前に、HSE デモ プロジェクトの SystemInit 関数が呼び出されます。 4. HSE ファームウェア バージョンを取得するために渡されるパラメータを検証しました。これらは標準のファームウェア バージョン取得コマンドに対応しています。 他に調査または追跡すべき点はありますか?何らかのガイダンスを提供してください。ありがとう!
記事全体を表示
[ABUSE] Post By: @JohnKlug / Board: imx-processors / Reported by: tozrnat tozrnat has reported the post Could not invoke dnf for external kernel module in Yocto kirkstone posted by @JohnKlug for the following reasons: Reason: Spam Details: https://rus.langnotes.ru/songs/pharmacy-online"> https://evere.co/articles/pharmacy-online-2"> https://rus.langnotes.ru/songs/pharmacy-online"> https://www.w2wdev.spartlow.com/song/16585"> https://darkmetal2039.com/history/pharmacy-online-21"> http://www.beautynbrushes.com/services-provided/hybrid-fullset-removal-eagerprickedagd"> https://localautosforsale.com/local-autos/ap/11/lotus/18i-4dr-wagon/1997/8699"> http://onlyforsalebyowner.com/for-sale-by-owner-homes/ok/32"> https://greenexport.vn/en/binh-luan-354"> https://gglabs.us/node/5704"> https://museusvalenciades.grupotecopy.es/en/node/2366"> https://dev.beautynbrushes.com/services-provided/polish-change-hands-toes-maroonimmortalep"> http://ph-ed-plus.nspu.ru/article/17929"> https://golemobuchino.com/content/2470/pharmacy-online"> http://03otvet.ru/voprosy/dietologiya/pharmacy-online"> https://carros-usados.us/pharmacy-online-9"> https://www.isupportveterans.org/node/3030"> https://www.player1.app/post/pharmacy-online"> https://rus.langnotes.ru/songs/pharmacy-online"> https://www.itconnecta.es/pharmacy-online-5"> https://slp.millingtonpubliclibrary.org/content/pharmacy-online-2"> https://escolesvalenciades.grupotecopy.es/val/node/1304"> https://wibride.com/your-couple-name-2348"> https://eventandjudge.com/node/24447"> https://www.castnblastadvisor.com/pharmacy-online-0"> http://shop.ls-s.ru/product/10106"> https://oregonweddingday.com/your-couple-name-2326"> http://lsdsng.com/node/4265"> https://openreviewhub.org/applicant-reviewers/goodwinbustard/become-reviewer"> https://darkmetal2039.com/history/pharmacy-online-21"> https://asafestival.com/de/node/3800"> https://golemobuchino.com/content/2470/pharmacy-online"> http://www.batshaw.qc.ca/fr/node/175"> https://openreviewhub.org/applicant-reviewers/goodwinbustard/become-reviewer"> https://rus.langnotes.ru/songs/pharmacy-online"> https://www.ziveknihy.sk/audiokniha/pharmacy-online-3"> http://www.sccu.chula.ac.th/node/930"> http://santorini.cz/node/6337"> http://www.sccu.chula.ac.th/node/930"> https://theanubianwar.com/node/6403"> Post link: https://community.nxp.com/t5/i-MX-Processors/Could-not-invoke-dnf-for-external-kernel-module-in-Yocto/m-p/1627964#M203740 Post author: @JohnKlug | Email Author Reported by: tozrnat | Email Reporter The reported post has 2 replies.
記事全体を表示
S32K388: FCCU実装でeMcem initが失敗する こんにちは、チームの皆さん お客様は、RTD 5.0.0を搭載した SAF パッケージSW32K3_SAF_1.0.6_CD02_D2508を使用しており、現在、MCU0 (S32K324) および MCU1 (S32K388) 用の FCCU モジュールの構成に取り組んでいます。 S32K324: Tresos で eMcem モジュールを構成しました。 Tresos で Safebase モジュールを構成しました。 アプリケーション ソフトウェアの起動シーケンスの一部として eMcem_Init() を呼び出しました。 FCCU ペリフェラルは、Tresos 構成に従って設定されます。インジェクト機能を使用してテストし、ALARM ISR を正常にトリガーしました。 S32K388: Tresos で eMcem モジュールを構成しました。 Tresos で Safebase モジュールを構成しました。 アプリケーション ソフトウェアの起動シーケンスの一部として eMcem_Init() を呼び出しました。 問題: eMcem の初期化に失敗します。OPR 要求 (障害のクリア、状態の構成など) はいずれも機能していません。 BareMetal コードを使用して FCCU ペリフェラルを構成することをテストし、期待どおりに動作した場合、FCCU は正常に構成されました。S32K388 に関してエラッタや特別な考慮は必要ですか? 詳細は下記をご覧ください。追加情報が必要な場合はお知らせください。 ベアメタル構成: アラームハンドラーISRは偽の注入によってトリガーされます SAF パッケージのeMCEM モジュールを使用する場合、ステップ実行せずにコードを実行すると、コア リセットが発生します (このプロセス中にブート マネージャーに到達しないため、完全なマイクロコントローラ リセットではありません)。 ただし、eMcem_Init 関数を実行すると、 CONFIG状態への移行時に失敗します。このCASE、コア リセットは発生せず、システムはRUNNING状態に移行しますが、FCCUは未構成のままになります。 Tresos 構成: (前述のとおり、同じ構成が S32K324 でも動作します) ここでのどんな助けも大歓迎です。 優先度: 中 RTD SAFETY_SW 出典: 直接お客様 Re: S32K388 : eMcem init fails in FCCU implementation こんにちは@vamsilankaさん、 SAF 1.0.6 CD02 は RTD 6.0.0 でのみテストしたと思いますが、いずれにしても RTD バージョンはここでは問題にならないと思います。 以下を試していただけますか: - Config タイムアウトが検出されて、appl_Fccu_Cfg_TimeoutCallback() に到達できるか試していただけますか?いいえの場合は、ISR 190 が有効になっていることを確認してください。 これは、FCCU によってタイムアウト イベント情報が検出されたかどうかを確認するためのものです。 - 構成されたロック タイプを SOFT_LOCK から NO_LOCK に変更し、それが機能するかどうかをもう一度試してください。 これは、内部関数 378,5: eMcem_Fccu_UnlockTrans() が期待どおりに動作するかどうかをテストするためのものです。 - FCCU_MAX_LOOP_COUNT_U8 を 20 から 200 に変更してみます。 お客様の時計設定に関してタイムアウトが十分かどうかをテストします。 これら 3 つの回避策を個別に試して、どれが機能するか教えてください。 敬具、 ラドスラフ Re: S32K388 : eMcem init fails in FCCU implementation こんにちは@RadoslavB 、 お客様がデバッグ モードを有効にし、すべての構成が FCCU ペリフェラルに適用された状態でシステムが正常に CONFIG 状態になります。ただし、CONFIG 状態から NORMAL 状態には遷移しません。eMcem_Fccu_ExecuteOperationAndConfigureCtrlReg() 関数を複数回実行しましたが、結果は同じままでした。 さらに、デバッグ モードを有効にすると、fccu_configure までのコードをステップ実行しないと、システムが継続的にリセットされ、デバッグ ポートが失敗します。デバッグ ポートの障害のため、MC_RGM レジスタにアクセスしてリセットの原因を特定することができません。Trace32 に再接続するにはデバッガーで手動でリセットする必要があり、その結果、外部リセットが記録されます。 Re: S32K388 : eMcem init fails in FCCU implementation こんにちは@vamsilankaさん、 「デバッグ モードの有効化」を有効にしてみることもできます。RM ではあまり説明されていませんが、デバッグ中にタイムアウトがフリーズされる可能性があります。このオプションを有効にすると何らかの変化があるかどうかお知らせください。 私の側で試してみたところ、 eMcem_Fccu_ExecuteOperationAndConfigureCtrlReg() によるデバッグではオペレーションモードの変更が機能しないことが確認されました。そのため、FCCU オペレーションモードを適切に変更するには、この関数全体をステップオーバーする必要があります。RM には、この理由を説明する以下のヒントがあります。 ステップオーバーした eMcem_Fccu_ExecuteOperationAndConfigureCtrlReg() の呼び出しを除くすべての eMcem_Init コードをステップごとにデバッグでき、最終的に eMcem_Init() は BusFaults なしで OK を通過します。 リセットが発生した場合は、リセットステータスレジスタを確認し、根本原因を特定してください。FOSUリセットフラグの場合、何らかの障害が発生したものの、想定されたタイムアウト時間内に応答が実行されなかったことを意味します。この場合、どのFCCU/DCMROD障害が発生したかを特定してください。 Busfault についてですが、BusFault 発生時の StackFrame とすべてのシステム制御レジスタを表示できますか?FCCU init の実行で Bus Fault が発生するのは一般的ではありません。 また、OS はどの時点でも eMcem_Init の実行を中断してはなりません。OS スケジューラは他のタスクに切り替えていないと思いますか? 敬具、 ラドスラフ Re: S32K388 : eMcem init fails in FCCU implementation こんにちは@RadoslavB 、 以下の電子メールに記載されている 3 つの提案をすべてテストしたところ、一貫した動作が確認されました。437 行目で NORMAL 状態に入る前に、 fccu_configure関数のどの行にもブレークポイントを設定しないと、システムで破壊的なリセットが発生し、デバッガーにデバッグ ポートの失敗が表示されます。これは、FOSU が破壊的なリセットをトリガーする CAN が原因である可能性がありますか? fccu_configure関数にブレークポイントを設定すると、コードが停止し、FCCU ペリフェラルで構成タイムアウトが表示されます (デバッガー経由で停止したためかどうかは不明)。また、割り込み優先度が原因で、TIMEOUT_ISR ではなく OS_BusFault エラーが発生します。NVIC レジスタを確認すると、ISR 190 がアクティブと非アクティブの間で切り替わっていることがわかります。       Re: S32K388 : eMcem init fails in FCCU implementation こんにちは@vamsilankaさん、 私の側ではこのシナリオを再現できません。 デバッグ モードを有効にし、ソフト ロックを適用しましたが、すべて期待どおりに動作します。 デバッグセッションを作成しましょう。 HW へのアクセスをブロックする設定がある場合は、MPU と XRDC を無効にしてみることができます。 OS がプロセスを中断していないか、常にスーパーバイザー モードになっているかを確認します。 関連するクロック FIRC、AIPS_PLAT_CLK を確認できます。 そして、実際の FCCU 障害がないかどうかを確認できます。 敬具、 ラドスラフ
記事全体を表示
[不正使用] 投稿者: @JohnKlug / ボード: imx-processors / 報告者: hcrpcn hcrpcn は、 @JohnKlug が投稿した 「Could not invoke dnf for external kernel module in Yocto kirkstone」という 投稿について、以下の理由で報告しました。 理由:その他 詳細: 投稿リンク: https://community.nxp.com/t5/i-MX-Processors/Could-not-invoke-dnf-for-external-kernel-module-in-Yocto/mp/1627964#M203740 投稿者: @JohnKlug |メール著者 報告者: hcrpcn |メールレポーター 報告された投稿には 2 件の返信があります。
記事全体を表示
AFE Sigma-Delta Channel Mapping and Multi-Phase Input Support on TWR-KM35Z75M (Metering Library) Hello NXP Team, I am working on TWR-KM35Z75M using the latest MCUXpresso SDK and evaluating the Metering Library with the MKM35Z512 AFE (24-bit Sigma-Delta ADC). I need clarification on how the AFE channels are configured and how the metering library acquires samples. SDK: Latest MCUXpresso SDK release for KM35 MCU: MKM35Z512VLQ7 (Kinetis-M series) 1. The metering examples (meterlib1ph_test, meterlib3ph_test) never explicitly reference these pins and need to know exactly where in the SDK the AFE channel-to-signal mapping is configured. 2. Actual AFE sampling rate (Hz / kHz), Whether sampling is triggered internally or by a timer, Whether samples are transferred via DMA, interrupt, or internal FIFO 3. I need to connect three-phase voltage and current signals to the board. What is the recommended channel assignment for 3-phase V/I pairs?   Re: AFE Sigma-Delta Channel Mapping and Multi-Phase Input Support on TWR-KM35Z75M (Metering Library) Hi @Anusudhan06  Thanks for your post,  There same some Application Notes related to your questions please review it: Using the FFT on Sigma-Delta ADCs Kinetis-M Two-Phase Power Meter - Reference Design Filter-Based Algorithm for Metering Applications Re: AFE Sigma-Delta Channel Mapping and Multi-Phase Input Support on TWR-KM35Z75M (Metering Library) Thank you @carlos_o  I am currently integrating the Analog Front-End (AFE) configuration with the Metering Library in my project and would greatly appreciate it if you could provide a reference example. I have already referred to the provided example file, meteringlib3Ph_test.c, which clearly shows how to use the Metering Library APIs. However, We would greatly appreciate it, If you could provide a more complete reference example that explicitly demonstrates the integration of both the AFE configuration and the Metering Library together. Initialization Sequence: The correct order and method for initializing both the AFE and the Metering Library. Data Flow: How the raw AFE data is captured, formatted, and correctly passed as input to the Metering Library functions. Thank you for your consideration of this request. Re: AFE Sigma-Delta Channel Mapping and Multi-Phase Input Support on TWR-KM35Z75M (Metering Library) I’m circling back to see if you’ve had a chance to look into my request yet.
記事全体を表示
[ABUSE] Post By: @JohnKlug / Board: imx-processors / Reported by: ukqqszoj ukqqszoj has reported the post Could not invoke dnf for external kernel module in Yocto kirkstone posted by @JohnKlug for the following reasons: Reason: Something else Details: http://alabasirah.com/node/8261"> https://primfootball.com/pharmacy-online-6"> https://oregonweddingday.com/your-couple-name-2335"> http://pi5ny.com/node/4957"> http://fictioneer.org/content/pharmacy-online-2"> http://www.sccu.chula.ac.th/node/920"> https://www.vgame.ca/node/46841"> https://greenexport.vn/en/binh-luan-348"> https://www.07acg.com/node/42634"> http://fictioneer.org/content/pharmacy-online-2"> https://tarantulerosdecorazon.com/fichas-de-especie/pharmacy-online-3"> https://www.itconnecta.es/pharmacy-online-13"> https://www.onlyhomebuyers.com/for-sale-by-owner-homes/md/60"> https://sitepe.iiec.unam.mx/node/6213"> http://dev.nikol-buket.com/content/pharmacy-online-2"> https://www.availcalendar.com/calendar/25590"> https://totalhockeymanagement.com/pharmacy-online-10"> http://fictioneer.org/content/pharmacy-online-2"> https://rahuldolas.com/forum/general-discussion/topic/717/pharmacy-online"> https://investor18.ru/investors/pharmacy-online-2"> https://www.chstm.org/node/79813"> https://ufa-help.ru/content/pharmacy-online-2"> https://www.tripmayntra.com/pharmacy-online-8"> http://old-bxl.jeunescathos.org/fr/content/pharmacy-online-16"> https://www.spinsheet.com/century-club-log/pharmacy-online-2"> https://www.lawtech.ru/content/pharmacy-online-3"> https://carros-usados.us/pharmacy-online-8"> https://www.e123.hk/zh-hant/e-center/group/topic/933212"> https://www.itconnecta.es/pharmacy-online-13"> https://new.roger24.de/pharmacy-online-0"> https://www.tripmayntra.com/pharmacy-online-8"> http://surfing.4fan.cz/node/148"> https://ng.nycc.org/content/pharmacy-online-12"> https://ufa-help.ru/content/pharmacy-online-2"> https://tarantulerosdecorazon.com/fichas-de-especie/pharmacy-online-3"> http://polden.info/story/pharmacy-online-4"> http://old-namur.jeunescathos.org/fr/content/pharmacy-online-12"> http://shop.ls-s.ru/product/10105"> https://www.ziveknihy.sk/autor/pharmacy-online"> https://www.cableman.ru/node/84340"> Post link: https://community.nxp.com/t5/i-MX-Processors/Could-not-invoke-dnf-for-external-kernel-module-in-Yocto/m-p/1627964#M203740 Post author: @JohnKlug | Email Author Reported by: ukqqszoj | Email Reporter The reported post has 2 replies.
記事全体を表示
インラインECC 機能と実装方法について (日本語ブログ) インラインECC(Inline Error Correction Code)とは、メモリやストレージで発生するビットエラーをリアルタイムで検出・訂正する仕組みの一種です。i.MX 8M PlusのようなDDRコントローラでインラインECC機能を有効にすると、DDRアクセスのパフォーマンスは下がりますが、DDR容量の約1/8をECC領域として使用することで、ECCを保持するための専用メモリを追加する必要がありません(=BOMコストの低減)。 本稿では、インラインECCの機能説明と実装方法について紹介します。   1. i.MX 8M PlusのInline ECC機能   i.MX 8M PlusのDDR Controllerは、ソフトエラー(アルファ線や中性子などに起因するDRAMのビット反転)からシステムを保護するため、Inline ECC機能をサポートしています。 64bitsデータ毎に8bitsのECC (Error Correcting Code)を保持することで、シングルビットエラーの訂正とダブルビットエラーの検出を行います。 ECCを保持するための専用メモリは持たないため、DDR容量の約1/8をECC領域として使用します。 32bitデータバスをデータとECCで共有するため、Inline ECC機能を有効にするとDDRアクセスのパフォーマンスは下がります。   1.1. SEC(Single-bit Error Correction) SECは、1ビットのエラーを検出し、正しい値に修正するDDR Controllerの機能です。 Keita_Nagashima_4-1765435456176.png Fig. 1 SECの概念図   1.2. DED(Double-bit Error Detection) DEDは、2ビットのエラーを検出するDDR Controllerの機能です。 Keita_Nagashima_5-1765435507241.png Fig. 2 DEDの概念図 Note :  実際には、8バイトではなく、64バイトアラインのデータ領域(+8バイトのECC)でSEC、DEDを検出します。   2. Inline ECCのメモリマッピング(概略)   DDR容量によってInline ECCのメモリマッピングの設定方法が異なります。   2.1. DDR容量が2のべき乗の場合 (binary-aligned densities)¶ 例えば、1, 2, 4, 8, 16GBの場合、 DDRの下位アドレス 7/8 をデータ領域、上位アドレス 1/8 をECC領域として使用します。ECC領域には基本的にはアクセスできません。 データ領域をRegion 0~6、Other regionの最大8つの領域に分割して、各regionでECC機能の有効・無効を設定します。 Region 0~6の容量はすべて同じで、DDR容量の1/8, 1/16, 1/32, 1/64のいずれかに設定します。残りはすべてOther regionになります。 以下は、Region 0~6の容量を1/8に設定した場合のメモリマッピングです。この場合はOther regionは存在しません。 Keita_Nagashima_2-1765437269920.png Fig. 3 メモリマッピングの例 (1/8) 以下は、Region 0~6の容量を1/16に設定した場合のメモリマッピングです。 Keita_Nagashima_3-1765437330955.png Fig. 4 メモリマッピングの例 (1/16) 2.2. DDR容量が2のべき乗ではない場合 (non-binary-aligned densities) 例えば、3, 6, 12GBの場合、(i.MX 8M Plus LPDDR4 EVKは6GBなので、このケースに該当します)  DDR全体を2のべき乗の容量で3分割します。 3GBの場合、1GB x 3 6GBの場合、2GB x 3 12GBの場合、4GB x 3  3分割された下位アドレスの領域に対して、 2.1. DDR容量が2のべき乗の場合 の設定を行います。  3分割された上位アドレスの2つの領域の設定は、下位アドレス領域と同じ設定になります。  以下は、1/8を設定した場合のメモリマッピングです。 Keita_Nagashima_4-1765437541555.png Fig. 5 DDR容量が2のべき乗ではない場合のメモリマッピングの例 (1/8) 3. DDR Register Programming Aidによる設定   DDR Register Programming Aid (以下、DDR RPA)でInline ECCの設定を行います。 Note :  事前にInline ECCが無効の状態でDDR stress testが動作する(だけではなく、u-boot起動まで動作確認できている)DDR RPAを用意してください。 i.MX8MP LPDDR4/DDR4 RPA v6以前の設定には不具合があるためInline ECCが正常動作しません。 少なくともv7以降を使用してください。特に事情がなければ最新版のDDR RPAを使ってください。 (2024/09時点での最新版はv9です。) Linux BSPのU-Bootに含まれているi.MX 8M Plus EVK用の lpddr4_timing.c や ddr4_timing.c は CONFIG_IMX8M_DRAM_INLINE_ECC のdefineが入っていて一見動作しそうですが、Inline ECC設定の不具合があり正常動作しません。 EVKでテストする場合であってもDDR RPAとDDR Toolでlpddr4_timing.c/ddr4_timing.cを生成してください。 3.1. Inline ECCを有効にする DDR RPAのRegister ConfigurationシートでInline ECCの項目をEnableに設定します。   Keita_Nagashima_1-1765438351335.png 3.2. メモリマッピング   3.2.1. DDR容量が2のべき乗の場合 (binary-aligned densities) DDR容量が2のべき乗の場合は、ECC_Config_BinaryAlignedのシートを使用します。 Region 0~6の容量を指定します。(1/8, 1/16, 1/32, 1/64のいずれか) Region 0~6、Other RegionのECC有効・無効を設定します。(PROTECTED, UNPROTECTEDのいずれか) Region 0~6の容量を1/8に設定した場合の例です。 Keita_Nagashima_2-1765438431895.png Fig. 6 DDR RPAでの設定 (1/8) Region 0~6の容量を1/16に設定した場合の例です。 Keita_Nagashima_3-1765438479461.png Fig. 7 DDR RPAでの設定 (1/16) 3.2.2. DDR容量が2のべき乗ではない場合 (non-binary-aligned densities) DDR容量が2のべき乗ではない場合は、ECC_Config_nonBinaryAlignedのシートを使用します。(i.MX 8M Plus LPDDR4 EVKは6GBなので、このケースに該当します) Region 0~6の容量を指定します。(1/8, 1/16, 1/32, 1/64のいずれか) ECC Memory Region 0の中のRegion 0~6、Other RegionのECC有効・無効を設定します。(PROTECTED, UNPROTECTEDのいずれか) ECC Memory Region 1/2 は自動的に ECC Memory Region 0と同じ設定になります。 Region 0~6の容量を1/8に設定した場合の例です。 Keita_Nagashima_6-1765438674787.png Keita_Nagashima_5-1765438582315.png Keita_Nagashima_7-1765438743893.png Fig. 8 DDR RPAでの設定 (1/8) Region 0~6の容量を1/32に設定した場合の例です。 Keita_Nagashima_8-1765438820847.png Keita_Nagashima_9-1765438875946.png Keita_Nagashima_10-1765438920329.png Fig. 9 DDR RPAでの設定 (1/32) 4. DDR Toolによるテストとlpddr4_timing.c/ddr4_timing.c生成   DDR ToolでDDR RPAで行った設定の動作確認ができます。 DDR stress testをパスしたら、U-Bootに組み込むlpddr4_timing.c/ddr4_timing.cを生成します。   5. U-BootのInline ECC実装   5.1. lpddr4_timing.c/ddr4_timing.cの置き換え lpddr4_timing.c または ddr4_timing.c をDDR RPAとDDR Toolで生成したファイルに置き換えます。 uboot-imx/board/freescale/imx8mp_evk/lpddr4_timing.c uboot-imx/board/freescale/imx8mp_evk/ddr4_timing.c   5.2. Configの追加 U-Bootのconfigファイル に CONFIG_IMX8M_DRAM_INLINE_ECC=y を追加します。 Listing 1 uboot-imx/configs/imx8mp_evk_defconfig に追加 CONFIG_IMX8M_DRAM_INLINE_ECC=y Note : U-Bootのconfigファイル imx8mp_evk_inline_ecc_defconfig はLinux BSP 5.4で追加されましたが、適切にメンテされていないので非推奨です。 EVKでテストする場合は imx8mp_evk_defconfig にconfigを追加して使用したほうが安全です。 5.3. Linux reserved領域の変更¶ ソフトウェアからECC領域へのアクセスは禁止されています。 そのため、Linux kernel(等のシステム・ソフトウェア)がECC領域をreserved領域として扱うようにdevice treeを動的に変更します。 デフォルトはEVKのDDR容量(LPDDR4は6GB、DDR4は4GB)に合わせてハードコードされているので、 DDR容量がEVKと異なる場合はコードを修正する必要があります。 uboot-imx/board/freescale/imx8mp_evk/imx8mp_evk.c の ft_board_setup 関数でECC領域を実際のDDR容量に合わせて変更します。 例えば、DDR4の場合は、DDR容量4GBの想定でECC領域の開始アドレスとサイズがハードコードされています。 Listing 2 DDR4の容量4GBでハードコードされている部分 phys_addr_t ecc_start = 0x120000000; size_t ecc_size = 0x20000000; 実際のDDR容量が2GBの場合、物理アドレス 0x40000000 ~ 0xc0000000 の上位アドレス 1/8 (256MB)をECC領域としてreserveします。 Listing 3 DDR容量2GBに変更する例 phys_addr_t ecc_start = 0xb0000000; size_t ecc_size = 0x10000000; imx8mp_evk.c を使用していない場合は、 ft_board_setup 関数と同等の処理を追加する必要があります。   5.4. Relocationの対応 DDR容量が2GB以下、かつ、OPTEEを組み込まない場合、U-BootはDDRの最上位アドレスにrelocationを試みますが、 ECC領域と重なっているため、relocation中にハングアップします。 それを回避するために、 imx8mp_evk.h のDDR容量定義 PHYS_SDRAM_SIZE からECC領域の容量(1/8)を減らします。 Listing 4 uboot-imx/include/configs/imx8mp_evk.h -#define PHYS_SDRAM_SIZE 0x80000000 +#define PHYS_SDRAM_SIZE 0x70000000   5.5. ECC領域へのアクセス処理を除外 U-BootでECC領域にアクセスしているようなコードが他にもある場合は、ECC領域へのアクセスを除外する必要があります。 例えば、メモリテストでDDR全域にアクセスしているような場合は、ECC領域へのアクセスは行わないように変更してください。 参考: https://github.com/nxp-imx/uboot-imx/blob/lf-6.1.55-2.2.0/configs/imx8mp_evk_defconfig#L10-L11   6. Linuxでの動作確認   6.1. 起動ログの確認 Linux起動時にEDACドライバが組み込まれていることを確認します。(EDAC = Error Detection And Correction) i.MX 8M PlusのEDACのドライバは linux-imx/drivers/edac/synopsys_edac.c です。 Listing 5 起動ログの確認 root@imx8mp-lpddr4-evk:~# dmesg | grep EDAC [ 0.116733] EDAC MC: Ver: 3.0.0 [ 1.874689] EDAC MC0: Giving out device to module 1 controller synps_ddr_controller: DEV synps_edac (INTERRUPT)   6.2. メモリマッピングの確認 コマンド cat /proc/iomem で、 5.3. Linux reserved領域の変更 で設定したとおりにECC領域がreservedになっていることを確認します。 以下はi.MX 8M Plus LPDDR4 EVK(DDR容量が6GB)の例です。 Listing 6 メモリマッピングの確認 root@imx8mp-lpddr4-evk:~# cat /proc/iomem | grep reserved ... b0000000-bfffffff : reserved ... 130000000-13fffffff : reserved ... 1b0000000-1bfffffff : reserved   6.3. ECCエラー発生時の確認 アプリケーション・ノート AN13566 - ECC on i.MX 8 Series によると、i.MX 8M PlusのDDR ControllerにはECCエラーを意図的に発生させる機能はありません。 3.2.9 ECC error injection through software The ECC error injection is a useful optional feature for system-level software validation. Unlike the Sideband ECC, there is no dedicated hardware support for it. However, errors can be injected through the software by unlocking the ECC region through the “ECC_REGION_PARITY_LOCK” register and overriding ECC parity bits. When the corresponding addresses are read from a protected memory region, ECC errors are generated as correctable or uncorrectable, depending on the type of error introduced. NOTE: ECC data poisoning is not supported by the DDR controller. The reference manual will be updated to remove this functionality. したがって、ECC領域のロックを解除し、コアからECC領域を変更することで擬似的にECCエラーが発生する状態を作ってテストを行います。 基本的な考え方は以下のようになります。 DataAddrに8bytes値0xffffffff_ffffffffを書きます。DDRCはDDRに書き込みを行い、同時にECC 1byteも書き込みます。 ECC regionをアンロックします。コアからECC領域へのアクセスが可能になります。 DataAddrに対応するECC byteのアドレスを求め、ECCの1byteを読みます。 1bitだけ反転した値0xffffffff_fffffffeをDataAddrに書きます。ECC 1byteも更新されます。 ECC 1byteに、3.で読んだECC byteの値を書き戻します。 ECC regionをロックします。コアからECC領域へのアクセスが禁止されます。 DataAddrの値を読みます。この時、ECCが矛盾しているため、Single-bit Error Correctionが動作して、訂正された8bytesの値、0xffffffff_ffffffffが読み出されます。また、Correctable Error interruptがコアに通知されます。 Note :  DDRへのアクセスを発生させるため、non-cacheの領域でテストを行う必要があります。 Keita_Nagashima_11-1765439108812.png Fig. 10 SEC(Single-bit Error Correction)のテスト方法¶   DED(Double-bit Error Detection)のデバッグも同じ方法で行うことができます。   7. 参考資料 アプリケーションノート: AN13566 - ECC on i.MX 8 Series アプリケーションノート: AN13616 - Validating i.MX 8 Inline ECC Engine Functionality(入手方法はNXPの担当者にお問い合わせください。) i.MX 8M Family DDR Tool Release - NXP Community i.MX 8M Plus DDR Register Programming Aids (RPA) - NXP Community 8. 注意 本資料はNXP製品を活用していただくための参考資料です。 正式な仕様は製品マニュアル・アプリケーションノートを参照ください。 使用ソフトウェアのバージョンなど諸条件の差異により、記載内容と実際の動作が異なる場合があります。 すべての機能検証を行ったものではありませんので、必ずご使用目的に適合した検証・試験を行ってください。 =========================​ 本投稿の「Comment」欄にコメントをいただいても、現在返信に対応しておりません。​ お手数をおかけしますが、お問い合わせの際には「NXPへの技術質問 - 問い合わせ方法 (日本語ブログ)」をご参照ください。​ (既に弊社NXP代理店、もしくはNXPとお付き合いのある方は、直接担当者へご質問いただいてもかまいません。)​ インラインECC(Inline Error Correction Code)とは、メモリやストレージで発生するビットエラーをリアルタイムで検出・訂正する仕組みの一種です。i.MX 8M PlusのようなDDRコントローラでインラインECC機能を有効にすると、DDRアクセスのパフォーマンスは下がりますが、DDR容量の約1/8をECC領域として使用することで、ECCを保持するための専用メモリを追加する必要がありません(=BOMコストの低減)。 本稿では、インラインECCの機能説明と実装方法について紹介します。 i.MX Processors 日本語ブログ
記事全体を表示
[不正使用] 投稿者: @JohnKlug / ボード: imx-processors / 報告者: cxcegzqe cxcegzqe は、 @JohnKlug が投稿した 「Could not invoke dnf for external kernel module in Yocto kirkstone」という 投稿について、以下の理由で報告しました: 理由:誤解を招く、または虚偽の情報 詳細: 投稿リンク: https://community.nxp.com/t5/i-MX-Processors/Could-not-invoke-dnf-for-external-kernel-module-in-Yocto/mp/1627964#M203740 投稿者: @JohnKlug |メール著者 報告者: cxcegzqe |メールレポーター 報告された投稿には 2 件の返信があります。
記事全体を表示
意外的 VLAN 标记 - 需要您的建议 您好, 我遇到了一个奇怪的 L2 行为,希望能得到您的帮助。 背景信息 端口-0:MAC 66:66:66:xx:xx:xx,VLAN 0(访问)。 端口-1:PHY、动态 MAC、VLAN 0(接入) 端口-4:MAC ba:43:60:ee:9d:81,双模 VLAN 0 + VLAN 100(中继) 预期规则 从 66:66:66:xx:xx:xx 到 ba:43:60:ee:9d:81 的任何内容都必须以 VLAN 100 标记离开端口-4。 从 ba:43:60:ee:9d:81 到 66:66:66:xx:xx:xx 的返回流量必须在到达端口-0 之前删除 VLAN 0 标记。 从 66:66:66:66: xx: xx: xx 或 ba: 43:60: ee: 9d: 81 到 Port-1 上的 Dynamic-Mac 设备的任何帧都必须在未加标签的情况下到达。 症状 源于 66:66:66:xx:xx:xx 并以 ba:43:60:ee:9d:81 为目标的 UDP 数据包在端口-4 上正确地标记了 VLAN 100。 完全相同流量的 TCP 数据包到达端口-4 时没有VLAN 100 标记。 L2 转发不应该关心 L4 协议,因此这种差异令人费解。 当前交换机是 SJA1105Q;未配置任何参考第 4 层类型的手动 ACL 或 QoS 我的。 您能否帮助我 a) 理解为什么 UDP 和 TCP 的标记行为不同,以及 b) 建议正确的 VLAN/端口配置,以保证从 66:66:66:xx:xx 到 ba:43:60:ee:9d:81 的所有流量都始终通过 VLAN 100 发送出去? 如果需要,我可以共享数据包捕获或运行配置。 感谢您抽出宝贵时间! 顺祝商祺!   SJA1105PQRS Re: Unexpected VLAN-tagging – need your advice 你好@engorge4556、 感谢您分享配置和细节。在审阅了剧本和您的描述之后,以下是要点和建议: 澄清 VLAN ID 确认一下:您配置中的 VLANID = 0x100 值对应的是 VLAN 256,而不是 VLAN 100。如果您的目标是 VLAN 100,正确的十六进制值应该是 0x64。既然您明确选择了 0x100,我就假定您要使用的是 VLAN 256。 建议 NO_MGMT_LEARN = 1 目前,您的脚本设置了 NO_MGMT_LEARN = 0,允许在管理(CPU/HOST)端口上进行 MAC 学习。当 CPU 端口看到流量时,这会无意中影响转发数据库 (FDB) 并覆盖静态规则。 对于确定性配置(静态 TCAM 规则和 VLAN 重标记应始终适用),我建议设置"NO_MGMT_LEARN": 1 这将禁用 CPU 端口上的学习功能,防止管理流量导致转发行为发生意外变化。 两个关键更改可实现一致的 VLAN 行为 启用静态 L2 规则 更改:"use_static": 1 这可确保静态 TCAM 规则(含 RETAG/MIRRVLAN)先于动态学习的 MAC 条目应用。如果不这样做,动态学习就会覆盖你打算进行的 VLAN 重标记。 纠正 L2 地址查询中的 DESTPORTS 在当前规则中,DESTPORTS 包括入口和出口端口。只能指定出口端口。例如 规则为:ba:43:60:ee:9d:81 → DESTPORTS = (1<< 4) 返回 66:66:66:xx:xx:xx 的流量规则 → DESTPORTS = (1<< 0) 端口-1 上 PHY 的流量规则 → DESTPORTS = (1<< 1) 这样可以防止意外复制,并确保帧只从正确的端口退出。 为什么 UDP 和 TCP 在您的原始设置中表现不同 交换机不检查 L4 协议,因此差异不是由于 UDP 与 TCP 造成的。结果是 第一个数据包(通常是 UDP 测试)会因为目标 MAC 未知而泛滥。VLAN 标记会如期工作,因为帧会通过 VLAN 查找和标记逻辑。 在 TCP 握手或双向通信后,交换机会动态学习 MAC(将 VLAN 0 作为入口 PVID)。由于 USE_STATIC = 0,动态 FDB 条目优先,因此在不应用重标记规则的情况下转发帧,从而在中继上产生无标记流量。 启用 USE_STATIC 并更正 DESTPORTS 后,就可以消除这种不一致性。 建议书 prio_queue 根据最近的经验,请考虑调整 prio_queue* 设置(第 134-141 行),使其与 sja1105QS.py 中使用的配置相匹配。 这一更改为优先级定义了更小、分布均匀的队列范围(而不是一个大队列和七个空队列)。这样做的好处是,在大负载或高吞吐量测试(如 iperf)期间,可以将流量分散到多个队列中,而不是拥堵在一个队列中,从而减少丢帧的数量。 顺祝商祺! 帕维尔
記事全体を表示
nxpimage ahab update-keyblob を使用してセカンダリ AHAB コンテナー セットの DEK blob を更新できません。 デバイス: mimx9352 (i.MX93)。 SPSDK バージョン: spsdk 3.4.0 ブートイメージレイアウト: 2 つの AHAB イメージ コンテナー セットを含むブート可能なイメージ: プライマリ セット: コンテナ 0 (ELE)、コンテナ 1 (SPL DDR)。 セカンダリ セット: コンテナー 0 -> イメージ 0 (BL31)、イメージ 1 (U-Boot)、イメージ 2 (TEE)。 DEK: 256ビット、 key_identifier: 0。 DEK blob が YAML ファイルで提供されている場合、ビルドは正常に機能します。flash.bin上の運用時のahab update-keyblobは SPL のみを更新します。 https://spsdk.readthedocs.io/en/latest/examples/ahab/imx93/imx93_signed_ahab_uboot.htmlを参考にしました。 update-keyblob でセカンダリセット/コンテナーを選択するにはどうすればよいですか?このコマンドは、複数のセットのブート可能イメージをサポートしていますか?完全な再構築を行わずにセカンダリセットの BLOB を更新するための推奨ワークフローはありますか? ありがとう、 ウダイ Re: Unable to update DEK blob for secondary AHAB container set using nxpimage ahab update-keyblob. こんにちは@udayMouli 最新の SPSDK ツール v3.5.0 をご利用いただいてもよろしいでしょうか? https://github.com/nxp-mcuxpresso/spsdk/releases Zhiming_Liu_0-1765779000637.png update-keyblob コマンドの使用方法: https://spsdk.readthedocs.io/en/latest/apps/nxpimage.html#nxpimage-ahab-update-keyblob update-keyblob の一般的な使用法: https://spsdk.readthedocs.io/en/latest/images/ahab.html#ahab-update-keyblob よろしくお願いします、 志明
記事全体を表示
RT1020の例を外部メモリなしでRT1021CAG4Bとしてビルドする こんにちは、 私は、外部 NOR フラッシュを搭載し、外部 RAM のない RT1021CAG4B を搭載したカスタム ボード用の簡単なプロジェクトを作成しようとしています (SDRAM チップは搭載されていますが、RT1020 と互換性がないことがわかりました)。目標は、点滅例のようなシンプルなビルドを作成し、それを RT1020CAG4B にロードして、いくつかの追加機能を証明し、新しい外部 RAM 構成を作成する間のテストを支援することです。 これまでに次のことを行いました。 RT1020-evkサンプルから新しいblinkyプロジェクトを作成しました MCUパッケージをRT1021CAG4Bに変更 .mex のクロック機能グループを `BOARD_BootClockRUN_400M` に変更しました(そして更新されたコード) MCU設定->メモリ構成から「BOARD_SDRAM」と「NCACHE_REGION」を削除しました `NCACHE_REGION` が削除されたため、board.c で `nonCacheStart` と `size` を 0 に設定します。 これを実行するとビルドはできるようになりますが、デバッグしたりコードを直接起動しようとすると、ResetISR に到達する前に何らかの原因で PC が異常終了します。デバッグすると、デバッガーはすぐに実行を開始し (停止しません)、一時停止すると 0x002XXXXX のどこかになります。あるいは、flashloader と blhost を使用してコードをフラッシュにロードし、blhost を使用して resetIRS から直接実行すると、コードは正常に実行されます。 ボード上の外部メモリに問題があり、SDRAM 構成中に問題が発生している可能性があるため、これは DCD の問題ではないかと疑っていました。`image_vector_table` で DCD アドレスを NULL に設定したり、DCD 内のすべての SEMC コマンドを消去したりするなど、複数の場所で DCD を削除しようとしましたが、どちらも違いはありませんでした。 外部メモリの参照や構成を削除するために再構成する必要がある何かが欠けているのでしょうか?私がやっていること(外部 NOR flexSPI フラッシュから起動し、内部メモリのみを使用するシンプルな RT1021CAG4B プロジェクトの作成)を実行するためのより良い方法はありますか?私の知る限り、RT1021 とフラッシュ メモリは問題なく動作しており、問題は SDRAM のみです。 現在の構成を詳しく説明するのに役立つ情報があればお知らせください。 ありがとう、 ロブ i.MXRT 102x Re: Build RT1020 example as RT1021CAG4B without external memory こんにちは、foned6199さん。素早い返信とご提案に感謝します! 結局、この投稿https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/IMXRT-XIP-no-FlexSPI-transactions/mp/1628013を見つけて、問題の解決策を見つけることができました。使用しているフラッシュチップがevkボードから変更されたことに気付かなかったため、フラッシュ構成、具体的にはQEビットレジスタが間違っていました。もっと早く兆候に気づくべきでした。フラッシュではなく内部メモリから実行できたので、ようやくすべてが理解できました。 改めて、サポートに感謝します!ありがとう! Re: Build RT1020 example as RT1021CAG4B without external memory こんにちは! RT1021 の問題は、EVK の例に残っている SDRAM 参照から発生します。SDRAM 設定を削除しても、IVT が引き続き DCD セクションを指し、リンカー/デバッガー スクリプトがデータを配置したり、外部 RAM を初期化しようとしたりする可能性があります。これを修正するには、IVT dcdAddress を 0x00000000 に設定し、すべてのコード、データ、スタックが内部 RAM のみを使用するようにリンカー スクリプトを調整し、デバッガー設定で SDRAM init を無効にします。これらの変更により、Blinky プロジェクトは内部メモリのみを使用して外部 NOR フラッシュから正常に起動するはずです。
記事全体を表示