Multi Source Translation Content

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

Multi Source Translation Content

讨论

排序依据:
i.MX95: EdgeLock Enclaveキーインポートエラー - SAB CMD [0x47] Resp [0x1829] (無効な署名) チームの皆さん、こんにちは。 現在、アプリケーションノート AN14898 のガイドラインに従い、 i.MX95 デバイスへの秘密鍵のインポート作業を進めています。 環境と参考文献: 対象デバイス: i.MX95 デモアプリケーション: imx_sec_apps/imx-ele-apps SPSDKバージョン:最新の標準ツールセット これまでに完了した活動: Python、pip、およびSPSDKツールセットをインストールしました。 ホストとデバイスの両方のアプリケーションを無事に構築しました。 device/bin/ele_key_import と device/scripts/run_test_on_board.sh をターゲットのi.MX95ハードウェアにコピーしました。 デバイス側のフローを実行して、nxp_prod_ka_puk.bin を生成しました。 nxp_prod_ka_puk.binをホスト環境に転送しました。 最終的な生産キーがまだ手に入っていないため、SPSDKドキュメントによるとSPSDKユーティリティを使ってSRKキー(secp384r1)を生成しました。 ホスト側で標準キーインポートテンプレート(-kパラメータをsecp384r1に設定)を使用してsigned_msg.binを生成しました。 生成されたsigned_msg.binファイルをi.MX95ハードウェアに転送しました。 署名付きメッセージを生成するために使用したコマンド: nxpimage signed-msg export -c key_exchange_temp.yaml -w assets 参考資料として、key_exchange_temp.yaml ファイルを添付します。 i.MX95ターゲットデバイスでrun_test_on_board.shを実行すると、すべてのファイルは見つかりますが、EdgeLock Enclaveが署名済みメッセージブロックの署名を拒否します。以下はターゲット端末のログです。 nxp_prod_ka_puk.bin が存在します。 oem_public_key.pem が存在します。 signed_msg.bin が存在します。 こんにちは、世界! 2026年7月16日 06:54:40 9547bbd 署名付きメッセージ:728バイト 02d802890200000000000000b8000000000000000000000000000000000000000000000000000000000000000000000000000000e6a7000000004701000000000000000000000000000000004707000000454c45090102090000000000920001010000000040000009010008000000000100000000000070577819deccdf2670d801e8f4291d3539081da49b1e1b63d55039e5993242b30f0000000000000000000000000000000000000000000000000000000000000000011c029000001000b40100000000000000a4015a01000000d7340143e14c00270102000030003000c2a99777d1fc00dc7e14d3d43ac3f68a44d9b52c882d3c09eac0db7fac1901242576bac6143785e5815db546e385d81000000000000000000000000000000000e14c00270102000030003000e358e1159c0cb645e7059c1b04b49e39b3563167472507278245d4dee439dd32e7ce3da413e397cbd7959cf147d25c2300000000000000000000000000000000e14c00270102000030003000482fb4f1ceb6e266221b0a13dbbb04c637a1c238b76b108397e98eb4557cafb2075036e05b9a0ee4fa6aa09a5f3951e500000000000000000000000000000000e14c00270102000030003000c93a6b4881ae912da31da8249e4f58473eb88cc1dc46f5ec6d363dc52b8a5c12c91e711ad726153d382dabbe6bef27cc000000000000000000000000000000000068005d00000000a5e31e11bfb02c62756d9d3ba5152768e5bea9aab8f3f13ccf3bd287a0438e9708088cafc5671e2aaf1bc3b413457b6a59a691dcef672fa65dac12ed328effac963c41ec0200b0a9acf67e0f2755f752872f77d2c20d6987f80e8008ac26de3d006800d800000000f4cf9cc965b3643d5dc5c5070a506196649daf898d328afd18e88eb9ece96e39646bf6385b9d42e1fc2f93f07f66e9c8c914becef9394c0c3cf549766483c7f94b6a9325bea51b79280eb76484e064637570c0ef7387ec0ffb8398ec36966c3a00000000 OEMインポートPUK:65バイト 0451c46d24d30864c5275c634a3a339949654b34c0a4f294a8c107c504360ff4b 55044918b71b16109a7bbfba8fbcf49b91720ad8e9c0109e6b2eed8f6a504ab64 hsm_open_session 成功 hsm_open_key_store_service 成功 hsm_open_key_management_service 成功 SAB エラー: SAB CMD [0x47] Resp [0x1829] - SIGNED メッセージの署名が無効です。 hsm_key_exchange が失敗しました エラー:0xfe 鍵交換に失敗しました: 254 i.MX95の署名検証問題の解決方法について何かご存知でしたら、ぜひご教示ください。 ありがとう、 アンキット・アグラワル Re: i.MX95: EdgeLock Enclave Key Import Error - SAB CMD [0x47] Resp [0x1829] (Invalid Signature) こんにちは、 @Ankit_Agrawal さん。 SRK生成後にSRKHを焼却するのかどうか疑問に思っています。必要なsign.yamlファイルについては、添付ファイルをご確認ください。 以下のコマンドをお試しください(前提条件としてflash.binファイルが必要です)。システムのブートローダー)を使用してSRKHを生成します。 nxpimage ahab sign -c sign.yaml -b flash.bin -o flash_directsign.bin -fs 出力 出力は以下のようになります。 Jessie_Lee_0-1786699088609.pngJessie_Lee_0-1786699088609.pngJessie_Lee_0-1786699088609.pngJessie_Lee_0-1786699088609.pngJessie_Lee_0-1786699088609.png そしてOuputsフォルダからはbcfファイル(ahab_oem0_srk0_hash_nxpele.bcf)が見えます。 下のフューズコマンド(インデックス128~143)に従って、SRKHでフューズする必要があると説明できます。 # nxpele AHAB SRKH がプログラミングスクリプトを融合 # SPSDK 3.4.0 によって生成されました # ファミリ: mimx9596, Revision: latest # 値: 0xCCC0605919B6400771CF88A002FB6BF27DFA9CE09BAD94516DD7E4D399369A8FF5A6A1A671809DF4A71A7CB208B4EDC009CDF3FF25EC074DECBBEE8300D5D44C # 説明: 4 つの SRK キーのハッシュの SHA512 ハッシュダイジェスト # グループ化されたレジスタ名: SRKH # OTP ID: OEM_SRKH0、値: 0x5960C0CC write-fuse --index 128 --data 0x5960C0CC # OTP ID: OEM_SRKH1、値: 0x0740B619 write-fuse --index 129 --data 0x740B619 # OTP ID: OEM_SRKH2、値: 0xA088CF71 write-fuse --index 130 --data 0xA088CF71 # OTP ID: OEM_SRKH3、値: 0xF26BFB02 write-fuse --index 131 --data 0xF26BFB02 # OTP ID: OEM_SRKH4、値: 0xE09CFA7D write-fuse --index 132 --data 0xE09CFA7D # OTP ID: OEM_SRKH5、値: 0x5194AD9B write-fuse --index 133 --data 0x5194AD9B # OTP ID: OEM_SRKH6、値: 0xD3E4D76D write-fuse --index 134 --data 0xD3E4D76D # OTP ID: OEM_SRKH7、値: 0x8F9A3699 write-fuse --index 135 --data 0x8F9A3699 # OTP ID: OEM_SRKH8、値: 0xA6A1A6F5 write-fuse --index 136 --data 0xA6A1A6F5 # OTP ID: OEM_SRKH9、値: 0xF49D8071 write-fuse --index 137 --data 0xF49D8071 # OTP ID: OEM_SRKH10、値: 0xB27C1AA7 write-fuse --index 138 --data 0xB27C1AA7 # OTP ID: OEM_SRKH11、値: 0xC0EDB408 write-fuse --index 139 --data 0xC0EDB408 # OTP ID: OEM_SRKH12、値: 0xFFF3CD09 write-fuse --index 140 --data 0xFFF3CD09 # OTP ID: OEM_SRKH13、値: 0x4D07EC25 write-fuse --index 141 --data 0x4D07EC25 # OTP ID: OEM_SRKH14、値: 0x83EEBBEC write-fuse --index 142 --data 0x83EEBBEC # OTP ID: OEM_SRKH15、値: 0x4CD4D500 write-fuse --index 143 --data 0x4CD4D500 Below Commandを使ってSRKHを焼くこともできます nxpele -f mimx9596 バッチ出力\ahab_oem0_srk0_hash_nxpele.bcf 既にSRKHを書き込んだものの、下記の無効な署名エラーで失敗した場合は、singed_message.binとSRKH(srkの出力すべてを含む)を弊社までお送りください。 Re: i.MX95: EdgeLock Enclave Key Import Error - SAB CMD [0x47] Resp [0x1829] (Invalid Signature) こんにちは、 @Ankit_Agrawal さん。 社内チームがお客様の問題を調査しており、進捗状況については追ってご連絡いたします。 その間に、あなたが直面している問題と似た以下のケースをぜひご覧ください。 推奨される解決策は、 fuse_versionが正しく一致していることを確認することです。 https://community.nxp.com/t5/i-MX-Processors/hsm-import-key-returns-with-0xF0-Bad-Signature/td-p/2163777 よろしくお願いします。 よろしくお願いいたします。 リチャード Re: i.MX95: EdgeLock Enclave Key Import Error - SAB CMD [0x47] Resp [0x1829] (Invalid Signature) こんにちは、 @Ankit_Agrawal さん。 SPSDKを使用してSRKを書き込むには、以下の手順に従ってください。 ステップ1 。デバイスを起動したら、u-bootコンソールで停止し、以下を実行します。 u-boot=> fastboot 0 ステップ2 。SPSDKコンソールでは、以下のコマンドを使ってahabイベント情報が発生していない必要があります。 NXPELE -f mimx9596 get-events ステップ3 。イベントがなければ、今すぐSPSDKコンソールでSRKキーを焼くことができます。 nxpele -f mimx9596 バッチ出力\ahab_oem2_srk0_hash_nxpele.bcf BR ジェシー Re: i.MX95: EdgeLock Enclave Key Import Error - SAB CMD [0x47] Resp [0x1829] (Invalid Signature) こんにちは、 @Jessie_Lee さん。 情報ありがとうございます。 私たちは フラッシュビン ファイルを取得し、SRKHを生成するために必要な手順を実行できます。 SRKHを生成した後、それをハードウェアに融合させる必要があります。ヒューズ操作を実行するには、ハードウェア/ボードが ファストブートモード。デバイスをFastbootモードに切り替えるのを手伝ってもらえますか? キーの融合を試みた際に、以下のエラーが発生しました。 Ankit_Agrawal_0-1787636692485.pngAnkit_Agrawal_0-1787636692485.pngAnkit_Agrawal_0-1787636692485.pngAnkit_Agrawal_0-1787636692485.png デバイスが現在Fastbootモードになっていないようです。ボード上でFastbootモードを有効にする方法についてご教示いただければ幸いです。 ありがとう、 アンキット Re: i.MX95: EdgeLock Enclave Key Import Error - SAB CMD [0x47] Resp [0x1829] (Invalid Signature) @Jessie_Lee 下記に示すように、不具合が発生しているとの報告があります。サポートを得ることは可能でしょうか? -------------------------------------------------------------------------------------------------------------- しかし、ヒューズ操作を実行するコマンドを実行すると、以下のエラーが発生します。 ハードウェアのリセットも試してみましたが、依然として同じ問題が発生しています。なぜこうなっているのか、何かアイデアはありますか? rakhyoung_0-1789101296622.pngrakhyoung_0-1789101296622.pngrakhyoung_0-1789101296622.png @Ankit_Agrawal 必要であれば、追加の説明を遠慮なく提供してください。 Re: i.MX95: EdgeLock Enclave Key Import Error - SAB CMD [0x47] Resp [0x1829] (Invalid Signature) @Ankit_Agrawalさんによると、fastboot に入る際に問題が発生したとのことです。 @rakhyoungあなたもfastbootに入る際に問題が発生しているということですか? 上記で共有した以下のコマンドを試してみましたか?u-bootステージでfastboot 0より下のレベルを実行しようとした際に発生するエラーは何ですか? ステップ1 。デバイスを起動したら、u-bootコンソールで停止し、以下を実行します。 u-boot=> fastboot 0 BR ジェシー
查看全文
在 Zephyr 系统中使用 FRDM-MCXW71 上的两个 LPSPI 端口? 你好, 我们希望在 Zephyr 应用中使用 FRDM-MCXW71 上的两个 LPSPI 端口。 但是当我在 Zephyr 4.4.0 中检查时,在下面 zephyrproject/zephyr/boards/nxp/frdm_mcxw71 我找到了以下文件: frdm_mcxw_71.dts 文件。 它只有 &lpspi1 的条目。(用于 SPI 闪存演示) &lpspi0 的条目不存在? frdm_mcxw71-pinctrl.dtsi 此外,只有 &lpspi1 的条目 是否有关于如何使用 lpspi0 的示例? 除了常规的 Zephyr 项目文件(.overlay 和 prj.conf)之外,还需要修改哪些文件? 谢谢。 Re: Using the two LPSPI ports on the FRDM-MCXW71 with Zephyr? 我注意到 zephyrproject/zephyr/drivers/spi/spi_nxp_lpspi 中有一个特定的驱动程序。 不过我不确定如何利用这个方法来同时处理两个 lpspi 端口。 Re: Using the two LPSPI ports on the FRDM-MCXW71 with Zephyr? 你好,希望你一切都好。 lpspi0 和 lpspi1 都已在 zephyr/dts/arm/nxp/mcx/nxp_mcxw7x_common.dtsi 中以 SoC 级别声明,并具有所有必需的硬件属性(寄存器、中断、时钟、FIFO 大小),但默认情况下状态设置为“已禁用”。板文件 frdm_mcxw71.dts 仅启用 lpspi1,但可以通过应用程序覆盖文件以相同的方式启用 lpspi0。 您可以参考现有的 lpspi1 配置。基本叠加层看起来大概是这样的,然后你可以用自定义的设备实现对其进行扩展: &pinctrl { pinmux_lpspi0: pinmux_lpspi0 { group0 { pinmux = , , , ; slew-rate = "fast"; drive-strength = "low"; }; }; }; &lpspi0 { status = "okay"; pinctrl-0 = <&pinmux_lpspi0>; pinctrl-names = "default"; }; 此致, 索菲亚。 Re: Using the two LPSPI ports on the FRDM-MCXW71 with Zephyr? 你好,索菲亚, 我按照建议创建了一个包含叠加层功能的最小应用程序。 应用程序已编译,但绑定 SPI 设备仍然失败。 只有在覆膜部分添加标签,装订才能生效。 在叠加层中: &lpspi0 { ... label = "LPSPI_0"; } &lpspi1 { ... label = "LPSPI_1"; } 在 main.c 中: const struct device *lpspi0_dev; lpspi0_dev = device_get_binding("LPSPI_0"); printk("%p\n,lpspi0_dev); 现在对 lpspi0 和 lpspi1 都这样做似乎可以正常工作了。 是否需要为每个应用程序创建这些标签? 谢谢。 吉尔特
查看全文
MCUXpressoセキュアプロビジョニングツールは、USB経由でターゲットボードに接続できません。 こんにちは、NXPさん。 質問があります: 開発ボード:MIMXRT1170-EVKB。MCUXpresso Secure Provisioning Toolを使用して接続できません(画像参照)。 hayden178_0-1788428456159.pnghayden178_0-1788428456159.pnghayden178_0-1788428456159.pnghayden178_0-1788428456159.pnghayden178_0-1788428456159.png コンピュータのデバイスマネージャーには、以下の情報が表示されます。 hayden178_1-1788428566738.pnghayden178_1-1788428566738.pnghayden178_1-1788428566738.pnghayden178_1-1788428566738.pnghayden178_1-1788428566738.png 開発ボードのDIPスイッチを図に示します。 hayden178_2-1788428637373.pnghayden178_2-1788428637373.pnghayden178_2-1788428637373.pnghayden178_2-1788428637373.pnghayden178_2-1788428637373.png プログラムをダウンロードしてIDEを使ってデバッグしましたが、問題はありませんでした。この問題のトラブルシューティング方法を教えてください。よろしくお願いします。 Re: MCUXpresso Secure Provisioning Tool无法通过USB连接目标板 こんにちは、@hayden178 さん。 ご質問ありがとうございます! ご提供いただいたDIPスイッチの設定と電源オプションを確認しましたが、問題はありませんでした。USB OTG1も問題なく選択できました。 したがって、何らかの異常により、フラッシュローダーがUSBポート経由でSRAMにデータを迅速にロードできない状態になっている可能性があります。まずはUARTインターフェースをお試しください。UARTインターフェースが正常に動作する場合は、USBインターフェースに切り替えてください。この時点で、フラッシュローダーは正常に動作し、USBポートも正しく機能するはずです。 UARTポートにも問題がある場合は、特定の出力を確認する必要があります。詳細なコマンドは、作業ディレクトリにあるgen_scripts/init_flashloader_win.batに記載されています。テストを再実行する前に、以前のログを削除し、新しいログを確認して、どのステップで失敗したかを確認してください。 よろしくお願いします、 ギャビン Re: MCUXpresso Secure Provisioning Tool无法通过USB连接目标板 こんにちは、 @Gavin_Jia さん。 ご支援ありがとうございます! MIMXRT1170-EVKBとの接続にUARTを使用したところ、問題は解決しました。 新たな問題が発生しました。問題の原因を特定するのを手伝っていただけませんか? MCUXpresso Secure Provisioning Tool に組み込まれているサンプルでは、mcuboot_opensource&ota_mcuboot の実行に失敗し、画像に示すように、常にリセットが発生します。 hayden178_0-1789004746339.pnghayden178_0-1789004746339.pnghayden178_0-1789004746339.png プロジェクトの構成は以下のとおりです。 hayden178_1-1789004822575.pnghayden178_1-1789004822575.pnghayden178_1-1789004822575.png hayden178_2-1789004848902.pnghayden178_2-1789004848902.pnghayden178_2-1789004848902.png hayden178_4-1789005368832.pnghayden178_4-1789005368832.pnghayden178_4-1789005368832.png hayden178_3-1789005332451.pnghayden178_3-1789005332451.pnghayden178_3-1789005332451.png IDEを使用して両方のプロジェクトを正常に実行できましたが、生成されたバイナリファイルをSPSPを使用してボードにダウンロードすると、同じリセット問題が発生します。 hayden178_5-1789005846515.pnghayden178_5-1789005846515.pnghayden178_5-1789005846515.png Re: MCUXpresso Secure Provisioning Tool无法通过USB连接目标板 こんにちは、@hayden178 さん。 良い知らせを共有していただきありがとうございます。最初のSPT接続の問題が解決して良かったです。 mcubootの操作手順に関して、どのガイドを参照されましたか?もしよろしければ共有していただけますか?私はこれまで署名にPythonスクリプトとimgtoolを使用しており、このSPTソリューションは試したことがありません。 この新しい質問については、すべてのスレッドでトピックの一貫性を保つため、新しいチケットを作成していただいても構いません。 ご理解とご協力ありがとうございます! よろしくお願いします、 ギャビン
查看全文
SC16IS740 最大水晶周波数 NXP技術サポートチームへ、 弊社では、3.3V電源でSC16IS740を使用しています。 XTAL1とXTAL2間で直接接続可能な最大外部結晶発振器の周波数を確認していただけますか? データシートには以下のように記載されています。 外部クロック、水晶発振器(最大24MHz)に適用されます。 再開まで今しばらくお待ちください。 よろしくお願いいたします。 アビシェク Re: SC16IS740 Maximum Crystal Frequency こんにちは、AbishekDevanさん 良い一日! はい、おっしゃる通りです。外部水晶発振器を使用した場合の限界周波数は24MHzです。 良い一日をお過ごしください。幸運を祈ります。
查看全文
LPC5514JBD64E 用于 WS2812。 您好, LPC5514JBD64E 适合初学者使用 WS2812 吗?如果适合,我可以在哪里找到代码和其他详细信息? 谢谢! LPC55xx Re: LPC5514JBD64E Use for WS2812. 嗨@Kishore02 感谢您的帖子! 目前尚无关于 LPC551x 上 WS2812 实现的信息,您可以使用可编程逻辑单元 (PLC) 来实现。在其他设备中,有使用 FlexIO 模块的示例,例如 MCXA366 的应用代码中心: https://mcuxpresso.nxp.com/appcodehub ?search=an-emulating-ws2812-bus-with-flexio-on-mcx366 此外,一位同事还发布了一篇关于如何在 Kinetis 开发板上实现该协议的文章: NXP FlexIO Generator for the WS2812B LED Stripe Protocol 希望这些信息对您有所帮助。 Re: LPC5514JBD64E Use for WS2812. LPC5514JBD64E(采用运行频率高达150MHz的ARM Cortex-M33内核)是一款功能强大的微控制器,但对于使用WS2812(NeoPixel)可寻址LED的初学者来说,它并非理想之选。 Re: LPC5514JBD64E Use for WS2812. 是的,LPC5514JBD64 可以用来驱动 WS2812 LED,不过可能需要配置定时器/SCT 或基于 SPI 的接口来生成精确的 WS2812 时序。对于初学者,我建议先从 NXP 的 MCUXpresso SDK 示例和 WS2812 驱动程序示例入手,然后将其适配到 LPC5514;LPC5514 SDK 文档和示例代码可通过 NXP 的官方 MCUXpresso 资源获取。
查看全文
主题:MPC5605 内存读取问题,地址为 0x00100010 你好, 我们遇到一个使用 MPC5605 的 ECU 问题。 在执行 EOL 内存转储操作期间,我们的工具箱使用直接 CPU 字节访问来读取内存: *((uint8_t *)地址) 从 CAN 日志中可以看到: ```文本 从 0x00100008 读取 8 个字节 -> 成功 从 0x00100010 读取 8 个字节 -> ECU 停止响应并重置 ``` 我们查阅了 MPC5606BK 参考手册,`16234_MPC5606BRM`,修订版 2: - 表 3-1,第 49 页显示“0x00100000 - 0x001FFFFF”为**保留**。 - 第 871-872 页描述了闪存映射和闪存仿真映射。 请问您能否澄清一下: 1. `0x00100010` 是 MPC5605 的有效/可读地址吗? 2. 如果这是一个保留地址,当软件直接读取它时会发生什么?它会导致异常或 RESET 吗? 3. 我们应该使用哪一参考手册章节来获取准确的 MPC5605 内存映射? 我们还会从 ECU 硬件中收集完整的 MPC5605 零件编号和芯片版本。 此致, 卡西拉詹 C 开发板
查看全文
i.MX95 - UUUツールのフラッシュが時々失敗する 専門家の皆様へ 私はi.MX95 EVKを使用しており、imx-bootと(カーネル+ルートファイルシステム)をemmcにフラッシュしています。フラッシュ書き込みには、UUUスクリプトのemmc_allオプションを使用しました。 時々、そのオプションを使ったフラッシュ書き込みで失敗する現象が見られました。以下に、エラー発生時のコードスニペットを示します。 0x200000002:13-294A7876CE324A4D>Okay (0.403s) 2:13-294A7876CE324A4D>Start Cmd:FB: ucmd if env exists emmc_ack; then ; else setenv emmc_ack 0; fi; 2:13-294A7876CE324A4D>Okay (0.008s) 2:13-294A7876CE324A4D>Start Cmd:FB: ucmd sleep 1 2:13-294A7876CE324A4D>Okay (1.007s) 2:13-294A7876CE324A4D>Start Cmd:FB: ucmd mmc partconf ${emmc_dev} ${emmc_ack} 1 0 2:13-294A7876CE324A4D>Fail (0.187s) 同様の不具合を経験された方がいらっしゃいましたら、また、この問題を軽減するための解決策をご存知でしたら、ぜひお知らせください。 よろしくお願いいたします! BR、 アルン・クマール
查看全文
CodeWarrior 5.1 调试器。“单步执行时禁用可屏蔽中断服务例程” 9S12XEQ512 上的 I 位永久置位 环境: IDE:CodeWarrior 5.1(HC(S)12X 编译器) 目标:MC9S12XEQ512 总线时钟:49.777 MHz BDM接口:使用USB Multilink Universal可复现;使用Cyclone Pro未观察到。 主机操作系统:在Windows 10和Windows 11上均观察到此问题 内存模型:在大容量模型中可复现;在分块模型中不可复现(或复现能力大大降低) 使用的设置: "HC12MultilinkCyclonePro" → "设置..." → "调试选项" → "单步运行时禁用可屏蔽的 ISR" — 已启用。 描述: 在调试器中执行多次单步操作(单步或单步跳过)后,可屏蔽中断(CCR 中的 I 位)将被永久禁用。即使在继续执行(运行/运行)后,中断也不会恢复——它们会一直处于屏蔽状态,直到在 CCR 寄存器视图中手动清除 I 位。在 Windows 10 和 Windows 11 主机上使用 USB 多链路通用 BDM 接口的大内存模型中,这种行为始终可以重现。在其他项目设置完全相同的情况下,Cyclone Pro 界面未出现此问题,Banked 内存模型中也未出现此问题(或几乎未出现)。 目前使用的临时解决方案: 手动清除 CCR 寄存器视图中卡住的 I 位。 要求: 这是 USB Multilink Universal 固件/驱动程序与 CodeWarrior 5.1 在 S12X 内核上使用的单步仿真功能结合使用时已知的问题吗?对于此设备/接口组合上的中断驱动型大型模型项目,是否存在固定的 Multilink Universal 固件版本,或者推荐的替代工作流程? 谢谢 Re: CodeWarrior 5.1 debugger. "Disable maskable ISR's when stepping" I-bit permanently set 您好, 你看到的现象是真实的,你注意到的界面差异(Multilink Universal 受到影响,Cyclone Pro 不受影响)是一个有用的观察结果。让我根据所涉及的中断类型给你一些实际的指导,因为选项会有所不同。 对于基于定时器的中断 如果您的应用程序使用定时器溢出、输出比较或类似的由外设生成的中断,则实际上不需要“单步调试时禁用可屏蔽的 ISR”功能来在调试期间处理它们。大多数 S12X 定时器和外围模块都有一个 FRZ 位,当设备进入 BDM 活动模式时,该位会冻结模块,而 BDM 活动模式会在任何停止或单步执行期间自动发生。设置 FRZ 后,定时器在步进过程中停止计数,并且无法在步进之间产生中断。这种方法在硬件层面上是可行的,与调试器接口无关,是此类中断的更简洁的解决方案。 用于外部中断和键盘中断 (KBI) 这种情况在这方面比较有限。外部 IRQ 和 KBI 中断是异步外部信号,没有硬件冻结机制来阻止它们。BDM接口无法在硬件层面上抑制它们。“单步执行时禁用可屏蔽的 ISR”功能正是为了弥补这一缺陷而存在的,它通过在每个步骤期间使用 CCR I 位来屏蔽这些 ISR。 由于此功能在您的设置中无法使用 USB Multilink Universal 正确恢复 I 位,因此调试使用这些中断源的代码最可靠的选择是使用 Cyclone Pro,您已经确认它运行正常。 值得一试 如果您有 CodeWarrior 5.2 版本,也值得用它进行测试。该版本中调试器方面有一些更改,USB Multilink Universal 在大内存模型下的 I 位恢复行为可能会得到改进,但这不能保证。 希望这能帮助您更好地了解各种选择。 拉迪斯拉夫
查看全文
件名:MPC5605のメモリ読み取りに関する問題(アドレス:0x00100010) こんにちは、 MPC5605を使用しているECUに問題が発生しています。 EOLメモリダンプ操作中、ツールボックスはCPUの直接バイトアクセスを使ってメモリを読み込みます。 *((uint8_t *)address) CANのログより: 「`テキスト」 0x00100008から8バイトを読み込みました -> 成功 0x00100010から8バイトを読み取ると、ECUが応答しなくなりリセットされる。 「`」 MPC5606BKリファレンスマニュアル『16234_MPC5606BRM』、リバノリファレンス2を確認しました: - 表3-1、49ページでは、`0x00100000 - 0x001FFFFF`が**予約済み**と表示されています。 - 871~872ページでは、フラッシュメモリマップとフラッシュエミュレーションマッピングについて説明しています。 もう少し詳しく教えていただけますか: 1. 「0x00100010」はMPC5605にとって有効で読みやすいアドレスか? 2. 予約済みアドレスの場合、ソフトウェアが直接読み取った場合どうなりますか?CANは例外やリセットを引き起こすことはできますか? 3. 正確なMPC5605メモリマップにはどのリファレンス・マニュアルセクションを使うべきか? また、ECUハードウェアからMPC5605の完全な部品番号とシリコンリビジョンも収集しています。 よろしくお願いします、 カシラジャン C 開発ボード
查看全文
CodeWarrior 5.1 デバッガー。「ステップ実行時にマスク可能なISRを無効にする」Iビットが9S12XEQ512で永続的に設定されます。 環境: IDE: CodeWarrior 5.1(HC(S)12Xコンパイラ) ターゲット: MC9S12XEQ512 バスクロック: 49.777 MHz BDMインターフェース:USB Multilink Universalで再現可能;Cyclone Proでは確認されていません ホストOS: Windows 10とWindows 11の両方で確認されました メモリモデル:大規模モデルでは再現可能;バンクモデルでは再現性が低いか、それ以下です 使用した設定: 「HC12MultilinkCyclonePro」→「セットアップ...」→「デバッグオプション」→「ステップ実行時にマスク可能なISRを無効にする」— 有効。 説明: デバッガで一定回数のステップ操作(シングルステップまたはステップオーバー)を実行すると、マスク可能な割り込み(CCRのIビット)が永久的に無効になります。割り込みは、実行を継続した後(実行/ゴー)でも再開されず、CCRレジスタビューでIビットを手動でクリアするまでマスクされたままになります。この挙動は、USB Multilink Universal BDMインターフェースを用いたLargeメモリモデルでも、Windows 10およびWindows 11のホスト上で一貫して再現可能です。同じプロジェクト設定のCyclone Proインターフェースでも、バンクメモリモデルでも同様の問題は見られていません 現在使用されている回避策: CCRレジスタビューでIビットがスタックした場合、手動でIビットをクリアします。 リクエスト: これは、S12Xコア上のCode Warrior 5.1のステップエミュレーションと組み合わせたUSB Multilink Universalのファームウェア/ドライバの既知の問題でしょうか?固定されたマルチリンクユニバーサルのファームウェアバージョンや、このデバイス/インターフェースの組み合わせで割り込み駆動の大規模モデルプロジェクトをデバッグするための推奨代替ワークフローはありますか? よろしくお願い申し上げます。 Re: CodeWarrior 5.1 debugger. "Disable maskable ISR's when stepping" I-bit permanently set こんにちは、 あなたが見ている挙動は現実的で、あなたが気づいたインターフェースの違い(Multilink Universalは影響を受けていますが、Cyclone Proは影響を受けていません)は有益な観察です。発生する割り込みの種類によって選択肢が異なるため、それに基づいて実践的なガイダンスを提供させていただきます。 タイマーベースの割り込みの場合 もしアプリケーションがタイマーオーバーフローや出力比較、またはペリフェラルで生成される割り込みを使っている場合、デバッグ時に「ステッピング時にマスク可能なISRを無効化する」機能が実際には必要ありません。ほとんどのS12Xタイマーおよびペリフェラルモジュールには、デバイスがBDMアクティブモードに入るとモジュールをフリーズするFRZビットがあり、これは停止や単一ステップの間自動的に動作します。FRZが設定されると、タイマーはステップ中にカウントを停止し、ステップ間で割り込みを発生させることはできません。これはデバッガインターフェースとは独立してハードウェアレベルで動作し、このクラスの割り込みに対してよりクリーンな解決策となります。 外部割り込みおよびキーボード割り込み(KBI)の場合 この点に関しては、状況はより限定的である。外部IRQおよびKBI割り込みは非同期の外部信号であり、それらに対するハードウェアフリーズ機構はありません。BDMインターフェースはハードウェアレベルでそれらを抑制できません。「ステップ実行時にマスク可能なISRを無効にする」機能は、まさにこのギャップを埋めるために存在し、各ステップ中にCCR Iビットを介してそれらをマスクします。 お使いの環境では、この機能がUSB Multilink Universalを使用してIビットを正しく復元しないため、これらの割り込みソースを使用するコードのデバッグには、既に正しく動作することが確認されているCyclone Proを使用するのが最も確実な方法です。 試してみる価値あり もしCodeWarrior 5.2にアクセスできるなら、試す価値はあります。このバージョンではデバッガ側の変更があり、USB Multilink Universalを用いたLargeメモリモデルでのIビット復元動作は改善される可能性がありますが、保証はありません。 これで選択肢が明確になれば幸いです。 ラディスラフ
查看全文
i.MX 95:M7とA55間の動的TRDC/システムマネージャーリソース割り当ておよびGPIO共有 こんにちは、チームのみなさん。 私たちは i.MX 95プラットフォームを開発しており、まずM7コアからMIPI DSIペリフェラルを使用し、その後実行時にリソースをA55コアに引き渡したいと考えています。 私たちの理解では、周辺リソースとその所有権は 、 System Managerツール を通じて生成・設定 された mx95evk.cfg ファイル内の各論理マシン/プロセッサごとに最初に定義されています。 以下の点について明確にしておきたいと思います。 動的リソースハンドオーバー: 実行時にM7からA55へMIPI DSIペリフェラルリソースを動的に移すことは可能でしょうか?例えば、M7は最初にMIPI DSIを所有・使用し、その後リリースし、その後A55が所有権を取得し同じペリフェラルを使用します。 動的リソース配分: ランタイムハンドオーバーがサポートされている場合、リソースの所有権やアクセス権限を動的に変更するための推奨されるメカニズムやAPIは何ですか?これはSystem Manager、TRDC、または他の仕組みで処理されるのでしょうか? GPIO共有: 同じGPIOポート/リソースをM7とA55の両方が同時にアクセスすることは可能でしょうか?もし可能なら、GPIOリソースを安全に共有するためにTRDCの設定要件やソフトウェア同期メカニズムを実装する必要がありますか? i.MX 95におけるM7とA55間の動的ペリフェラルハンドオーバーやリソース共有の実装方法について、推奨される方法についてのご指針をいただけるとありがたいです。 Re: i.MX 95: Dynamic TRDC/System Manager Resource Allocation and GPIO Sharing Between M7 and A55 こんにちは、 i.MX 95では、MIPI DSIリソースは当初M7で使用され、後にA55に引き継がれます。リソースアクセスと所有権はSystem Manager/TRDCの設定で設定し、実際のランタイムハンドオーバーはソフトウェアで処理すべきです。TRDCはどの論理マシン/ドメインが周辺機器にアクセスできるかを制御しますが、M7とA55間の同期は管理しません。したがって、M7はまずすべてのDSI操作を完了し、ペリフェラルの使用を停止し、A55が制御を取る前にMU/IPCなどのコア間機構を通じてA55に通知すべきです。同様に、GPIOリソースは適切なTRDC構成を通じてM7とA55の両方にアクセス可能ですが、同時アクセスはソフトウェアによる同期が必要です。DSIのユースケースでは、同時に1つのコアだけがペリフェラルをアクティブに使い、ハンドオーバーはMU/IPCで行うのが推奨されます。 Re: i.MX 95: Dynamic TRDC/System Manager Resource Allocation and GPIO Sharing Between M7 and A55 AEチームと話し合った結果、以下のアップデート内容をご参照ください。 i.MX 95では、リソース所有権とTRDC権限は、SM構成ファイル(mx95evk.cfg)でビルド時に静的に定義されます。→はconfig_.h)を生成し、MIXが起動するとシステムマネージャー(SM)によって適用されます。*実行時に周辺機器の所有権を論理マシン(LM)から別の論理マシンへ移すSCMI/SMメッセージはありません。 しかし、SMのドキュメントでは「ディスプレイを別のLMへ引き継ぐこと」がSM_SCMI_PERM_EXCLUSIVEモデルの正確な動機として挙げられています。したがって、引き継ぎは可能ですが、所有権を「移動」するだけでは不可能です。 Q1 & Q2 — MIPI DSI M7 → A55 ハンドオーバー:やり方 LMM(論理マシン管理)SCMIプロトコルは、LMの起動・リセット・シャットダウン・サスペンド・ウェイクのみを行い、RESOURCE_ASSIGNやメッセージOWNERSHIP_TRANSFERはありません。代わりに、時間分割ハンドオフを使用してください。 mx95evk.cfgで両方のLMに最初にアクセス権を付与してください。デフォルトでは、EVK の設定により、MIPI_DSI、MIPI_PHY、DC_DISPENG、BLK_CTRL_DISPLAYMIX、ディスプレイのクロック/電源 (PD_DISPLAY、CLK_DISP*)が AP (LM2) の所有者としてのみ割り当てられます。M7 を優先的に使用するには、これらを M7 LM (LM1) にも追加する必要があります。 SM管理リソース(クロック、電源、リセット)をSM_SCMI_PERM_EXCLUSIVE(api=all)としてマークし、2つのLMからのリクエストが静かに集約・上書きされないようにします。 ハンドオーバー時にM7はDSI/DCIFを静止し、アプリケーションレベルのIPC(MUメールボックスまたはSCMI通知)を通じてA55に信号を送ります。A55(Linux/DRM DSI+DPUスタック)は同じIPを表示します。 ハンドオフシーケンスはお客様のソフトウェア責任(時間的区分)です。SMは、両方のLMが事前にアクセス許可されているため、HWがどちら側からも運転可能であることを保証しています。TRDCの所有権は実行時に書き換えられず、SMプログラムのみがTRDCを実行し、MIX電源投入時の静的設定からのみ可能です。 これを制御するTRDC設定(.cfgファイルに記載): MDAC_am=... — マスタードメイン割り当て(バス・マスタをドメインIDにマッピング) MBC_am=s.b— メモリブロックチェック — ここでペリフェラルアクセスがゲートされます MRC_am=… — メモリ領域チェック(DDRなどの大規模メモリ領域) 各LMはDIDにバインドされます。例:SMは2、AP(LM2)は3、M7(LM1)は4でした。 Q3 — M7とA55の間でGPIOを共有 はい、TRDCはM7ドメインとA55ドメインの両方に同じGPIOインスタンスへの同時アクセスを許可できます(両方のDIDでMBCブロックを有効にすること)。しかし、重要な注意点と、支持される2つのパターンがあります。 注意点:i.MX 95 GPIOにはハードウェア仲裁機能がなく、PDR/DR/GDIRレジスタは物理的に共有されるため、両コアレースから非調整の読み書き・修正・書き込みが可能です。 パターンA(分離ピン+ソフトウェア同期):慣例に従って各コアに特定のピンを割り当てます(設定では既にLMごとにピンが分割されています)。データ/方向レジスタバンクは依然として共有されているため、ハードウェアセマフォ/MUを使用して同時RMWを保護するか、コアが同じレジスタバンクに同時にアクセスしないようにしてください。 パターンB(SM仲裁、真に共有されたインスタンスに推奨): SMが所有し、文書化された役割は 「共有アクセスの仲裁 」とされる常時接続 GPIO1 を経由します。IOMUXC/IOMUX_GPRも同様にSMによって調停されます。Pinmux/daisyは、エージェントごとの権限を持つSCMIピン制御プロトコルを介して設定されます。GPIOデータ操作は直接MMIOで行われます。
查看全文
i.MX 95: Dynamic TRDC/System Manager Resource Allocation and GPIO Sharing Between M7 and A55 Hi Team, We are working on an i.MX 95 platform and would like to use the MIPI DSI peripheral initially from the M7 core, and then hand over the resource to the A55 core at runtime. From our understanding, the peripheral resources and their ownership are initially defined for each Logical Machine/processor in the mx95evk.cfg file generated/configured through the System Manager tools. We would like to clarify the following: Dynamic Resource Handover: Is it possible to dynamically transfer the MIPI DSI peripheral resource from M7 to A55 at runtime? For example, M7 would initially own and use MIPI DSI, then release it, after which A55 would take ownership and use the same peripheral. Dynamic Resource Allocation: If runtime handover is supported, what is the recommended mechanism/API to change the resource ownership or access permissions dynamically? Is this handled through the System Manager, TRDC, or another mechanism? GPIO Sharing: Is it possible for the same GPIO port/resource to be accessed by both M7 and A55 simultaneously? If so, are there any TRDC configuration requirements or software synchronization mechanisms that need to be implemented to safely share the GPIO resource? We would appreciate any guidance on the recommended approach for implementing dynamic peripheral handover and/or resource sharing between M7 and A55 on the i.MX 95. Re: i.MX 95: Dynamic TRDC/System Manager Resource Allocation and GPIO Sharing Between M7 and A55 I discussed with the AE team, please refer to the following update. On i.MX 95, resource ownership and TRDC permissions are defined statically at build time in the SM config (mx95evk.cfg → generated config_.h) and applied by the System Manager (SM) when a MIX powers up. *There is no SCMI/SM message that transfers ownership of a peripheral from one Logical Machine (LM) to another at runtime. However, SM documentation names "handing a display over from one LM to another" as the exact motivating use case for the SM_SCMI_PERM_EXCLUSIVE model. So the handover is achievable, just not by "moving" ownership. Q1 & Q2 — MIPI DSI M7 → A55 handover: how to do it The LMM (Logical Machine Management) SCMI protocol only boots / resets / shuts down / suspends / wakes LMs — it has no RESOURCE_ASSIGN or OWNERSHIP_TRANSFER message. Instead, use a temporal-division handoff: Grant BOTH LMs access up-front in mx95evk.cfg. By default the EVK config assigns MIPI_DSI, MIPI_PHY, DC_DISPENG, BLK_CTRL_DISPLAYMIX, the display clocks/power (PD_DISPLAY, CLK_DISP*) as OWNER of the AP (LM2) only — you must also add them to the M7 LM (LM1) to allow M7-first usage. Mark the SM-managed resources (clocks, power, reset) as SM_SCMI_PERM_EXCLUSIVE (api=all) so requests from the two LMs are not silently aggregated/overwritten. At handover, M7 quiesces DSI/DCIF, then signals A55 via application-level IPC (MU mailbox or SCMI notification). A55 (Linux/DRM DSI+DPU stack) then brings up the same IP. The handoff sequencing is the customer's software responsibility (temporal division). The SM only guarantees the HW is drivable from either side because both LMs were pre-granted access. TRDC ownership cannot be rewritten at runtime — only the SM programs TRDC, and only from the static config at MIX power-up. TRDC config that controls this (expressed in the .cfg): MDAC_am=… — Master-Domain Assignment (maps a bus master to a domain ID) MBC_am=s.b — Memory Block Check — this is where peripheral access is gated MRC_am=… — Memory Region Check (large memory regions like DDR) Each LM binds to a DID, e.g. SM did=2, AP(LM2) did=3, M7(LM1) did=4. Q3 — Shared GPIO between M7 and A55 Yes, TRDC can grant both the M7 domain and the A55 domain concurrent access to the same GPIO instance (enable its MBC block for both DIDs). But there is a critical caveat and two supported patterns: Caveat: i.MX 95 GPIO has no hardware arbitration — PDR/DR/GDIR registers are physically shared, so uncoordinated read-modify-write from both cores races. Pattern A (disjoint pins + SW sync): Assign specific pins to each core by convention (the config already splits pins per LM). Since the data/direction register banks are still shared, protect concurrent RMW with a hardware semaphore / MU, or ensure the cores never touch the same register bank concurrently. Pattern B (SM-arbitrated, recommended for truly shared instances): Route through the always-on GPIO1, which is owned by the SM and whose documented role is "arbitrates shared access." IOMUXC/IOMUX_GPR are likewise SM-arbitrated. Pinmux/daisy is set via the SCMI pin-control protocol with per-agent permissions; GPIO data ops are direct MMIO. Re: i.MX 95: Dynamic TRDC/System Manager Resource Allocation and GPIO Sharing Between M7 and A55 Hello, On the i.MX 95, the MIPI DSI resource can be used by the M7 initially and later handed over to the A55. The resource access and ownership should be configured through the System Manager/TRDC configuration, while the actual runtime handover should be handled by software. TRDC controls which Logical Machine/domain is allowed to access the peripheral, but it does not manage synchronization between M7 and A55. Therefore, M7 should first complete all DSI operations, stop using the peripheral, and notify A55 through an inter-core mechanism such as MU/IPC before A55 takes control. Similarly, GPIO resources can be made accessible to both M7 and A55 through the appropriate TRDC configuration, but simultaneous access must be synchronized by software. For the DSI use case, the recommended approach is to have only one core actively use the peripheral at a time and use MU/IPC for the handover.
查看全文
ユーザーガイドで言及されているPIDパラメータの重要性と、それらの計算方法について教えてください。 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 私はBLDC制御用にMagniV開発ボードを使っています......。速度と電流ループ制御とPI制御についてはNXPのコードも参考にしました。PI制御ループのパラメータ計算はfreemasterツールを使用して行います。PIDループのパラメータ計算にも同様のツールはありますか?また、コードに付属していたユーザーガイドに記載されているNXP PID機能で使用されるPIDパラメータの重要性を定義してください。 Re: PID parameters significance mentioned in User guide and how to calculate them ? 別のプロセスの場合: 1. モーター95W、12V、抵抗Rは約1.2Ω、インダクタンスLは約2.5mH 2. スイッチの周波数は160Hz、つまり1000 rad/s(1000/3.1416/2=160Hz)であることを示唆しています。 3. そしてZ_finalは1である。 SO: S = 1/(R+2*pi*L*freq) = 1/(1.2+2*3.14156*2.5e-3*160)= 1/(1.2+2.5) ジャンプはこちらです: 1.Kp = 2*3.1416*2.5e-3*160-R= 5-1.2= 3.8 2.Ki = w^2*L = 2500 3. Vol curr はスタンドリズであるため、 :Kp = 3.8 * 8/12 = 3.8 * 0.667=2.5 この段階で、AIはLが間違っている可能性があると述べた。 ---------------- 適切なモーターパラメータを計算してみましょう。 エンジンがcos(theta)=0.85の場合 >>> import numpy as np >>> np.acos(0.85) np.float64(0.5548110329800715) >>> np.sin(0.555) np.float64(0.5269433002033014) するとsin(θ)=0.5。 つまり、エンジンがSTDで停止したとき、Curr_RとCurr_Lは等しいです。 so:R = 12*0.707/(8*0.707)= 1.5オーム、これは正しいです。 L:9000rpmは150Hzなので、誤差は帯域幅の問題だと思います。1500Hz、あるいは3000Hzより高くあるべきです もし freq_std=1500なら、Lは12*0.85/(2*π*1.5e3)であるはずです。= 10mH ~ 5mH つまり、Ki = 14e3*10e-3 = 140 または 70。 Kp = 2*pi*1.5e3*L-R = 94-1.5= ... それでも間違っている…。 Re: PID parameters significance mentioned in User guide and how to calculate them ? やあ。 私はPID制御に関しては初心者です。 これが私が見つけた最初の投稿です。 以下は、このフォーラムにおける私の発見と知識の一部です。 S32K344 - FreeRTOSと統合されたFOC これが最初の行です。 EVボードをインストールした後、PMSM_appconfig.hを取得しました。PIDパララム、initパララムは: #define CLOOP_D_KP(0.368399F) #define CLOOP_D_KI(0.0298853F) #define CLOOP_Q_KP(0.371817F) #define CLOOP_Q_KI(0.0298853F) これはFOCコントロールなので、ここには2つのPIパラメータがあります。 したがって、Kpが最も重要なものです。 では、私の計算は以下の通りです: PID(err_of_vol) = カール。 電圧範囲は12Vです モーターの出力は95Wで、出力カールは :95/12=8A です。 SO: Kp = 8/12 = 0.67...しかしモーターは前述と後ろのロールをサポートCANできるため、Volは2つの部分に分割しなければなりません。 SO :   if you using +12V to サポート all roll on roll back, kp should be 8*2/12=1.33 DC+とDC-を反転させるようなものを使用する場合は、0.67になるはずです。 調整する場合、常に小さい値から始まります。例えば、その20%。つまり、最終的に0.37は20%×1.33=より大きいです。0.27 KiはKpの約10%であり、Ki = 1/12*Kpとなる。 しかし、それは全くの間違いのようだ。 Qianwen(AIチャット)について何か聞いたんだけど 1. NXPは、最初の段階では、現在の株価と株価を据え置くべきである。 2. 計算の基準となるのは、制御空間のゼロ点と極点です。 後で調べてみます。 それによると、モーターの PID パラメータは、まずモーターの L、R を測定し、次に計算します。 Re: PID parameters significance mentioned in User guide and how to calculate them ? <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> こんにちは、 私たちはウェブ上のモータ制御の例の構造にPIコントローラを使用しています。ご指摘の通り、McatはPIコントローラのパラメータ計算に役立ちます(カスケード制御構造におけるPMSMや、6ステップ構造におけるBLDCの制御)。現時点では、PIDコントローラー付きの構造や設定支援ツールを使った例はウェブ上にありませんが、もちろんAMCLIBライブラリも顧客制御構造の構成要素としてこの機能を提供しています。 お役に立てれば幸いです。 よろしくお願いいたします。 ダイアナ
查看全文
NXP Matlab Simulink Interaction I am Trying to flash Simulink model into S32K312 MINI-EVB. It is using CAN interface for input and output of the model. Need to understand why my traces are not matching with what i am getting in Simulink Simulation model. There are differences in the model run in Simulink and that on NXP hardware, maybe because of timestep and other factors, just need support to check what i might be doing wrong.
查看全文
NXP Matlab Simulink 交互 我正在尝试将 Simulink 模型刷写到 S32K312 MINI-EVB 中。该模型采用CAN接口进行输入输出。我需要了解为什么我的轨迹与我在 Simulink 仿真模型中得到的结果不符。Simulink 中的模型运行结果与 NXP 硬件上的模型运行结果存在差异,可能是由于时间步长和其他因素造成的,我需要帮助来检查我可能做错了什么。
查看全文
FRDM-IMX93 ASCII ボードファイル こんにちは、 このリンクからFRDM-IMX93デザインファイルを取得しました: https://www.nxp.com/design/design-center/development-boards-and-designs/frdm-i-mx-93-development-board:FRDM-IMX93 しかし、それらをAltiumにインポートするためのAllegroやExtracta.exeを持っていません。LAY-94611_B.brdをACII形式で提供してもらえますか?それならAltiumにインポートできます。 ありがとうございます Re: FRDM-IMX93 ASCII Board File こんにちは、 私もこのファイルが必要です。ボードをよりよく理解し、開発に役立てたいからです。送ってくれる? Re: FRDM-IMX93 ASCII Board File こんにちは、 @Cwootton さん! NXPサポートにご連絡いただきありがとうございます! 必要なファイルは近日中にメールでお送りします。 よろしくお願いします、 チャビラ
查看全文
PID parameters significance mentioned in User guide and how to calculate them ? I am using MagniV development board for for BLDC control .... I have also took reference from NXP code for speed and current loop control with PI control ..... for PI control loop parameters calculations are done using freemaster tool....Is there any such tool for PID loop parameter calculation ? Also please define significance of PID parameters used in NXP PID function mentioned in user guide that came with code . Re: PID parameters significance mentioned in User guide and how to calculate them ? for another process: 1. motor 95W, 12V, the R is about: 1.2ohm, and L is about:2.5mH 2. it suggest the switch freq is 160Hz, which is 1000 rad/s( 1000/3.1416/2=160Hz) 3. and it suggest the Z_final is 1. so: s = 1/(R+2*pi*L*freq) = 1/(1.2+2*3.14156*2.5e-3*160) = 1/(1.2+2.5)  here is a jump: 1.Kp = 2*3.1416*2.5e-3*160-R = 5-1.2 = 3.8 2.Ki = w^2*L = 2500 3.because the Vol, curr is standlize, so :Kp = 3.8 * 8/12 = 3.8*0.667=2.5 at this stage, AI said the L maybe wrong. ---------------- let me try to calc the right motor params. if engine is cos(theta)=0.85 >>> import numpy as np >>> np.acos(0.85) np.float64(0.5548110329800715) >>> np.sin(0.555) np.float64(0.5269433002033014) then sin(theta)=0.5. so: when engine at std power out. the Curr_R and Curr_L is equal. so:R = 12*0.707/(8*0.707) = 1.5ohm, this is right. L:9000rpm is 150Hz,so, I think the error is bandwith, it should be higher than 1500Hz, and maybe 3000Hz if freq_std=1500, which means the L should be 12*0.85/(2*pi*1.5e3) = 10mH ~5mH so:Ki = 14e3*10e-3 = 140 or 70. Kp = 2*pi*1.5e3*L -R = 94-1.5 = ... still wrong.... Re: PID parameters significance mentioned in User guide and how to calculate them ? hi,there. I am a naive to pid ctrl. this is the first post I found. here are some my foundings in this forum and knowledge. S32K344 - FOC integrated with FreeRTOS this is the beginning line. After I install the EV boards, I got the PMSM_appconfig.h,  the pid params, init params is : #define CLOOP_D_KP (0.368399F) #define CLOOP_D_KI (0.0298853F) #define CLOOP_Q_KP (0.371817F) #define CLOOP_Q_KI (0.0298853F) this is FOC controler, so there are two PI params here. so the Kp is the most important one. so,here is my calc: the PID(err_of_vol) = Curr. Vol range is 12V the motor power is 95W, so the output Curr is :95/12=8A. so: Kp = 8/12 = 0.67... but  the motor can support forword and backword rolling, so the  Vol must split into 2Parts. so :   if you using +12V to support all roll on roll back, kp should be 8*2/12=1.33 if you using something like revert the DC+ DC-, it should be just 0.67. if you tune it, it always start an a more small value. for example 20% of it.  so at last, the 0.37 is more larger than 20%*1.33= 0.27 Ki is about 10percent of Kp, here is Ki = 1/12*Kp but it seems it is totally wrong. I heard sth about Qianwen(An AI-Chat) 1. NXP should Standlize the Curr & Vol, for the very first stage. 2.what the calc is based Zero,and Polor Point of Control Space.  I will try to figure it out later,  it said, the motor's PID params will first try to measure motors' L,R then calc. Re: PID parameters significance mentioned in User guide and how to calculate them ? Hello, We use PI controllers in the structures of our motor control examples on the web. As you write, Mcat helps with the calculation of parameters for the PI controllers used (for PMSM in the cascade control structure for BLDC in the structure for sixstep). At the moment we do not have an example on the web that would use a structure with a PID controller or a tool that would help to set it, but of course, our AMCLIB library also offers this function as a building block for customer control structures. I hope it helps. Best regards, Diana
查看全文
The MCUXpresso Secure Provisioning Tool cannot connect to the target board via USB. Hi NXP, I have a question: Development board: MIMXRT1170-EVKB, unable to connect using MCUXpresso Secure Provisioning Tool, as shown in the image: hayden178_0-1788428456159.pnghayden178_0-1788428456159.pnghayden178_0-1788428456159.pnghayden178_0-1788428456159.pnghayden178_0-1788428456159.png The computer's Device Manager displays the following: hayden178_1-1788428566738.pnghayden178_1-1788428566738.pnghayden178_1-1788428566738.pnghayden178_1-1788428566738.pnghayden178_1-1788428566738.png The development board's DIP switches are shown in the figure: hayden178_2-1788428637373.pnghayden178_2-1788428637373.pnghayden178_2-1788428637373.pnghayden178_2-1788428637373.pnghayden178_2-1788428637373.png I've downloaded and debugged the program using an IDE without any issues. How can I troubleshoot this? Thank you. Re: MCUXpresso Secure Provisioning Tool无法通过USB连接目标板 Hi @hayden178 , Thank you for your question! I checked the DIP switch configuration and power options you provided, and there are no issues. USB OTG1 was also selected without any problems. Therefore, it's suspected that some anomaly might be preventing the flashloader from loading data into SRAM promptly via the USB port. We suggest you try using a UART interface first. If the UART interface works fine, then switch to the USB interface. At this point, the flashloader should be running, and the USB port should also be working correctly. If the UART port also has a problem, you need to check the specific output. The detailed commands are listed in gen_scripts/init_flashloader_win.bat in the working directory. Before re-running the test, delete the previous log and check the new log to see which step failed. Best regards, Gavin Re: MCUXpresso Secure Provisioning Tool无法通过USB连接目标板 Hi @Gavin_Jia , Thank you for your support! I switched to UART to connect the MIMXRT1170-EVKB, and the problem was solved. I've encountered a new problem; could you please help me figure out where the problem lies? The built-in example in the MCUXpresso Secure Provisioning Tool fails to run mcuboot_opensource&ota_mcuboot, resulting in a consistent reset, as shown in the image. hayden178_0-1789004746339.pnghayden178_0-1789004746339.pnghayden178_0-1789004746339.png The project configuration is as follows: hayden178_1-1789004822575.pnghayden178_1-1789004822575.pnghayden178_1-1789004822575.png hayden178_2-1789004848902.pnghayden178_2-1789004848902.pnghayden178_2-1789004848902.png hayden178_4-1789005368832.pnghayden178_4-1789005368832.pnghayden178_4-1789005368832.png hayden178_3-1789005332451.pnghayden178_3-1789005332451.pnghayden178_3-1789005332451.png I've successfully run both projects using the IDE, but downloading the generated bin files to the board using SPSP results in the same reset issue. hayden178_5-1789005846515.pnghayden178_5-1789005846515.pnghayden178_5-1789005846515.png Re: MCUXpresso Secure Provisioning Tool无法通过USB连接目标板 Hi @hayden178 , Thanks for sharing the good news. I'm glad the first SPT connection issue has been resolved. Regarding the mcuboot operation process, which guide did you refer to? Could you please share it? I've always used Python scripts and imgtool for signing before, and I haven't tried this SPT solution. Regarding this new question, you are welcome to create a new ticket to keep the topic consistent across all threads. Thank you for your understanding and cooperation! Best regards, Gavin
查看全文
FRDM-IMX93 ASCII 板文件 你好, 我从这个链接下载了FRDM-IMX93设计文件: https://www.nxp.com/design/design-center/development-boards-and-designs/frdm-i-mx-93-development-board:FRDM-IMX93 但是我没有 Allegro 或 Extracta.exe 来将它们导入 Altium。请提供 ACII 格式的 LAY-94611_B.brd 文件,以便我将其导入 Altium 系统。 谢谢! Re: FRDM-IMX93 ASCII Board File 你好, 我也需要这份文件来更好地了解电路板并帮助进行开发。你能发给我吗? Re: FRDM-IMX93 ASCII Board File 嗨@Cwootton ! 感谢您联系恩智浦技术支持! 我稍后会通过电子邮件将所需文件发送给您。 此致, 查维拉
查看全文
MCUXpresso Secure Provisioning Tool无法通过USB连接目标板 Hi NXP, 请教一下问题: 开发板:MIMXRT1170-EVKB,使用MCUXpresso Secure Provisioning Tool无法连接,如图显示: hayden178_0-1788428456159.pnghayden178_0-1788428456159.pnghayden178_0-1788428456159.pnghayden178_0-1788428456159.pnghayden178_0-1788428456159.png 电脑设备管理器显示如下: hayden178_1-1788428566738.pnghayden178_1-1788428566738.pnghayden178_1-1788428566738.pnghayden178_1-1788428566738.pnghayden178_1-1788428566738.png 开发板拨码开关如图: hayden178_2-1788428637373.pnghayden178_2-1788428637373.pnghayden178_2-1788428637373.pnghayden178_2-1788428637373.pnghayden178_2-1788428637373.png 另外使用IDE下载程序,debug都没问题。请问如何排查?谢谢 Re: MCUXpresso Secure Provisioning Tool无法通过USB连接目标板 Hi @hayden178 , 感谢提问! 我检查了您提供的拨码开关配置和供电选项,都没有问题。选择的也是USB OTG1没有问题。 因此怀疑可能是有什么异常导致flashloader没有及时通过usb端口加载到SRAM。建议您先换用UART接口试一下。如果UART接口没问题,再换到USB接口,此时flashloader已经在运行了,usb端口应当也没有问题了。 如果UART端口也有问题,那就需要检查具体的输出,在工作目录下的,gen_scripts/init_flashloader_win.bat 中详细列举了具体的命令。重新执行test之前先删除之前的log,在新的log中核对具体是哪一步失败。 Best regards, Gavin Re: MCUXpresso Secure Provisioning Tool无法通过USB连接目标板 Hi @Gavin_Jia , 感谢您的支持! 我换成UART连接MIMXRT1170-EVKB,已经解决问题。 我遇到一个新的问题,请帮忙看看问题出在哪里: 使用MCUXpresso Secure Provisioning Tool上的自带的示例,跑不通mcuboot_opensource&ota_mcuboot,现象为一致复位,如图: hayden178_0-1789004746339.pnghayden178_0-1789004746339.pnghayden178_0-1789004746339.png 工程配置如下: hayden178_1-1789004822575.pnghayden178_1-1789004822575.pnghayden178_1-1789004822575.png hayden178_2-1789004848902.pnghayden178_2-1789004848902.pnghayden178_2-1789004848902.png hayden178_4-1789005368832.pnghayden178_4-1789005368832.pnghayden178_4-1789005368832.png hayden178_3-1789005332451.pnghayden178_3-1789005332451.pnghayden178_3-1789005332451.png 另外我用IDE已经跑通这两个工程,但是把生成的bin文件使用SPSP下载到板子上同样一致复位 hayden178_5-1789005846515.pnghayden178_5-1789005846515.pnghayden178_5-1789005846515.png Re: MCUXpresso Secure Provisioning Tool无法通过USB连接目标板 Hi @hayden178 , 感谢分享你那边的好消息,很高兴第一个SPT连接的问题已经解决了。 关于mcuboot这个操作流程,你参考的guide是哪个能同步下吗?之前一直是通过python脚本和imgtool来做签名的,没尝试过这个SPT的方案。 关于这个新的问题,欢迎重新创建一个ticket以保持每个thread下的主题一致。 感谢您的理解和协作! Best regards, Gavin
查看全文