Multi Source Translation Content

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

Multi Source Translation Content

讨论

排序依据:
iMX95搭載のUUU こんにちは、 iMX95ベースのシステムにU-Bootをダウンロードして実行したい。 私はこのスクリプト cmd.lst を作成しました。 # ヤミン・アメックス SDPS: boot -f flash.bin SDPS: 完了 SDPV: 遅延 1000 SDPV: write -f flash.bin -skipspl SDPV: ジャンプ SDPV: 完了 # } コマンドラインでこれらのコマンドを手順通りに実行すれば、問題なく動作します。 でも私が電話したら => sudo /usr/bin/uuu -v -b ./cmd.lst それはぶら下がっている 既知のUSBデバイスが表示されるまでお待ちください... 新しいUSBデバイスが1:41-636B3EF4AB264648に接続されました 1:41-636B3EF4AB264648>コマンド開始:SDPS: boot -f flash.bin 100%1:41-636B3EF4AB264648>OK (3.007秒) 1:41-636B3EF4AB264648>コマンド開始:SDPS:完了 1:41-636B3EF4AB264648>OK (0秒) これらの手順を1つのコマンドリスト内で実行することは許可されていないのですか? あるいは、このコマンドリストのどこが間違っているのでしょうか? Re: UUU with iMX95 はい、SDPSとSDPVのステップは1つのUUUコマンドリストにまとめることができます。i.MX95の場合、意図された手順は次のとおりです。まずSDPS: boot -f flash.binSPL を起動し、次に SDPV: write -f flash.bin -skipspl および SDPV: jump complete/start U-Boot を起動します。私が見つけたスクリプトの例では、SDPS: done を挟まずに、同じ結合された SDPS→SDPV フローを使用しています。 あなたの場合の問題はおそらく設置方法と、スクリプトの呼び出し方にある可能性が高いです。 uuu_version 1.5.233 SDPS: boot -f flash.bin SDPV: 遅延 1000 SDPV: write -f flash.bin -skipspl SDPV: ジャンプ カスタムスクリプトファイルとして直接実行する: sudo /usr/bin/uuu -v ./cmd.lst としてではなく: sudo /usr/bin/uuu -v -b ./cmd.lst -b オプションは、sd、emmc、sd_all、emmc_all などの UUU 組み込みスクリプトについて文書化されていますが、カスタム スクリプト ファイルは通常、uuu に直接渡されます。また、「done」は全体のフローの最後のコマンドとして説明されているため、最初のブートステージの直後にSDPS: doneを入れると、UUUがそのステージを停止し、SDPVステージにスムーズに進む代わりに次の既知のUSBデバイスを待つことがあります。 ですので、以下のファイルからファイルを変更したほうがいいと思います: SDPS: boot -f flash.bin SDPS: 完了 SDPV: 遅延 1000 SDPV: write -f flash.bin -skipspl SDPV: ジャンプ SDPV: 完了 、 uuu_version 1.5.233 SDPS: boot -f flash.bin SDPV: 遅延 1000 SDPV: write -f flash.bin -skipspl SDPV: ジャンプ SDPS→SDPV遷移でまだ待機状態が続く場合は、より新しいUUUリリースを試してください。i.MX95レポートの1つでは、100%でハングアップする場合にuuu_1.5.201からuuu_1.5.233に移行することを特に推奨しています。また、-Tでステージスイッチの待機タイムアウトを増やすこともできます。-Tは、ステージスイッチで次の既知のUSBデバイスを待つためのタイムアウトです。 1 つのスクリプトを使用しますが、中間の done 行を削除し、uuu -v ./cmd.lst でファイルを直接実行します。その後、ボードがまだ SDPV ステージに再列挙されない場合にのみ、UUU を更新するか、-T を増やします。 Re: UUU with iMX95 こんにちは、そしてありがとうございます、@yipingwang フィードバックが遅くなり申し訳ありません。 cmd-lst を次のように変更しました。 SDPS: boot -f flash.bin SDPV:ディレイ1000 SDPV: write -f flash.bin -skipspl SDPV:ジャンプ SDPV:完了 その後、uuu_1.5.233に切り替えたら問題なく動作しました。 しかし、呼びかけはこうでなければならない。 => ./uuu-v -b ./cmd.lst と => ./uuu-v ./cmd.lst どうやら、cmd.lst をボットローダーバイナリとしてロードしようとしているようです。 返される値: 新しいUSBデバイスが3:5-636B3EF4AB264648に接続されました 3:5-636B3EF4AB264648>コマンド開始:SDPS: boot -f "./cmd.lst"
查看全文
SDK example flash and LWIP hard-fault Hi,  When I combine the two SDK examples “frdmimxrt1186_lwip_ipv4_ipv6_echo_freertos_cm33” and “frdmimxrt1186_flexspi_nor_polling_transfer_cm33,” I eventually get a hard fault after executing the function “ FLEXSPI_SoftwareReset(base);” eventually results in a hard fault. I also notice that the “base” address 0x445E0000 changes. I'm using the FRDM-RT1186 EVA kit. What could be causing this? I'm using MCUXpressoIDE_25.6.136. Thank´s for feedback. Re: SDK example flash and LWIP hard-fault Hi Pablo, thank´s to go in contact with me. I use SDK 26.03.00 (928 2026-03 , Manifest Version 3.15.0 I start with "frdmimxrt1186_lwip_ipv4_ipv6_echo_freertos_cm33". This happens consistensly, no specific conditions. I import the files from the example "frdmimxrt1186_flexspi_nor_polling_transfer_cm33" board/hardware_init_Flash.c drivers/fsl_flexspi.c drivers/fsl_flexspi.h source/appFlash/flexspi_nor_flash_ops.c source/appFlash/flexspi_nor_polling_transfer.c board/app.h  // this containes both app.h source/lwip_ipv4_ipv6_echo_freertos.c  // this includes two function-calls: int main(void) { BOARD_InitHardware(); BOARD_InitHardware_Flash(); main_Flash(); void BOARD_InitHardware_Flash(void) { BOARD_CommonSetting(); // BOARD_ConfigMPU(); // bord.c = identisch mit Lwip prj // BOARD_InitBootPins(); // pin_mux.c "" BOARD_InitFLASHPins(); // BOARD_InitBootClocks(); // clock_config.c "" // BOARD_InitDebugConsole(); // board.c "" } int main_Flash(void) { uint32_t i = 0; status_t status; uint8_t vendorID = 0; // BOARD_InitHardware_Flash(); ... return 1; /* while (1) { } */ } I think that's it. Thank you in advance. Gerd Re: SDK example flash and LWIP hard-fault Hi @GerdMartin, Could you please provide more details about how you combined the two SDK examples? What changes were made? Which example did you use as the starting point? Which SDK version are you currently using? Also, you mentioned that a hard fault eventually occurs after executing FLEXSPI_SoftwareReset(base);. Does this happen consistently every time the function is called, or only under specific conditions? Best Regards, Pablo Re: SDK example flash and LWIP hard-fault Hi Pablo, I'd like to know if you have any information about my problem. Thank you very much Gerd Re: SDK example flash and LWIP hard-fault Hi, I have one update. I forgott to copy the folder linkscript from example flexspi . now, I get an other hard-fault init lwip, but the flexspi init is working. Gerd Re: SDK example flash and LWIP hard-fault Hi, I have done a test with another example from SDK (lwip_dhcp) together with flexSpi, but I get also an randomize hard_fault. So, I have a problem to go in my project. May be, if there is another solution to store data aprox. 1 KB) into the flash, please let me know. Many thanks Gerd Re: SDK example flash and LWIP hard-fault Hi @GerdMartin, I was able to reproduce the behavior, and after performing some tests, I observed the following: In the first two examples that you combined, flexspi_nor_polling_transfer_cm33 erases and writes to a memory region. By default, the region that this example uses is part of the combined project image. We can calculate the sector that the example accesses. In this case, the example uses sector 20, with a sector size of 4k. Therefore, the FlexSPI example modifies the following address: 20 × 4k + FlexSPI2_AMBA_BASE = 0x4014000 If we examine the memory contents before and after the call to main_FLASH(), we can see that part of the project image is being overwritten. Pablo_Ramos_0-1787777815010.pngPablo_Ramos_0-1787777815010.pngPablo_Ramos_0-1787777815010.png Pablo_Ramos_1-1787777823697.pngPablo_Ramos_1-1787777823697.pngPablo_Ramos_1-1787777823697.png Could you modify the memory region used by the FlexSPI example so that it does not overlap with the project image? After making this change, does the issue still occur? Best Regards, Pablo Re: SDK example flash and LWIP hard-fault Thank´s, that´s it. I have modify the define EXAMPLE_SECTOR from 20 to a value that the result offset is not in my code. Now, I can go on. Gerd
查看全文
GMAC0 and Linflexd UART0 cannot work stably at the same time Hello everyone, I am developing software on the M7_0 core of the S32G274A using S32DS3.5 and RTD4.0.0, with FreeRTOS, Linflexd_Uart, and Lwip as components. During debugging, I found that GMAC0 and Linflexd UART0 cannot work stably at the same time. I use Linflexd_Uart to output the content of printf. The logs show that initialization completes and, after the application starts up, it can cyclically print the status of each FreeRTOS task. However, I cannot ping the board's IP address. If I comment out the printf calls or disable the UART transmission in _write, the board becomes pingable after power‑on or reset. What could be the issue here? Does printf cause GMAC0 to fail at receiving data? How should I resolve this problem? Thank you in advance for any suggestions.
查看全文
S32G2によるマルチコアアプリケーションの実現 こんにちは、NXPの皆さん: S32G274Aチップでプログラムを動かすにはマルチコアを使い、LinuxにはA53、LLCE_CANはM7で動かす準備をしています。 5.2に基づき「S32G2プラットフォームソフトウェア統合を使ったマルチコアアプリケーションをS32G2で有効化する」と述べました。ブートローダーを設定し、推奨するソフトウェアパッケージをインストールし、手順に従って設定してください。 zhipeng_7-1786181958976.pngzhipeng_7-1786181958976.pngzhipeng_7-1786181958976.pngzhipeng_7-1786181958976.pngzhipeng_7-1786181958976.png 5.3にエラーがあります。コンパイル時にブートローダーを構築する。 launch.batファイルが編集されました。 zhipeng_0-1786182860528.pngzhipeng_0-1786182860528.pngzhipeng_0-1786182860528.pngzhipeng_0-1786182860528.pngzhipeng_0-1786182860528.png launch.bat の実行後にエラーが発生しました。 zhipeng_0-1786180508617.pngzhipeng_0-1786180508617.pngzhipeng_0-1786180508617.pngzhipeng_0-1786180508617.pngzhipeng_0-1786180508617.png 関連するコードをコメントアウトした後。 zhipeng_5-1786181360466.pngzhipeng_5-1786181360466.pngzhipeng_5-1786181360466.pngzhipeng_5-1786181360466.pngzhipeng_5-1786181360466.png zhipeng_2-1786180921774.pngzhipeng_2-1786180921774.pngzhipeng_2-1786180921774.pngzhipeng_2-1786180921774.pngzhipeng_2-1786180921774.png CryptoDal.hを見つけましたインストールディレクトリ内のファイル。 zhipeng_4-1786181305215.pngzhipeng_4-1786181305215.pngzhipeng_4-1786181305215.pngzhipeng_4-1786181305215.pngzhipeng_4-1786181305215.png zhipeng_6-1786181450684.pngzhipeng_6-1786181450684.pngzhipeng_6-1786181450684.pngzhipeng_6-1786181450684.pngzhipeng_6-1786181450684.png どこに間違いがあるでしょうか? ありがとうございます。 Re: S32G2 Enabling Multicore Application こんにちは、ジペン ご指摘の件についてですが、以下の内容を追加した場合、エラーが発生しますか?コメントアウトしてもエラーは発生しませんか? Joey_z_0-1786328574726.pngJoey_z_0-1786328574726.pngJoey_z_0-1786328574726.pngJoey_z_0-1786328574726.pngJoey_z_0-1786328574726.png BR ジョーイ Re: S32G2 Enabling Multicore Application こんにちは、 @Joey_z はい、追加後、3枚目の画像に「未申告」と表示されます。 コメントアウトすると、5番目の画像に「そのようなファイルまたはディレクトリはありません」と表示されます。 zhipeng_1-1786347067301.pngzhipeng_1-1786347067301.pngzhipeng_1-1786347067301.pngzhipeng_1-1786347067301.pngzhipeng_1-1786347067301.png 「CryptoDal.h」は、D:\NXP\Integration_Reference_Examples_S32G2_2022_06\code\framework\realtime\bsw\dal\cryptodal\generic\include にあります。 「Hse_Ip.h」は、D:\NXP\SW32G_RTD_4.4_3.0.2_HF01\eclipse\plugins\Crypto_TS_T40D11M30I2R0\include にあります。 両方のファイルはそれぞれのフォルダ内に見つかりました。また、ファイルパスはlaunch.batにも記載されています。 現在の問題は、コンパイルプロセス中にプラグインのパスが含まれていなかったことが原因のようです。 BR Re: S32G2 Enabling Multicore Application こんにちは、ジペン 設定でセキュアブートは有効になっていますか?セキュアブートを有効にして、問題が解消されるかどうか確認してみてください。 Joey_z_2-1786353784256.pngJoey_z_2-1786353784256.pngJoey_z_2-1786353784256.pngJoey_z_2-1786353784256.pngJoey_z_2-1786353784256.png BR ジョーイ 回复: S32G2 Enabling Multicore Application こんにちは、 @Joey_z 前回のブートローダーのコンパイルは成功しました。NORフラッシュにイメージを書き込んだ後、起動してもUARTから何も出力されません。 私はAN13750を参照しました。私の操作手順は以下のとおりです。 「S32G2_LinuxBSP_42.0_User_Manual.pdf」に従いました。Ubuntu 20 に u-boot bsp42.0-2022.04 と ATF bsp42.0-2.10 をインストールしました。 s32_mmc.cを修正しましたおよび s32_common.mk は 0001-fip-align-and-mmc-init.patch に従っています。 zhipeng_0-1787646642108.pngzhipeng_0-1787646642108.pngzhipeng_0-1787646642108.pngzhipeng_0-1787646642108.pngzhipeng_0-1787646642108.png zhipeng_1-1787646670172.pngzhipeng_1-1787646670172.pngzhipeng_1-1787646670172.pngzhipeng_1-1787646670172.pngzhipeng_1-1787646670172.png zhipeng_2-1787646683855.pngzhipeng_2-1787646683855.pngzhipeng_2-1787646683855.pngzhipeng_2-1787646683855.pngzhipeng_2-1787646683855.png u-bootとATFをコンパイルしました。 make CROSS_COMPILE=/opt/S32G/arm-gnu-toolchain-11.3.rel1-x86_64-aarch64-none-linux-gnu/bin/aarch64-none-linux-gnu- ARCH=aarch64 PLAT=s32g274ardb2 BL33=../u-boot/u-boot-nodtb.bin Image Layout DCD: Offset: 0x200 Size: 0x1c IVT: Offset: 0x1000 Size: 0x100 AppBootCode Header: Offset: 0x1200 Size: 0x40 Application: Offset: 0x1240 Size: 0x33e00 Boot Core: A53_0 IVT Location: SD/eMMC Load address: 0x342f8f00 Entry point: 0x34302000 fip.s32ファイルをSDカードに書き込みました。fipを交換した後も、SDカードは起動可能で、u-bootの日付も変更された。 U-Boot 2022.04-00213-g5a6f62071f (Aug 24 2026 - 10:35:21 +0800) ブートローダーを設定します。 zhipeng_3-1787647428751.pngzhipeng_3-1787647428751.pngzhipeng_3-1787647428751.pngzhipeng_3-1787647428751.pngzhipeng_3-1787647428751.png zhipeng_4-1787647490093.pngzhipeng_4-1787647490093.pngzhipeng_4-1787647490093.pngzhipeng_4-1787647490093.pngzhipeng_4-1787647490093.png zhipeng_5-1787647533346.pngzhipeng_5-1787647533346.pngzhipeng_5-1787647533346.pngzhipeng_5-1787647533346.pngzhipeng_5-1787647533346.png zhipeng_6-1787647547310.pngzhipeng_6-1787647547310.pngzhipeng_6-1787647547310.pngzhipeng_6-1787647547310.pngzhipeng_6-1787647547310.png S32Gブートイメージを生成する zhipeng_7-1787647657415.pngzhipeng_7-1787647657415.pngzhipeng_7-1787647657415.pngzhipeng_7-1787647657415.pngzhipeng_7-1787647657415.png bt_m7_blob.binを選択して、アドレス0x0に書き込みます。 fip.binを選択して、アドレス0x100000に書き込みます。 S32G274A_M7.binを選択して、アドレス0x200000に書き込みます。 zhipeng_8-1787647865193.pngzhipeng_8-1787647865193.pngzhipeng_8-1787647865193.pngzhipeng_8-1787647865193.pngzhipeng_8-1787647865193.png 現在、UARTもCANも応答していません。状況を分析するのを手伝ってください。 ありがとうございます。 回复: S32G2 Enabling Multicore Application こんにちは、ZhiPeng 情報提供ありがとうございます。 もっと詳しい情報を教えてもらえますか? 1. Aコア上でATFとubootのみを起動していますか? AコアのUARTに何らかの出力はありますか? 2. Mコア機能とは何ですか?UART/CAN関数のことですか? BR ジョーイ 回复: S32G2 Enabling Multicore Application こんにちは、 @Joey_z ご返信ありがとうございます。 1. はい、AコアではATFとu-bootのみが起動されました。UARTからの出力が全くありませんでした。 2. MコアはLLCE_CANおよびLpspiプログラムを実行し、「Can_Llce_DS_Loopback_S32G274A_M7」および「Lpspi_Ip_Transfer_S32G274A_M7」ルーチンを統合しました。最初はSPI通信を使用し、その後LLCE_CANを実行した。 さらにいくつか情報を付け加えたいと思います。 1.プロセス全体はAN13750に従って実行されましたが、いくつかの違いがあります。BSP42とS32DS3.5バージョンを使用し、IPCFルーチンをLLCE_CANに置き換え、M7_0のみを設定しました。 2. Yoctoを使ってBSP42をコンパイルし、.sdcardを作成しました。SDカードをインポートした後、Linuxを起動できました。 3. 私は「AN13750」に従ってBSP42のu-bootとATFをまとめました。4.Cortex-A53コアの画像を準備してください」セクション。.sdcardとfip.s32をSDカードに再インポートした後も、LinuxはSDモードで起動できました。しかし、ブートローダーとfip.binをnorflashにインポートしても、何も出力されませんでした。 4. M7コア用のUARTルーチンを別途Norflashに書き込み、Linuxを起動して出力できました。これは、焼き付けツールとノーフラッシュが正常であったことを証明した。 5. LLCE_CANプログラムをnorflashに別途書き込みました。プログラムは実行されず、CAN出力もありませんでした。 6.EBブートローダーを設定してA53を個別に起動しようと試みましたが、norflashを再書き込みしても何も出力されませんでした。 ありがとうございます。 回复: S32G2 Enabling Multicore Application こんにちは、志鵬 1.LLCE_CANがMコア上で動作していることは理解しています。このプログラムMコアのブートローダーの起動を個別にテストしてください。起動プロセス中は、Aコアイメージを読み込まないでください。 2. テストでは、ブートローダーはM7のUARTプログラムを起動できますが、LLCE_CANを起動できないのでしょうか? 3. ブートローダーを使ってA53だけを起動してみましたか? この問題のために中国語のシステムに新しいCASEを作成しました。CASE番号は01000969です。これはコミュニケーションを円滑にするだろう。 BR ジョーイ
查看全文
FS32K144UAT0VLLTとMC9S12P128は同じアナログ信号をサンプリングしますが、サンプリングされる値は異なります。 Robin_chen: マネージャー:こんにちは。質問を続けてもよろしいでしょうか? 旧基板にはNXP MC9S12P128、LQFP80マイクロコントローラが使用されていました。 外部アナログ信号(例えば、約4.2Vの入力)を使用します。回路図は以下のとおりです。100KΩの抵抗が5Vのプルアップ抵抗に接続され、さらに10KΩの抵抗が直列に接続されています。信号はNXP MC9S12P128の55番ピン(PAD04)でサンプリングされます。PAD04(C9とR9の接続点)の電圧値は4.2Vと測定され、サンプリングが正しいことが確認されました。 新しい基板では、MC9S12P128マイクロコントローラがFS32K144UAT0VLLTとLQFP100に置き換えられています。ADサンプリングはピン48、PTB2/ADC0_SE6に接続されています。しかし、PAD04(C9とR9の接続点)の電圧値は3.1Vしかありません。マルチメータで測定した場合も同じ値です。なぜ2つのマイクロコントローラ間でこれほど大きな差が生じるのでしょうか? FS32K144UAT0VLLTは既にADチャネルが設定されており、合計9つのADC0チャネルが使用されています。他のチャネルは正常に動作しています。他に正しく設定する必要がある項目はありますか? よろしくお願いいたします。 WeChat image_2026-08-28_171239_788.png
查看全文
SDK示例闪存和LWIP硬故障 你好, 当我将两个 SDK 示例“frdmimxrt1186_lwip_ipv4_ipv6_echo_freertos_cm33”和“frdmimxrt1186_flexspi_nor_polling_transfer_cm33”组合在一起时,执行函数“FLEXSPI_SoftwareReset(base);”后最终导致硬故障。我还注意到“基址”0x445E0000 发生了变化。我使用的是 FRDM-RT1186 EVA 套件。造成这种情况的原因可能是什么? 我使用的是 MCUXpressoIDE_25.6.136。 感谢您的反馈。 Re: SDK example flash and LWIP hard-fault 嗨,Pablo, 感谢您与我联系。 我使用的是 SDK 26.03.00 (928 2026-03 , 清单版本 3.15.0 )。 我以“frdmimxrt1186_lwip_ipv4_ipv6_echo_freertos_cm33”开始。 这种情况经常发生,没有特定条件。 我从示例“frdmimxrt1186_flexspi_nor_polling_transfer_cm33”中导入文件; board/hardware_init_Flash.c drivers/fsl_flexspi.c drivers/fsl_flexspi.h source/appFlash/flexspi_nor_flash_ops.c source/appFlash/flexspi_nor_polling_transfer.c board/app.h// 这包含 app.h source/lwip_ipv4_ipv6_echo_freertos.c // 这包含两个函数调用: int main(void) { BOARD_InitHardware(); BOARD_InitHardware_Flash(); main_Flash(); void BOARD_InitHardware_Flash(void) { BOARD_CommonSetting(); // BOARD_ConfigMPU(); // bord.c= identisch mit Lwip prj // BOARD_InitBootPins(); // pin_mux.c"" BOARD_InitFLASHPins(); // BOARD_InitBootClocks(); // clock_config.c"" // BOARD_InitDebugConsole(); // board.c"" } int main_Flash(void) { uint32_t i = 0; status_t status; uint8_t vendorID = 0; // BOARD_InitHardware_Flash(); ... 返回 1; /* 当(1) { } */ } 我想就是这样了。 提前谢谢您。 格尔德 Re: SDK example flash and LWIP hard-fault 嗨@GerdMartin , 请问您能否详细说明一下您是如何将这两个 SDK 示例结合起来的? 做了哪些改动? 你以哪个例子作为出发点? 您目前使用的是哪个SDK版本? 另外,您提到在执行 FLEXSPI_SoftwareReset(base) 后最终会发生硬故障。每次调用该函数时都会发生这种情况,还是只在特定条件下才会发生? 此致, 巴勃罗 Re: SDK example flash and LWIP hard-fault 嗨,Pablo,我想知道你是否了解我的问题。 非常感谢 格尔德 Re: SDK example flash and LWIP hard-fault 您好,我有一个更新。我忘记从示例 flexspi 中复制文件夹 linkscript 了。现在,我遇到了另一个硬故障初始化 lwip,但 flexspi 初始化工作正常。 格尔德 Re: SDK example flash and LWIP hard-fault 您好,我用 SDK 中的另一个示例 (lwip_dhcp) 和 flexSpi 进行了测试,但我仍然遇到了随机硬故障。所以,我的项目遇到了问题。如果还有其他方法可以将大约 1 KB 的数据存储到闪存中,请告诉我。 非常感谢格尔德 Re: SDK example flash and LWIP hard-fault 嗨@GerdMartin , 我成功重现了该行为,经过一些测试后,我观察到以下情况: 在你合并的前两个示例中,flexspi_nor_polling_transfer_cm33 会擦除和写入内存区域。默认情况下,此示例使用的区域是组合项目图像的一部分。 我们可以计算出示例访问的扇区。在这个例子中,使用了扇区 20,扇区大小为 4k。 因此,FlexSPI 示例修改了以下地址: 20 × 4k + FlexSPI2_AMBA_BASE = 0x4014000 如果我们检查调用 main_FLASH() 前后的内存内容,可以看到项目映像的一部分被覆盖了。 Pablo_Ramos_0-1787777815010.pngPablo_Ramos_0-1787777815010.pngPablo_Ramos_0-1787777815010.png Pablo_Ramos_1-1787777823697.pngPablo_Ramos_1-1787777823697.pngPablo_Ramos_1-1787777823697.png 能否修改 FlexSPI 示例使用的内存区域,使其不与项目映像重叠? 做出此项更改后,问题是否仍然存在? 此致, 巴勃罗 Re: SDK example flash and LWIP hard-fault 谢谢,就这些了。我已将 EXAMPLE_SECTOR 的定义从 20 修改为一个值,但结果偏移量在我的代码中并不存在。现在,我可以继续了。 格尔德
查看全文
在 Linux 系统上安装适用于 ARM 2.2 的 S32 DS 后,S32K1xx SDK 不可用。 我在Windows系统下使用S32DS已经有一段时间了,用起来很顺手。我最近在 Ubuntu Linux 20.04 上安装了适用于 ARM 2.2 的 S32 DS。为此,我完成了《S32 Design Studio for ARM 2.2 安装指南》中列出的所有先决条件,然后执行了 S32DS_ARM_Linux_v2.2.bin 文件。安装过程很顺利,S32DS 可以正常运行。 首次运行S32DS后,系统提示我安装S32DS扩展和更新中的几个项目,我照做了。然后我执行了帮助菜单中的“检查更新”选项,系统提示我升级几个项目。重启S32DS后,我在“帮助”菜单中运行了“安装新软件...”复选框,并选择了“所有来源”。最终,我收到了一份项目清单,其中有几项显示需要更新。 我附上了一些文件,展示我完成所有升级后的结果。 我的问题是,尽管SDK出现在软件包/功能列表中,但它似乎并未激活/启用。例如: 1.当我选择“新建”和“S32DS应用程序项目”时,我选择了S32K148目标平台和“ARM裸机32位目标二进制工具链”。然后,我点击 SDK 的“...”选项,却只看到 FreeMaster_S32xx 和 S32K14x_AMMCLIB 选项。 2. 当我选择“新建”和“从示例中创建 S32DS 项目”时,我没有看到任何 SDK 示例项目。 3. “显示视图”下没有“处理器专家”菜单选项,也没有“处理器专家”选项。 我需要做什么才能“启用”S32K1xx SDK? Re: S32K1xx SDK Not Available after S32 DS for ARM 2.2 Installed on Linux 在 S32DS 3.6.10 中仍然无法正常工作。我尝试了很多变通方法(例如直接通过 Eclipse 安装 RTD;修改区分大小写等)。 为了让这个程序能在 S32K142 上运行,我希望能够轻松地设置我的外设/HAL,类似于 CubeMX 为 ST 所做的那样。 真是浪费时间,而且到现在还没人提供任何相关信息。 Re: S32K1xx SDK Not Available after S32 DS for ARM 2.2 Installed on Linux 如此重大的限制应该在S32DS文档的各个角落用粗体字标明。这完全不可接受,并造成了大量时间的浪费。 Re: S32K1xx SDK Not Available after S32 DS for ARM 2.2 Installed on Linux 嗯,这一点没有得到妥善记录。当前 SDK 和 RTD 软件包在 Linux 系统中不受支持。这个问题之前在社区里讨论过好几次了。例如: https://community.nxp.com/t5/S32-Design-Studio/S32K3-SDK-Re-Attach-RTD-SDK-from-command-line/mp/1463363/highlight/true#M8614 我听说有计划在 Linux 中支持 RTD,目前看来它将在 S32 Design Studio 3.6 的下一个版本中提供。 问候, 卢卡斯 Re: S32K1xx SDK Not Available after S32 DS for ARM 2.2 Installed on Linux 嗨,卢卡斯, 哇,这真是个惊人的说法!如果 SDK 不支持 Linux,那么 Linux 实际上就不是 S32DS 的支持目标平台。 1. 这适用于所有版本的S32DS,还是仅适用于2.2版本? 2. 这个限制是否有任何相关文档记录? 3. 要在 Linux 上构建,我想可以复制 SDK 源文件并将其作为项目的一部分。恩智浦是否为这一过程提供任何指导? Re: S32K1xx SDK Not Available after S32 DS for ARM 2.2 Installed on Linux 嗨@tsweaver 遗憾的是,该 SDK 不支持 Linux 主机。唯一的选择是使用Windows系统。 此致, Lukas Re: S32K1xx SDK Not Available after S32 DS for ARM 2.2 Installed on Linux 为什么是 S32K1xx SDK 3.0.0安装 S32DS .2.2 时没有安装?我需要怎么做才能得到它? 我通过这个链接安装了S32DS: 适用于 Linux 系统的 S32 Design Studio for ARM 2.2 安装 910.4 MB S32DS_ARM_Linux_v2.2.bin Re: S32K1xx SDK Not Available after S32 DS for ARM 2.2 Installed on Linux 我还要补充一点,SDK 实际并不存在于软件文件夹中。在Windows系统上,我认为安装S32DS时就会同时安装SDK。显然,Linux 系统并非如此,或者是我没有使用正确的安装程序。谢谢你的帮助。 trent@Ubuntu20:~/NXP/S32DS_ARM_v2.2/S32DS/software$ls -l 总共20 drwxrwxr-x 5 trent trent 4096 3月19日 13:12 AMMCLIB_v1.1.18 drwxrwxr-x 5 trent trent 4096 3月 19日 13:12 AMMCLIB_v1.1.19 drwxrwxr-x 5 trent trent 4096 3月19日 13:12 AMMCLIB_v1.1.20 drwxrwxr-x 8 trent trent 4096 3月 19 13:12 FreeMASTER_Serial_Communication_Driver_V2_0 drwxrwxr-x 7 trent trent 4096 3月19日 13:12 Sample_Drivers_for_KEAxxx_Evaluation_grade trent@Ubuntu20:~/NXP/S32DS_ARM_v2.2/S32DS/software$ Re: S32K1xx SDK Not Available after S32 DS for ARM 2.2 Installed on Linux 更新:现在在 Windows 11 虚拟机中尝试,问题依旧。 我已在 C:\NXP 目录下安装了以下软件: SW32K1_S32M24x_RTD_R21-11_3.0.0 SW32K1_S32M24x_RTD_R21-11_3.0.0_QLP07 S32_SDK_S32K1xx_RTM_4.0.2 S32DS.3.6.10 在 S32DS\software\ 中: PlatformSDK_S32K1_S32M24 但是,在创建项目时尝试选择 SDK 时,仍然没有任何内容显示。这非常令人恼火;为什么要提供一款后续需要大量额外代码包,软件包的软件,而且这些代码包,软件包都需要版本兼容,并且很难找到? S32DS扩展管理器显示所有内容均已正确安装(包括RTD)。 Re: S32K1xx SDK Not Available after S32 DS for ARM 2.2 Installed on Linux 我发现最新的 RTD 软件包不支持 GCC 11.4(最新版本)。不得不切换到 10.2 版本。此外,RTD 无法创建 C++ 项目。真丢脸。 遗憾的是,版本匹配方面完全没有任何透明度,没有任何提示,什么都没有。或许藏在版本说明的某个地方(不过话说回来,谁会去看那些东西呢……)。 这方面肯定还有改进的空间。也就是说,不要要求用户下载版本兼容性未知的外部软件包并手动安装,而是使用您显然投入了相当多时间开发的集成扩展管理器?
查看全文
LX2160AのJTAG(CCS)接続が失敗する LX2160Aに対し、DDR toolの使用を考えていますが、Connectができません。 原因はCCSより、JTAGの接続が確認できないことだと思います。 IDcodeの確認結果を添付します。 KAZU_ISHI_0-1786615924736.pngKAZU_ISHI_0-1786615924736.pngKAZU_ISHI_0-1786615924736.pngKAZU_ISHI_0-1786615924736.pngKAZU_ISHI_0-1786615924736.pngKAZU_ISHI_0-1786615924736.pngKAZU_ISHI_0-1786615924736.pngKAZU_ISHI_0-1786615924736.pngKAZU_ISHI_0-1786615924736.pngKAZU_ISHI_0-1786615924736.pngKAZU_ISHI_0-1786615924736.pngKAZU_ISHI_0-1786615924736.pngKAZU_ISHI_0-1786615924736.png 少し前に接続を試した際はJTAGからの接続が確認できましたが、ファイルが破損してしまったことと、細かくリビジョンを管理しておらず復元できておりません。 check for Updateより、インターネットからダウンロードを実施するとファイルが破損するケースが存在することを把握しておらず、現在ソフトウェアの状態を一致させることができないでいます。 一度接続できたため、ソフトウェアの問題かと思いますが、解決方法をご存じでしたらご教授願います。 以上よろしくお願いいたします。 Re: LX2160AのJTAG(CCS)接続が失敗する まずCW_ARMv8_v2020.06_b200629GA_Win_Offline.exeをインストールし、その後CodeWarrior IDEを開き、Help->Install New Software->Add->Archiveからサービスパックcom.freescale.armv8.11.5.12.GA.Win.updatesite.221209.zipをインストールしてください。 問題が解決しない場合は、エラー画面のスクリーンショットをご提供ください。 Re: LX2160AのJTAG(CCS)接続が失敗する 最新版のCodeWarrior for ARMv8 11.5.12がインストールされているかどうか確認してください。 CodeWarrior IDEを開き、QorIQ LSシリーズ(ARM V8 ISA)のHelp->About CodeWarrior Development Studioのバージョンを確認してください。 既にこのバージョンのCodeWarriorをインストールしている場合は、CodeWarrior TAPからUSBケーブルを抜き、再度差し込んでください。 Re: LX2160AのJTAG(CCS)接続が失敗する ご返信ありがとうございます。 現在使用しているCodeWarriorのバージョン情報は以下の通りです。 CodeWarrior Development Studio for QorIQ LS series - ARM V8 ISA Version: 11.5.0 Build Id: 200629GA ご連絡いただいた最新バージョンと比較すると、私の環境は古いバージョンのようです。 ちなみに、「Install New Software」→「Add」→「Archive」から 「com.freescale.armv8.11.5.12.GA.Win.updatesite.221209.zip」を選択した場合、どの項目をインストールすればよいでしょうか。 「Select All」を選択すると、エラーが発生し、インストールが成功しません。 Re: LX2160AのJTAG(CCS)接続が失敗する ご返信ありがとうございます。 「CodeWarrior for ARMv8 v11.5.0 b200629 Windows Offline Installer」からインストールを実行しました。 その後、CodeWarrior IDEで、Help → Install New Software → Add → Archive から com.freescale.armv8.11.5.12.GA.Win.updatesite.221209.zip を指定して更新を試みましたが、インストール中にエラーが発生します。 エラーメッセージは以下の通りです KAZU_ISHI_0-1786959225115.pngKAZU_ISHI_0-1786959225115.pngKAZU_ISHI_0-1786959225115.pngKAZU_ISHI_0-1786959225115.pngKAZU_ISHI_0-1786959225115.pngKAZU_ISHI_0-1786959225115.pngKAZU_ISHI_0-1786959225115.pngKAZU_ISHI_0-1786959225115.pngKAZU_ISHI_0-1786959225115.pngKAZU_ISHI_0-1786959225115.png An error occurred while installing the items session context was:(profile=epp.package.cpp, phase=org.eclipse.equinox.internal.p2.engine.phases.Install, operand=[R]com.freescale.core.debugger.fsl_gdb 13.0.0.202003111126 --> [R]com.freescale.core.debugger.fsl_gdb 14.0.0.202204131357, action=com.freescale.updater.customactions.actions.FreescaleProcessCheck). NLS missing message: param_not_set in: com.freescale.updater.customactions.Messages 対処方法についてご教示いただけますでしょうか? 以上よろしくお願いいたします。 Re: LX2160AのJTAG(CCS)接続が失敗する 以下のリンクからインストールファイルをダウンロードし、CodeWarrior for ARMv8 11.5.12を再インストールしてください。 https://support.nxp.com/s/case/500Te00000eeSJXIA2/community-lx2160a%E3%81%AEjtagccs%E6%8E%A5%E7%B6%9A%E3%81%8C%E5%A4%B1%E6%95%97%E3%81%99%E3%82%8B?language=en_US Re: LX2160AのJTAG(CCS)接続が失敗する Windows 10にCodeWarrior for ARMv8をインストールしようとしていますか? まず、CodeWarriorのインストールファイルをすべて削除してください。 私のtarボールからCW_ARMv8_v2020.06_b200629GA_Win_Offline.exeをインストールしてください。 その後、 新しいワークスペースでCodeWarrior IDEを開き、Help->Install New Software->Add->Archiveからサービスパックcom.freescale.armv8.11.5.12.GA.Win.updatesite.221209.zipをインストールします。 Re: LX2160AのJTAG(CCS)接続が失敗する 1. CodeWarriorのインストールフォルダを削除してください。 2. 元のインストールファイルは使用しないでください。.exe を両方とも使用してください。私のダウンロードリンクからzipファイルをダウンロードしてください。 3. exeファイルのインストール後、新しいワークスペースでCodeWarrior IDEを開き、zipサービスパッケージをインストールしてください。 Re: LX2160AのJTAG(CCS)接続が失敗する 再開まで今しばらくお待ちください。 ご依頼どおり、ご提供いただいたダウンロードリンクを使用して、CodeWarrior for ARMv8 11.5.12の再インストールを試みました。しかし、アップデートパッケージのインストール中にエラーが発生しました。 ダウンロードリンクのページにエラーの詳細をすでに返信していますので、ぜひ確認していただけますか? この問題の原因が何か心当たりはありますか? このマターの解決に向けて引き続きご支援いただけるとありがたいです。 このメッセージは機械翻訳によって翻訳されました。 Re: LX2160AのJTAG(CCS)接続が失敗する 「作業対象」で「ローカルサイトのみ」を選択されていますが、これも誤りです。何も選択せず、空欄のままにしてください。次に「追加」→「アーカイブ」>、サービスパッケージの場所を指定します。 以下のスクリーンショットをご参照ください。 yipingwang_0-1787913595385.pngyipingwang_0-1787913595385.pngyipingwang_0-1787913595385.pngyipingwang_0-1787913595385.pngyipingwang_0-1787913595385.png Re: LX2160AのJTAG(CCS)接続が失敗する 再開まで今しばらくお待ちください。 ご提示いただいた手順に従って、以下の手順を実行しました。 CodeWarriorのインストール全体(サービスパックだけでなく)を完全にアンインストールしました。 以下のキャッシュフォルダを削除しました: C:\Users\ \.p2 C:\Users\ \.p2\org.eclipse.equinox.p2 CodeWarriorを再インストールしました。 ヘルプ→新しいソフトウェアをインストールする→アーカイブを追加→ファイルcom.freescale.armv8.11.5.12.GA.Win.updatesite.221209.zip指定しました。 アーカイブを追加した後、サービスパックが提供するプラグインのインストールと更新操作の両方を「新しいソフトウェアのインストール」を試みました。 その結果、サービスパックに含まれるプラグインのほとんどが正常にダウンロードされ、インストールされました。しかし、添付のスクリーンショットに示されたプラグインはインストールや更新の過程で失敗し、更新できませんでした。 KAZU_ISHI_0-1787912782459.pngKAZU_ISHI_0-1787912782459.pngKAZU_ISHI_0-1787912782459.pngKAZU_ISHI_0-1787912782459.png よろしくお願いいたします。 Re: LX2160AのJTAG(CCS)接続が失敗する ヘルプ ->インストール新ソフトウェア->Add->アーカイブ)からサービスパックcom.freescale.armv8.11.5.12.GA.Win.updatesite.221209.zipをインストールしてください。 「利用可能なソフトウェアサイト」からではない キャッシュフォルダも削除してください。 C:\Users\ \.p2 または C:\Users\ \.p2\org.eclipse.equinox.p2.* Re: LX2160AのJTAG(CCS)接続が失敗する ご返信よろしくお願いします。 ダウンロードしたファイルが破損している可能性があると考え、再度ダウンロードして、以下のようにアップデートを試みました。 利用可能なソフトウェアサイトでは、以下を選びました: アーカイブ→追加→ com.freescale.armv8.11.5.12.GA.Win.updatesite.221209.zip 解凍されたダウンロードパッケージから。 その後、「CodeWarrior Updates」がリストに追加され、このアップデートサイトだけを有効にしました。 調査を簡略化するため、次に「利用可能な更新プログラム」を使用し、リストの上から順に更新プログラムを一つずつインストールしました。以下のアップデートはエラーにより失敗しました。 エラーメッセージは以下のとおりです。 • CodeWarrior Debugger GTA 14.0.0.202212090959 アイテムのインストール中にエラーが発生しました。 セッションの文脈は以下の通りです: (profile=epp.package.cpp、 phase=org.eclipse.equinox.internal.p2.engine.phases.Install、 operand=[R]com.freescale.core.debugger.gta 14.0.0.202006241928 --> [R]com.freescale.core.debugger.gta 14.0.0.202212090959, action=com.freescale.updater.customactions.actions.FreescaleProcessCheck) NLS 欠落メッセージ: param_not_set in: com.freescale.updater.customactions.Messages •NXP GDB 14.0.0.202204131357 アイテムのインストール中にエラーが発生しました。 セッションの文脈は以下の通りです: (profile=epp.package.cpp、 phase=org.eclipse.equinox.internal.p2.engine.phases.Install、 operand=[R]com.freescale.core.debugger.fsl_gdb13.0.0.202003111126 --> [R]com.freescale.core.debugger.fsl_gdb14.0.0.202204131357、 action=com.freescale.updater.customactions.actions.FreescaleProcessCheck) NLS 欠落メッセージ: param_not_set in: com.freescale.updater.customactions.Messages • QorIQ構成および検証スイート - 共通レイアウト 4.24.0.FSL20221019_2247 アイテムのインストール中にエラーが発生しました。 セッションの文脈は以下の通りです: (profile=epp.package.cpp、 phase=org.eclipse.equinox.internal.p2.engine.phases.Install、 operand=null --> [R]com.freescale.cw.qcvs.feature_root4.24.0.FSL20221019_2247、 action=com.freescale.updater.customactions.actions.FreescaleProcessCheck) NLS 欠落メッセージ: param_not_set in: com.freescale.updater.customactions.Messages CodeWarrior Core IDE 14.0.0.202212091004およびCodeWarrior Debugger 14.0.0.202212091004はテストしていません。これらのパッケージには上記のソフトウェアが含まれているようです。 その他のアップデートはすべて問題なく正常にインストールされました。 追加の検証ステップとして、「新しいソフトウェアをインストールする」で利用可能なソフトウェアパッケージをインストールしてみます。個別のアップデートパッケージのテスト結果はすでに上記で示されています。 これらのエラーの原因や、それに関連する既知の問題について何か情報をお持ちでしたら、ぜひご教示いただければ幸いです。 ご協力ありがとうございました。 このメッセージは機械翻訳によって翻訳されました。
查看全文
S9KEAZN64AMLH FIT値の確認 本プロジェクトでは、MCU S9KEAZN64AMLHを選定しました。車両メーカーは、下図に示すようなチップの適合パラメータを必要とします。ご確認の上、ご返信をお願いいたします。サポートありがとうございます。 mengfanpeng_0-1787884740955.png Re: Confirmation of S9KEAZN64AMLH FIT value こんにちは、 @mengfanpeng さん、 投稿ありがとうございます。 この情報は、公共の場で共有するのに適していません。後ほど、プライベートメールでお送りします。 BR セレステ
查看全文
S32K144EVB-Q100 NXP様、 現在、TCUのアプリケーションにはS12XET256コントローラを使用しています。私たちはS32K144でS12Xコントローラのアップグレードの可能性を探っています。コントローラーはMBDTに対応していることが理解されています。 モデルベースの設計ツールボックスとワークフローの両方を学ぶためにEVBを購入する予定です。デバッグやデータのスニッフ、EVBを使うプロジェクトなどの他のインターフェースコンポーネントについて、さらに詳しく教えてもらえますか? また、ブロックがピンの設定やソフトウェアの構築、ECU内でのフラッシュに使えるのか、それともプロセッサ・イン・ループ(PIL)シミュレーション専用なのかも重要です。 よろしくお願いいたします。 アルンチャンダル・M. Re: S32K144EVB-Q100 こんにちは、 @Arunchandar さん。 利用可能なボードは2種類あります。 S32K144EVB-Q100 - NXP UJA1169 SBC、オンボードのOpenSDAデバッガ、JTAG/SWDポート、CANおよびLINコネクティビティを搭載。 FRDM-A-S32K144 - NXP FS23 SBCを搭載し、CANおよびLINコネクティビティ、USB Type-C電源供給、オンボードのOpenSDAデバッガ、JTAG/SWDポートを備えた新しいFRDMボードです。 データスニッフィングとランタイムモニタリングには、 FreeMASTERが主要なツールとして用いられます。MBDTに組み込まれており、Simulinkブロックから直接設定できます。 MBDTは、シミュレーションに限らず、完全なスタンドアロン型のコード生成およびデプロイメントツールチェーンです。 MBDTやFreeMASTERのサポートについては、専用コミュニティをご利用ください: MBDT: https://community.nxp.com/t5/Model-Based-Design-Toolbox-MBDT/bd-p/mbdt FreeMASTER: https://community.nxp.com/t5/FreeMASTER/bd-p/freemaster   よろしくお願いいたします。 ダニエル Re: S32K144EVB-Q100 こんにちは、 @danielmartynek さん、 詳細を教えていただきありがとうございます。評価ボード(S32K144EVB-Q100)はやや古いものの、多くのプロジェクト成果物が利用可能です。 この評価ボードを選ぶ場合、コードを起動したりデバッグしたりフラッシュしたりするためにインターフェースハードウェアは必要でしょうか? よろしくお願いいたします。 アルンチャンダル・M. Re: S32K144EVB-Q100 こんにちは、 @Arunchandar さん。 両ボードは同じMCUを共有しており、主な違いはSBCです。ですので、どのSBCを使うかにもよります。 古いS32K144EVBはマイクロUSB経由で5Vで電源を供給できますが、LINが必要な場合は12Vの外部電源(J107の位置変更)が必要です。マイクロUSBは搭載デバッガ(PE Micro OpenSDA)にも接続されているため、外部のデバッグやフラッシュプローブは不要です。 よろしくお願いいたします。 ダニエル
查看全文
S32G2 启用多核应用程序 各位恩智浦的同事们,大家好: 我们准备在 S32G274A 芯片中使用多核来运行程序,使用 A53 运行 Linux,使用 M7 运行 LLCE_CAN。 根据 5.2,我们参考了“使用 S32G2 平台软件集成在 S32G2 上启用多核应用程序”。配置引导加载程序,安装推荐的软件包,并按照步骤进行配置。 zhipeng_7-1786181958976.pngzhipeng_7-1786181958976.pngzhipeng_7-1786181958976.pngzhipeng_7-1786181958976.pngzhipeng_7-1786181958976.png 5.3 中有错误。在编译过程中构建引导加载程序。 launch.bat 文件已被编辑。 zhipeng_0-1786182860528.pngzhipeng_0-1786182860528.pngzhipeng_0-1786182860528.pngzhipeng_0-1786182860528.pngzhipeng_0-1786182860528.png 运行 launch.bat 后发生错误。 zhipeng_0-1786180508617.pngzhipeng_0-1786180508617.pngzhipeng_0-1786180508617.pngzhipeng_0-1786180508617.pngzhipeng_0-1786180508617.png 在注释掉相关代码之后。 zhipeng_5-1786181360466.pngzhipeng_5-1786181360466.pngzhipeng_5-1786181360466.pngzhipeng_5-1786181360466.pngzhipeng_5-1786181360466.png zhipeng_2-1786180921774.pngzhipeng_2-1786180921774.pngzhipeng_2-1786180921774.pngzhipeng_2-1786180921774.pngzhipeng_2-1786180921774.png 我找到了 CryptoDal.h安装目录中的文件。 zhipeng_4-1786181305215.pngzhipeng_4-1786181305215.pngzhipeng_4-1786181305215.pngzhipeng_4-1786181305215.pngzhipeng_4-1786181305215.png zhipeng_6-1786181450684.pngzhipeng_6-1786181450684.pngzhipeng_6-1786181450684.pngzhipeng_6-1786181450684.pngzhipeng_6-1786181450684.png 哪里可能会出错? 谢谢。 Re: S32G2 Enabling Multicore Application 嗨,志鹏 对于您的问题,如果添加以下内容,是否会出现错误?注释掉这段代码不会导致错误吗? Joey_z_0-1786328574726.pngJoey_z_0-1786328574726.pngJoey_z_0-1786328574726.pngJoey_z_0-1786328574726.pngJoey_z_0-1786328574726.png BR 乔伊 Re: S32G2 Enabling Multicore Application 嗨, @Joey_z 是的,添加后,第三张图片上会显示“未声明”。 注释掉该行后,第五张图片将显示“没有该文件或目录”。 zhipeng_1-1786347067301.pngzhipeng_1-1786347067301.pngzhipeng_1-1786347067301.pngzhipeng_1-1786347067301.pngzhipeng_1-1786347067301.png “CryptoDal.h”位于 D:\NXP\Integration_Reference_Examples_S32G2_2022_06\code\framework\realtime\bsw\dal\cryptodal\generic\include “Hse_Ip.h”位于 D:\NXP\SW32G_RTD_4.4_3.0.2_HF01\eclipse\plugins\Crypto_TS_T40D11M30I2R0\include 目录下。 我在各自的文件夹中找到了这两个文件,并且 launch.bat 中也写入了文件路径。 目前的问题似乎是编译过程中没有包含插件路径。 BR Re: S32G2 Enabling Multicore Application 嗨,志鹏 配置中是否启用了安全启动?尝试启用安全启动,看看问题是否会消失。 Joey_z_2-1786353784256.pngJoey_z_2-1786353784256.pngJoey_z_2-1786353784256.pngJoey_z_2-1786353784256.pngJoey_z_2-1786353784256.png BR 乔伊 回复: S32G2 Enabling Multicore Application 嗨,志鹏 谢谢你提供的信息。 您能提供更多信息吗? 1.您是否只在A核上启动ATF和uboot?A核的UART有任何输出吗? 2.M核心功能是什么?是关于UART/CAN功能吗? BR 乔伊 回复: S32G2 Enabling Multicore Application 嗨, @Joey_z 之前的引导加载程序编译成功。现在,我已经将镜像写入 或非 闪存,启动后,UART 上没有任何输出。 我指的是 AN13750。以下是我的操作步骤: 我按照“S32G2_LinuxBSP_42.0_User_Manual.pdf”中的说明操作,并在 Ubuntu 20 中安装了 u-boot bsp42.0-2022.04 和 ATF bsp42.0-2.10。 我修改了 s32_mmc.c以及根据 0001-fip-align-and-mmc-init.patch 的 s32_common.mk。 zhipeng_0-1787646642108.pngzhipeng_0-1787646642108.pngzhipeng_0-1787646642108.png志鹏_0-1787646642108.png zhipeng_1-1787646670172.pngzhipeng_1-1787646670172.pngzhipeng_1-1787646670172.png志鹏_1-1787646670172.png zhipeng_2-1787646683855.pngzhipeng_2-1787646683855.pngzhipeng_2-1787646683855.png志鹏_2-1787646683855.png 我编译了 u-boot 和 ATF。 make CROSS_COMPILE=/opt/S32G/arm-gnu-toolchain-11.3.rel1-x86_64-aarch64-none-linux-gnu/bin/aarch64-none-linux-gnu- ARCH=aarch64 PLAT=s32g274ardb2 BL33=../u-boot/u-boot-nodtb.bin Image Layout DCD: Offset: 0x200 Size: 0x1c IVT: Offset: 0x1000 Size: 0x100 AppBootCode Header: Offset: 0x1200 Size: 0x40 Application: Offset: 0x1240 Size: 0x33e00 Boot Core: A53_0 IVT Location: SD/eMMC Load address: 0x342f8f00 Entry point: 0x34302000 我将 fip.s32 写入了 SD 卡。更换 fip 后,SD 卡仍然能够启动,并且 u-boot 的日期发生了变化。 U-Boot 2022.04-00213-g5a6f62071f (Aug 24 2026 - 10:35:21 +0800) 配置引导加载程序。 zhipeng_3-1787647428751.pngzhipeng_3-1787647428751.pngzhipeng_3-1787647428751.png志鹏_3-1787647428751.png zhipeng_4-1787647490093.pngzhipeng_4-1787647490093.pngzhipeng_4-1787647490093.png志鹏_4-1787647490093.png zhipeng_5-1787647533346.pngzhipeng_5-1787647533346.pngzhipeng_5-1787647533346.png志鹏_5-1787647533346.png zhipeng_6-1787647547310.pngzhipeng_6-1787647547310.pngzhipeng_6-1787647547310.png志鹏_6-1787647547310.png 生成 S32G 启动映像 zhipeng_7-1787647657415.pngzhipeng_7-1787647657415.pngzhipeng_7-1787647657415.png志鹏_7-1787647657415.png 选择 bt_m7_blob.bin 并将其写入地址 0x0。 选择 fip.bin 并将其写入地址 0x100000。 选择 S32G274A_M7.bin 并将其写入地址 0x200000。 zhipeng_8-1787647865193.pngzhipeng_8-1787647865193.pngzhipeng_8-1787647865193.png志鹏_8-1787647865193.png 现在UART和CAN都没有响应了。请帮我分析一下情况。 谢谢。 回复: S32G2 Enabling Multicore Application 嗨, @Joey_z 感谢您的回复。 1. 是的,A 核心上只启动了 ATF 和 u-boot。UART接口没有任何输出。 2. M 内核运行 LLCE_CAN 和 Lpspi 程序,集成了“Can_Llce_DS_Loopback_S32G274A_M7”和“Lpspi_Ip_Transfer_S32G274A_M7”例程。它首先使用 SPI 通信,然后运行 LLCE_CAN。 我想补充一些信息: 1.整个过程按照 AN13750 进行,只有一些不同之处:我使用了 BSP42 和 S32DS3.5 版本;我用 LLCE_CAN 替换了 IPCF 例程,并且只配置了 M7_0。 2. 我使用 Yocto 编译了 BSP42,并生成了 .sdcard。导入SD卡后,即可启动Linux系统。 3. 我按照“AN13750” 4. 为 Cortex-A53 内核准备镜像 部分编译了 BSP42 的 u-boot 和 ATF。将 .sdcard 和 fip.s32 重新导入 SD 卡后,Linux 仍然可以在 SD 模式下启动。但是,当将引导加载程序和 fip.bin 导入到 norflash 时,没有获得任何输出。 4. 我在 norflash 中单独烧录了 M7 内核的 UART 例程,Linux 可以启动并输出。这证明燃烧工具和诺弗拉什(Norflash)都是正常的。 5. 我将 LLCE_CAN 程序单独烧录到 norflash 中。程序没有运行,也没有CAN输出。 6.我尝试配置 EB 引导加载程序以单独启动 A53,但重新烧录 norflash 后仍然没有任何输出。 谢谢。 回复: S32G2 Enabling Multicore Application 嗨,志鹏 1.我了解到您的 LLCE_CAN 运行在 M 内核上。请独立测试该程序 M 核心的引导加载程序启动情况。启动过程中,不要加载 A 核心映像。 2. 在您的测试中,引导加载程序可以启动 M7 的 UART 程序,但无法启动 LLCE_CAN 程序吗? 3. 你有没有试过只使用引导加载程序启动 A53? 我已在系统中用中文为此问题创建了一个新案例,案例编号为:01000969。这将有助于沟通。 BR 乔伊
查看全文
LPSPIペリフェラルが95年 i.MX A55からM7に所有権を変更できますか?
查看全文
[S32DS 3.6.1]更新失败 无聊的 CY9_0-1787712759742.pngCY9_0-1787712759742.pngCY9_0-1787712759742.pngCY9_0-1787712759742.pngCY9_0-1787712759742.png 安装无法完成,因为找不到一个或多个必需项。 正在安装的软件:C/C++ 开发工具 12.5.0.202606022100(org.eclipse.cdt.feature.group 12.5.0.202606022100) 缺少依赖项:GDB Common 7.2.500.202603111352(org.eclipse.cdt.gdb 7.2.500.202603111352)需要 'osgi.bundle;org.eclipse.core.runtime [3.34.0,4.0.0)',但找不到。 无法满足依赖关系: 来自:C/C++ 开发工具 12.5.0.202606022100(org.eclipse.cdt.feature.group 12.5.0.202606022100) 收件人:org.eclipse.equinox.p2.iu;org.eclipse.cdt.gdb.feature.group [12.5.0.202603111352,12.5.0.202603111352] 无法满足依赖关系: 来自:C/C++ 通用 GDB 支持 12.5.0.202603111352(org.eclipse.cdt.gdb.feature.group 12.5.0.202603111352) 收件人:org.eclipse.equinox.p2.iu;org.eclipse.cdt.gdb [7.2.500.202603111352,7.2.500.202603111352] 安装无法完成,因为找不到一个或多个必需项。 正在安装的软件:远程服务 12.5.0.202603111352(org.eclipse.remote.feature.group 12.5.0.202603111352) 缺少依赖项:Eclipse 远程开发文档插件 12.5.0.202603111352(org.eclipse.remote.doc.isv 12.5.0.202603111352)需要 'osgi.bundle;org.eclipse.help [3.10.500,4.0.0)',但找不到。 无法满足依赖关系: 来自:远程服务 12.5.0.202603111352(org.eclipse.remote.feature.group 12.5.0.202603111352) 收件人:org.eclipse.equinox.p2.iu;org.eclipse.remote.doc.isv [12.5.0.202603111352,12.5.0.202603111352] 安装无法完成,因为找不到一个或多个必需项。 正在安装的软件:C/C++ 开发工具 12.5.0.202606022100(org.eclipse.cdt.feature.group 12.5.0.202606022100) 缺少依赖项:GDB Common 7.2.500.202603111352(org.eclipse.cdt.gdb 7.2.500.202603111352)需要 'osgi.bundle;org.eclipse.core.runtime [3.34.0,4.0.0)',但找不到。 无法满足依赖关系: 来自:C/C++ 开发工具 12.5.0.202606022100(org.eclipse.cdt.feature.group 12.5.0.202606022100) 收件人:org.eclipse.equinox.p2.iu;org.eclipse.cdt.gdb.feature.group [12.5.0.202603111352,12.5.0.202603111352] 无法满足依赖关系: 来自:C/C++ 通用 GDB 支持 12.5.0.202603111352(org.eclipse.cdt.gdb.feature.group 12.5.0.202603111352) 收件人:org.eclipse.equinox.p2.iu;org.eclipse.cdt.gdb [7.2.500.202603111352,7.2.500.202603111352] 安装无法完成,因为找不到一个或多个必需项。 正在安装的软件:C/C++ 开发平台 12.5.0.202606022100(org.eclipse.cdt.platform.feature.group 12.5.0.202606022100) 缺少依赖项:C/C++ 开发工具核心本地实用程序 6.6.200.202603111352(org.eclipse.cdt.core.native 6.6.200.202603111352)需要 'osgi.bundle;org.eclipse.core.runtime [3.34.0,4.0.0)',但找不到。 无法满足依赖关系: 来自:C/C++ 开发工具原生实用程序 12.5.0.202606022100(org.eclipse.cdt.native.feature.group 12.5.0.202606022100) 收件人:org.eclipse.equinox.p2.iu;org.eclipse.cdt.core.native [6.6.200.202603111352,6.6.200.202603111352] 无法满足依赖关系: 来自:C/C++开发平台 12.5.0.202606022100(org.eclipse.cdt.platform.feature.group 12.5.0.202606022100) 收件人:org.eclipse.equinox.p2.iu;org.eclipse.cdt.native.feature.group [12.5.0.202606022100,12.5.0.202606022100] 安装无法完成,因为找不到一个或多个必需项。 正在安装的软件:C/C++ GCC 交叉编译器支持 12.5.0.202603111352(org.eclipse.cdt.build.crossgcc.feature.group 12.5.0.202603111352) 缺少依赖项:CDT GCC 交叉编译器支持 1.3.800.202603111352(org.eclipse.cdt.build.crossgcc 1.3.800.202603111352)需要 'osgi.bundle;org.eclipse.core.runtime [3.34.0,4.0.0)',但找不到。 无法满足依赖关系: 来自:C/C++ GCC 交叉编译器支持 12.5.0.202603111352(org.eclipse.cdt.build.crossgcc.feature.group 12.5.0.202603111352) 收件人:org.eclipse.equinox.p2.iu;org.eclipse.cdt.build.crossgcc [1.3.800.202603111352,1.3.800.202603111352] 安装无法完成,因为找不到一个或多个必需项。 正在安装的软件:C/C++ 开发工具本地实用程序 12.5.0.202606022100(org.eclipse.cdt.native.feature.group 12.5.0.202606022100) 缺少依赖项:C/C++ 开发工具核心本地实用程序 6.6.200.202603111352(org.eclipse.cdt.core.native 6.6.200.202603111352)需要 'osgi.bundle;org.eclipse.core.runtime [3.34.0,4.0.0)',但找不到。 无法满足依赖关系: 来自:C/C++ 开发工具原生实用程序 12.5.0.202606022100(org.eclipse.cdt.native.feature.group 12.5.0.202606022100) 收件人:org.eclipse.equinox.p2.iu;org.eclipse.cdt.core.native [6.6.200.202603111352,6.6.200.202603111352] 安装无法完成,因为找不到一个或多个必需项。 正在安装的软件:C/C++ 通用 GDB 支持 12.5.0.202603111352(org.eclipse.cdt.gdb.feature.group 12.5.0.202603111352) 缺少依赖项:GDB Common 7.2.500.202603111352(org.eclipse.cdt.gdb 7.2.500.202603111352)需要 'osgi.bundle;org.eclipse.core.runtime [3.34.0,4.0.0)',但找不到。 无法满足依赖关系: 来自:C/C++ 通用 GDB 支持 12.5.0.202603111352(org.eclipse.cdt.gdb.feature.group 12.5.0.202603111352) 收件人:org.eclipse.equinox.p2.iu;org.eclipse.cdt.gdb [7.2.500.202603111352,7.2.500.202603111352] 安装无法完成,因为找不到一个或多个必需项。 正在安装的软件:C/C++ 内存视图增强功能 12.5.0.202603111352(org.eclipse.cdt.debug.ui.memory.feature.group 12.5.0.202603111352) 缺少依赖项:调试核心内存 0.2.300.202512020204(org.eclipse.cdt.debug.core.memory 0.2.300.202512020204)需要 'osgi.bundle;org.eclipse.core.runtime [3.34.0,4.0.0)',但找不到。 无法满足依赖关系: 来自:C/C++ 内存视图增强 12.5.0.202603111352(org.eclipse.cdt.debug.ui.memory.feature.group 12.5.0.202603111352) 收件人:org.eclipse.equinox.p2.iu;org.eclipse.cdt.debug.core.memory [0.2.300.202512020204,0.2.300.202512020204] 安装无法完成,因为找不到一个或多个必需项。 正在安装的软件:C/C++ GNU 工具链构建支持 12.5.0.202603111352(org.eclipse.cdt.gnu.版本.feature.group 12.5.0.202603111352) 缺少要求:GCC 对 CDT 版本核心 2.1.800.202512020204 的支持(org.eclipse.cdt.build.gcc.core 2.1.800.202512020204)需要 'osgi.bundle;org.eclipse.core.runtime [3.34.0,4.0.0)',但找不到。 无法满足依赖关系: 来自:C/C++ GNU 工具链版本支持 12.5.0.202603111352(org.eclipse.cdt.gnu.版本.feature.group 12.5.0.202603111352) 收件人:org.eclipse.equinox.p2.iu;org.eclipse.cdt.build.gcc.core [2.1.800.202512020204,2.1.800.202512020204] 安装无法完成,因为找不到一个或多个必需项。 正在安装的软件:C/C++ GDB 硬件调试 12.5.0.202603111352(org.eclipse.cdt.debug.gdbjtag.feature.group 12.5.0.202603111352) 缺少依赖项:Eclipse GDB 硬件调试核心插件 10.8.500.202512020204(org.eclipse.cdt.debug.gdbjtag.core 10.8.500.202512020204)需要 'osgi.bundle;org.eclipse.core.runtime [3.34.0,4.0.0)',但找不到。 无法满足依赖关系: 来源:C/C++ GDB 硬件调试 12.5.0.202603111352(org.eclipse.cdt.debug.gdbjtag.feature.group 12.5.0.202603111352) 收件人:org.eclipse.equinox.p2.iu;org.eclipse.cdt.debug.gdbjtag.core [10.8.500.202512020204,10.8.500.202512020204] 安装无法完成,因为找不到一个或多个必需项。 正在安装的软件:C/C++ GNU 工具链调试支持 12.5.0.202603111352(org.eclipse.cdt.gnu.debug.feature.group 12.5.0.202603111352) 缺少要求:C/C++ 开发工具启动支持 11.0.300.202603111352(org.eclipse.cdt.launch 11.0.300.202603111352)需要 'osgi.bundle;org.eclipse.ui.ide [3.22.600,4.0.0)',但找不到。 无法满足依赖关系: 来自:C/C++ GNU 工具链调试支持 12.5.0.202603111352(org.eclipse.cdt.gnu.debug.feature.group 12.5.0.202603111352) 收件人:org.eclipse.equinox.p2.iu;org.eclipse.cdt.launch [11.0.300.202603111352,11.0.300.202603111352] 安装无法完成,因为找不到一个或多个必需项。 正在安装的软件:C/C++ DSF GDB 调试器集成 12.5.0.202603111352(org.eclipse.cdt.gnu.dsf.feature.group 12.5.0.202603111352) 缺少依赖项:GDB DSF 调试器集成核心 7.3.100.202601271447(org.eclipse.cdt.dsf.gdb 7.3.100.202601271447)需要 'osgi.bundle;org.eclipse.core.runtime [3.34.0,4.0.0)',但找不到。 无法满足依赖关系: 来自:C/C++ DSF GDB 调试器集成 12.5.0.202603111352(org.eclipse.cdt.gnu.dsf.feature.group 12.5.0.202603111352) 收件人:org.eclipse.equinox.p2.iu;org.eclipse.cdt.dsf.gdb [7.3.100.202601271447,7.3.100.202601271447] CY9_1-1787712805898.pngCY9_1-1787712805898.pngCY9_1-1787712805898.pngCY9_1-1787712805898.pngCY9_1-1787712805898.png CY9_2-1787712826729.pngCY9_2-1787712826729.pngCY9_2-1787712826729.pngCY9_2-1787712826729.pngCY9_2-1787712826729.png 安装无法完成,因为找不到一个或多个必需项。 正在安装的软件:远程服务 12.5.0.202603111352(org.eclipse.remote.feature.group 12.5.0.202603111352) 缺少依赖项:Eclipse 远程开发文档插件 12.5.0.202603111352(org.eclipse.remote.doc.isv 12.5.0.202603111352)需要 'osgi.bundle;org.eclipse.help [3.10.500,4.0.0)',但找不到。 无法满足依赖关系: 来自:远程服务 12.5.0.202603111352(org.eclipse.remote.feature.group 12.5.0.202603111352) 收件人:org.eclipse.equinox.p2.iu;org.eclipse.remote.doc.isv [12.5.0.202603111352,12.5.0.202603111352] Re: [S32DS 3.6.1] Update Fail 你迟到了。 参考链接: https ://community.nxp.com/t5/S32K/S32DS-3-6-1-Example-Code-disappear/mp/2408504 我早就把这个垃圾东西删掉了。问题太多了。 不是v3.6.1,而是v3.6.10。 Re: [S32DS 3.6.1] Update Fail 你好@CY9 , 请问您尝试安装的是哪个软件包、更新站点、RTD 还是插件? 从错误日志中可以看出,您正在尝试安装 CDT 12.5.0,但是最新的 S32DS 版本支持 Eclipse 2023-12 框架、 CDT 11.4和 Java17。 您是否尝试过仅通过 S32DS 更新和扩展界面进行更新? Julin_AragnM_0-1787853046969.pngJulin_AragnM_0-1787853046969.pngJulin_AragnM_0-1787853046969.png 此致, 朱利安 Re: [S32DS 3.6.1] Update Fail 你好@CY9 , 如果 S32DS 和整体环境给您带来了太多问题,我深表歉意。从你的另一篇帖子来看,你似乎想使用RTM 4.0.2 ,但 S32DS 3.6.10不支持该版本。 正如我的同事 Robin 所建议的那样,您必须安装: S32 设计工作室 3.4 S32K1xx 服务包 1 这样,你应该就能看到 S32K1XX RTM 了。我使用的是 RTM 4.0.3: Julin_AragnM_0-1787933831435.pngJulin_AragnM_0-1787933831435.png 否则,如果您使用 S32DS 3.6.10,您必须使用实时驱动程序(RTD)。S32SDK 已被弃用,并被 RTD 软件包取代,该软件包还提供了低级 (IP) 和高级 (MCAL) 的示例和驱动程序。 对于安装 S32SDK 过程中给您带来的不便,我深表歉意。 此致, 朱利安
查看全文
蓝牙固件已通过 UART 接口接收,但控制器始终无法运行;EdgeFast 下载在 3M 处损坏。   我已向 u-blox 提交了一份相关/配套的支持工单,案例编号为: **CA-276115** (相同的硬件,模块供应商问题)。 以下问题与恩智浦半导体(NXP)的**IW416 ROM的固件认证行为**有关。 以及**NXP 自家参考板上的 EdgeFast 下载漏洞** 。每个数字都是 测量数据和完整日志已附上。 ## 1. 总结——两个不同的故障,请分开记录。 在**MIMXRT1170-EVKB Rev C3**中的**u-blox M2-MAYA-W161** (NXP **IW416** )上, BT HCI over LPUART2: **故障A——核心问题。**使用干净的115200波特率UART下载, 蓝牙固件**已完全下载并被接受** (ROM停止请求 数据(并且不会重新广播),然后控制器**永远不会传输** —— 在任何波特率下均无 HCI 响应。 **故障 B — EdgeFast/板错误。** NXP 的 EdgeFast 标准下载流程 下载过程中切换到**3,000,000波特率** ,链接**在**处损坏 此板上的开关**;下载永远不会完成。这与……无关 故障 A 仅在使用 NXP 软件时可重现。 >这些问题的根源不同。修复 B(3 Mbaud 损坏)不会 >问题 A(下载后的沉默)。我们分别询问这两个问题。 同一张卡上的 Wi-Fi (SDIO) 功能完全正常——枚举、站点、微型 AP, 吞吐量——因此该卡、其电源和其电平转换器都运行良好。 --- 2. 配置 | 项目 | 金额 | |---|---| | 芯片组/模块 | NXP **IW416**芯片组,采用 u-blox M2-MAYA-W161-00C-00 封装 | | 主机板 | MIMXRT1170-EVKB Rev C3,M.2 J54,LPUART2 | | SDK | MCUXpresso **v26.06.00-LTS** | | 蓝牙固件 | `uartIW416_bt.bin`**16.92.21.p155.2** ,FP92, `w8978` ,131,840 B | | 也测试了 | **16.92.21.p142.5** (FP91,来自`github.com/NXP/wifi_nb_fw@a91d9d6`,2025年 1 月) — 结果相同 | | 模块选择 | `WIFI_IW416_BOARD_MURATA_1XK_M2` (该 SDK 没有 MAYA 配置文件) | | 电路板返工 | `R404` (PDn) + `R1901` (模块→MCU RXD) 已安装并验证;流控对`R1816` / `R1902` **未**完成 — 参见第5节 | --- ## 3. 故障 A — 图像被接受后,控制器无反应 下载完成并已被接受 我们自己的洁净室 V3 装载机(仅限协议,地址 115200),配备仪器: ``` bt_fw_download=ok chip_id=0x7201 loader_ver=0 start_inds=2 chunks=142 已发送=131856/131840 最大关闭时间=131840 转发=1 CRC错误=0 ``` 总共 131,840 字节;该卡请求了每个数据块(16 字节的头部,2048 字节)。 有效载荷(包括尾部的乱序重新请求);**一个 CRC 错误是 由卡片报告并通过重传恢复**——因此是ROM自身的 完整性检查已启动。 然后就什么反应也没有了——ROM 的行为就像镜像已被接受,而不是被拒绝。 ``` bt_post_dnld[0..3]: n=0(下载后四个 500 毫秒的原始捕获窗口) bt_raw_reset[0..2]: n=0 (原始 HCI_Reset 01 03 0C 00,采样率为 115200,x3) HCI_Reset 在 3000000 / 921600 / 460800 / 115200 处:无响应,帧格式为 0 ``` **关键鉴别器** :UART 下载完成后,ROM **停止请求** 并且不会重新宣布**。相比之下,当下载组合图像时 通过**SDIO** ,蓝牙核心会在 UART 上重新广播( `AB 01 72 00 47`)。 重新出现)——也就是说,这就是“仍在引导加载程序中/未被接受”的样子 关于这部分。因此,UART 下载已**接受,加载程序已退出** ,并且 故障发生在*接受 CRC 验证成功的镜像和运行控制器之间* 。 ### 固件版本不是变量 两个官方版本—— **FP92 p155.2** (2026-03)和**FP91 p142.5** (2025-01, 内部结构不同,加载地址分别为`0x00080000`和`0x000A2010` ,大小分别为 178 和 142。 分块下载)——两者都已完全下载,两者都被接受,两者都离开控制器 静默。所以这不是过时/错误的*版本* 。 ### 针对恩智浦的问题(故障 A) 1. IW416 ROM 是否会验证通过 UART 下载的蓝牙固件? 如果密钥采用 OTP 熔丝, **如何向主机发出拒绝信号?** 我们观察到:每个数据块都被接受,ROM停止请求,没有错误帧,没有 再次宣布后,一片沉寂。这个字节模式是文档中提到的吗? 安全启动/签名拒绝行为,或者说,一个真实的镜像是否表现出这种行为 这样做还有其他原因吗? 2. **是否为通用 / 构建了标准`uartIW416_bt.bin` (16.92.21.p155.2)? 未熔合的 IW416**,还是需要匹配的 OTP/安全启动配置? 部分?(如果该部件是为特定原厂钥匙熔接的,则为库存图片) 预计会被驳回——这将使我们再次关注 u-blox,CA-276115。) 3. **在事件发生后的最初几秒内,控制器的预期行为是什么? UART 下载成功**,地址为 115200 — 是否应响应`HCI_Reset` 立即生效,还是需要先收到厂商指令/延迟通知? --- ## 4. 故障 B — EdgeFast 下载在 3 Mbaud 交换机处损坏 (MIMXRT1170-EVKB) 仅使用NXP 软件在NXP 自有参考板上可重现此问题。 为 1170构建了`examples/edgefast_bluetooth_examples/shell` 已启用`DEBUG_PRINT` ,因此 NXP 的`fw_loader_uart.c`会显示输出信息。从其输出跟踪信息来看: 1. 115200 个标头请求干净且 CRC 有效( `REQ=0xA7 Len=10 Off=0 Err=0` ); 2.发送了一个 5 型 UART 配置块,并已收到确认(因此 5 型命令为:) 在本板/固件的上下文中已接受); 3. `更改波特率请求为 3000000` , `changeBaudrate() 返回 0` — 该开关 **报告成功** ; 4.紧随其后: `无效标头 0x00` / `0x71` , `REQ = 0xA7, Len = 10a7, Off = 5400, Err = 400, CRC = 0` , `CRC 不匹配` , `文件下载:0:131840` — 卡在偏移量 0 处。偏移量是 字节拼接( `5400` = 两个字节连在一起): **帧丢失** ,而非 溢出。 因此,该卡切换到 3 Mbaud 并开始传输;RT1176 LPUART2 处于 该板卡支持 3,000,000 波特率——采用 DMA 传输, **没有可用的硬件流控制** —— 无法恢复帧。库存流量控制设置第一阶段 切换后标头超时,加载器回退到 115200,然后重试。 **无限循环** (观察到超过 20 分钟)。 板载根本原因:**LPUART2 的 RTS/CTS 焊盘是千兆 PHY 芯片。 RESET/中断线**( `R1866` → `ETHPHY_RST_B` , `R1816` → `RGMII1_PHY_INTB` ), 因此,即使在NXP文档中明确指出之后,仍然存在清晰的主机接收反压路径。 五项重构——`R1866`不包含在重构中。3 Mbaud 无流量 主机控制力不足。 ### 针对恩智浦半导体(失败案例 B)的问题 4.在**MIMXRT1170-EVKB**上,是否有 3 Mbaud EdgeFast BT 固件下载? **已知限制,无需进行完整的流程控制重构** (移除`R1816` , 适用于`R1902` )——即使如此,鉴于`R1866`仍将主机 RTS 保留在 PHY 上, RESET, 这块板真的支持 3 Mbaud 吗?还是应该…… `fw_download_secondary_speed`是否应保留为 115200? 5. **无限重试循环**是否发生在备用波特率交换机故障上 ( `fw_loader_uart.c` )是预期行为吗?N次重试后出现硬性失败是远远不够的。 比无休止的进度点流更容易诊断。 ### 次要,低优先级(同一树) 6.在`edgefast_bluetooth`的 shell 中, `SHELL_CMD_REGISTER(bt, ...)`注册了 `bt`命令的参数范围为**0 个参数** ,因此`fsl_shell.c`会拒绝所有此类请求。 子命令( `bt init` → "命令参数错误");工作状态 调用方式是使用点号分隔的`bt.init` 。很可能是`SHELL_ADVANCE` / range-init操作。 不匹配的情况值得一看。 --- ## 5. 我们已经排除的选项(因此无需赘述) 所有芯片均采用硅材料,MIMXRT1170-EVKB: | 假设 | 结论 | |---|---| | 缺少 type-5 UART 配置块 | 我们的独立组网 (SA) 注入被拒绝( `CRC_ERR 0x0001` );但 NXP 的流入 type-5 被接受(§4)——因此这不是故障 A 的阻塞原因 | | 固件版本错误| 已驳回 — FP91 和 FP92 均已接受,均未发出警告(§3) | | 需要通过 SDIO 进行组合 |此模块**不会**启动蓝牙——蓝牙核心会在 SDIO 组合下载完成后从 ROM 重新广播 | | 主机下载截断 | 已驳斥 — 15 秒空闲轮询后`sent`保持不变 | | HCI 波特率 | 已驳回 — 4 个速率, `framing=0` ,零字节 | | `wakeUpControllerFromBootSleep()` GPIO 脉冲 | 已实现;卡片**有反应** (额外问候),但结果不变 | 静默期间的 CPU 状态(SWD,控制台已分离): `DHCSR 0x01010001` (运行中; `S_HALT` / `S_LOCKUP`已清除), `CFSR` / `HFSR` = 0 — 主机 MCU 处于活动状态 程序阻塞在`controller_init`中,但没有崩溃。 故障 A仅剩下**签名/安全启动拒绝**一项,即 正好是 Q1/Q2 — 这是这张票和 u-blox CA-276115 之间的接缝。 --- ## 6. 复现(故障 B,仅限 NXP 软件) ``` west build -b evkbmimxrt1170 examples/edgefast_bluetooth_examples/shell \ --toolchain armgcc --config flexspi_nor_debug -- -Dcore_id=cm7 \ -DCONFIG_MCUX_COMPONENT_component.wifi_bt_module.IW416=y \ -DCONFIG_MCUX_COMPONENT_component.wifi_bt_module.board_murata_1xk_m2=y ``` 刷机、RESET,在`@bt>`提示符下输入`bt.init` 。下载过程会打印进度。 出现点且永远不会完成;在`fw_loader_uart.c`中启用`DEBUG_PRINT`会显示 3 Mbaud 交换机出现故障。( `edgefast_open`是 1170 的较新 shell) 接受以空格分隔的`bt init`并会以同样的方式挂起。) 对于故障 A:已附上完整的仪器化下载文件以及位于 115200 的人机交互证据。 Re: BT firmware accepted over UART but controller never runs; and EdgeFast download corrupts at the 嗨@nicnewdigate , 在我们深入探讨这个问题之前,能否请您确认以下几点? - MIMXRT1170EVKB_hwrework.md 指南列出了五项必要的修改:移除 R183、移除 R1816、填充 R404、填充 R1901 和填充 R1902。 从你的记录来看,R404 和 R1901 似乎已经完成了。您能否也确认一下 R183、R1816 和 R1902 的状态? - 能否提供一份在未对应用程序进行任何更改的情况下运行的标准 NXP 示例的串行日志? 可能是蓝牙外壳。 为 Murata 1XK M2 构建项目 - 请发送完整日志。 - 该电路板仅通过 USB 供电,还是使用了外部 5V 电源?请使用外接电源。 问候, 丹尼尔。 Re: BT firmware accepted over UART but controller never runs; and EdgeFast download corrupts at the 嗨@DanielRuvalcaba - 非常感谢您的快速回复和建议! 您要求的三项任务我都完成了。先给出摘要,再给出日志。 **1.重做工作完成。EdgeFast BT PAL 重制版的全部五项内容如下: MIMXRT1170-EVKB 已完成:R404 和 R1901(之前已安装),另加 **R1902** **R1816 + R183 已移除**。我们确认这两次移除并未造成损害。 可读的 BT 链接——我们自己的 115200 波特率加载器仍然可以下载完整图像。 干净利落地(131,840 字节,帧错误 = 0,与删除前字节完全相同)。 **2.外部电源——已完成。**J38 → 1–2,5V 输入 J43 桶形插孔,SW5 打开。 **3.已捕获未修改的 shell 日志。我们建造了 来自 MCUXpresso SDK v26.06.00-LTS 的 `examples/edgefast_bluetooth_examples/shell` `--config flexspi_nor_debug -Dcore_id=cm7`,armgcc。与库存相比,唯一的变化是 在板的 `prj.conf` 文件中,我们配置了卡的模块选择: ``` CONFIG_MCUX_COMPONENT_component.wifi_bt_module.IW61X=y → IW416=y CONFIG_MCUX_COMPONENT_component.wifi_bt_module.board_murata_2el_m2=y→ board_murata_1xk_m2=y ``` (这是选择模块的两个 Kconfig `choice` 成员。我们的卡是 u-blox MAYA-W161 — 是一款 IW416 — 所以我们选择了您指定的 1XK/IW416 配置。 `CONFIG_BT_SIGNING=y`,其他设置均为默认值。) shell 提示符下的结果: ``` @bt> bt.init [固件下载] 开始从 0x301198fc: 6812 下载固件 下载开始(131840) ......................................................................(141个点) 下载成功! [固件下载]BLE固件已下载:8265 ← 然后,在接下来的 90 多秒内,什么也不会发生。bt.init 始终不返回。 ``` 自我们上次报告以来,有两件事发生了变化,而且这两件事都很重要: **A — 3 Mbaud 下载现已完成。**在进行流量控制改造之前 库存加载器在波特率从 115200 切换到 3,000,000 时损坏并循环运行 无限期。安装 R1902 并移除 R1816(真正的 CTS 背压),它 现在所有 131,840 字节的数据都在约 1.45 秒内传输完毕(时间戳 6812 → 8265 毫秒)。 高速下载)并打印“下载成功!”。所以,重做解决了这个问题。 下载端的问题果然不出所料——谢谢你的坚持。 **B — 下载成功后,控制器仍然没有反应。**这是 核心问题。在“下载成功!”/“BLE固件已下载”之后,协议栈 控制器没有返回任何信息——既没有“蓝牙已初始化”的提示,也没有错误信息——而且 `bt.init` 程序卡住了。主机MCU处于存活状态且处于阻塞状态,并未崩溃;控制台显示正常。 我们脱离了SWD的阅读范围: ``` DHCSR = 0x01010001(运行状态:S_HALT=0,S_LOCKUP=0,S_RETIRE_ST=1) CFSR = 0x00000000(无可配置故障) HFSR = 0x00000000(从未发生过硬故障) ``` 因此,CM7 正在堆栈中等待 HCI 回复,但永远不会收到回复。 现在这是一个非常清晰的数据点:基于NXP**自身未经修改的EdgeFast协议栈**, 经过全面改造并接入外部电源后,该显卡**可接受完整的** CRC校验固件映像,然后不运行HCI控制器**。越早“ “3 Mbaud 下载文件已损坏”的解释不再适用——下载 明显成功。 **我们的问题(未作更改,现已与任何下载完整性变量隔离):** 1. IW416 ROM 是否验证通过 UART 下载的 BT 固件(例如,反对 如果密钥采用 OTP 融合技术,如何向主机发出拒绝信号?我们看到 每个数据块都被接受,显示“下载成功!”,然后就一片寂静——没有错误帧。 不再另行通知。 2. 是否为标准的 `uartIW416_bt.bin`(16.92.21.p155.2) 为通用 / 构建 未熔丝的 IW416,或者特定 OEM 钥匙的熔丝部件是否需要匹配的部件 签名图像?如果真是这样,那就说明问题出在 u-blox 身上(相关案例 CA-276115)。 3. 在 UART 下载成功后的最初几秒内,控制器是否应该 立即以下载后速率响应 `HCI_Reset`,或者是一个供应商 是否需要先执行命令/延迟操作? 我很乐意分享完整的串口捕获数据和完整的SWD寄存器块。 我们可以在 `fw_loader_uart.c` 中启用 `DEBUG_PRINT`。提供旁白下载 追踪一下看是否有帮助。 非常感谢您抽出宝贵时间,付出了很多努力——感激不尽!!! 谢谢 - NIC Re: BT firmware accepted over UART but controller never runs; and EdgeFast download corrupts at the 问题已解决/结束更新——感谢您的帮助,以下是答案: 以后看到这个帖子的人。 完成改造并移至外部电源后(根据丹尼尔的三个步骤) 在满足前提条件的情况下,我们运行了**模块替换测试**。持有*所有其他* 完全相同——相同的 MIMXRT1170-EVKB,相同的返修,相同的外部 5V 电源,相同的 MCUXpresso SDK 版本 26.06.00-LTS,与原版 `uartIW416_bt.bin` 相同,以及*相同的编译 EdgeFast `shell` 二进制文件* — 我们用真正的 u-blox M2-MAYA-W161 替换了 u-blox M2-MAYA-W161。 **嵌入式艺术家 Murata Type 1XK M.2 (EAR00385)**(IW416 模块) `board_murata_1xk_m2` 配置文件目标)。 使用 Murata 1XK 时,`bt.init` 可以顺利运行完成: ``` 下载成功! [固件下载]BLE固件已下载 蓝牙已初始化 设置已加载 ``` 控制器启动正常。使用 u-blox MAYA-W161,二进制*相同* 下载过程完全相同(“下载成功!”),然后控制器静默无声。 所以这不是恩智浦的问题。板、SDK、股票 `uartIW416_bt.bin` 和 EdgeFast 协议栈都是正确的——已由 Murata 验证。 IW416 模块在相同的设置下运行于实时控制器。故障点是 特指 u-blox MAYA-W161(其固件配置/认证), 我们将把这个带到u-blox。 以下两点补充说明对论坛其他成员有所帮助: * **我们之前报告的3 Mbaud下载损坏问题就是缺失的部分 流程控制改造。安装 `R1902` 并移除 `R1816`(NXP 的) 五项 EdgeFast 重制版),库存加载器的 115200 → 3,000,000 波特率切换 下载顺利完成,下载成功。在那次重做之前,它已经损坏了。 开关和循环出现了问题;重新设计后问题就解决了。 * 在 MIMXRT1170-EVKB 上,装载机必须以 3 Mbaud 的波特率保持良好的进料状态,这需要 流程控制改造已到位;在 115200 处,它是无条件的。 再次感谢您指出需要返工和外部供货的问题—— 两者都很重要,他们一起成功地将一个正宗的村田模块升级到了最高版本。 谢谢@DanielRuvalcaba ,我会跟进 uBlox 的事宜。
查看全文
KW47:WDOG 等待/停止模式与电源模式(睡眠/深度睡眠)之间的关系 你好, 我正在阅读 KW47 参考手册,但我对 WDOG 低功耗模式和系统电源模式之间的关系感到困惑。 在 WDOG 章节中,控制和状态寄存器包含以下位: - 等待: “使 WDOG 在芯片处于等待模式时也能运行。” - 停止: “使 WDOG 在芯片处于停止模式时也能运行。” WDOG章节还指出: - 在停止模式下,选定的 WDOG 时钟源必须保持活动状态。 - 对于调试模式和停止模式,必须使用总线时钟以外的时钟源。 另一方面,“电源模式”章节描述了: 睡眠模式: CPU执行已停止。 - 核心时钟已关闭 系统时钟和总线时钟可能会继续运行 深度睡眠模式: - 核心时钟已关闭 系统时钟已关闭 总线时钟已关闭 基于以上描述,可以合理地解释如下: - 等待模式 ≈ 睡眠模式 - 停止模式 ≈ 深度睡眠模式 然而,我尚未在参考手册中找到任何明确说明来证实这种映射关系。 我的问题是: 1. WDOG 等待模式是否对应于 KW47 的电源模式睡眠模式? 2. WDOG 停止模式是否对应于 KW47 的电源模式深度睡眠模式? 3. 或者说,Wait/Stop WDOG 是 CPU 特有的状态,与 SoC 电源模式不同? 4. 是否有参考手册章节或应用笔记明确描述了这种关系? 感谢您的帮助。 Re: KW47: Relationship between WDOG Wait/Stop modes and Power Modes (Sleep/Deep Sleep) 你好,希望你一切都好。   KW47 参考手册中使用的术语与将 WDOG 控制寄存器中的 WAIT 和 STOP 字段解释为对芯片/内核低功耗状态的引用,而不是对 WDOG 特定 CPU 状态的引用是一致的。我会将这种关系描述为功能对应,而不是严格的等价关系。 从这个意义上讲,WDOG WAIT 对应于等待/睡眠类条件,其中 CPU 执行停止,但系统和总线时钟可能仍然可用。WDOG STOP 对应于停止/深度睡眠类条件,其中内核、系统和总线时钟被门控,看门狗只有在配置为使用在该模式下保持活动的时钟源时才能继续工作。   此致, 索菲亚。 Re: KW47: Relationship between WDOG Wait/Stop modes and Power Modes (Sleep/Deep Sleep) 你好,索菲亚, 感谢您之前的解释。 根据您的回复,我的理解是: - WDOG WAIT 对应于等待/睡眠类低功耗状态。 - WDOG STOP 对应于停止/深度睡眠级别的低功耗状态。 - 这种关系是一种功能对应关系,而不是严格的一对一映射关系。 再次查阅KW47参考手册后,我发现了以下章节: 28.4 模块在低电源模式下的运行 表 225:Cortex M33 核心模块在低电源模式下的运行情况 对于 WDOGx,表格显示: - 睡眠:开启 - 深度睡眠:可选 - 关机:可选 深度关机:关闭 从这张表中,我了解到 WDOG 操作至少可以在深度睡眠和关机模式下配置。 为了更好地了解其行为,我使用 KW47-Loc 评估板进行了测试。 测试条件: - 已启用 WDOG - WDOG 刷新由 vApplicationIdleHook() 执行 - PWR_EnterLowPower() 由 FreeRTOS vPortSuppressTicksAndSleep() 执行 - 观察进入低功耗状态后是否发生看门狗复位 测试结果: 案例 1 等待=0,停止=0 → 未发生看门狗RESET 案例 2 等待=1,停止=0 → 看门狗复位发生 案例3 等待=0,停止=1 → 未发生看门狗复位 我的理解是,当看门狗复位时,设备进入低功耗状态,vApplicationIdleHook() 不再执行,而看门狗继续运行,最终超时。 但是,只有当 WAIT=1 且 STOP=0 时才会发生看门狗 RESET,而当 STOP=1 时则不会发生看门狗 RESET。 由于这个结果,我很难理解在低功耗电源模式下,WAIT 和 STOP 位是如何实际应用于看门狗操作的。 请您澄清以下几点? 1.当设备通过 PWR_EnterLowPower() 进入低功耗模式时,WDOG 操作是由 WAIT 位控制还是由 STOP 位控制? 2. 观察到的结果表明设备实际上进入了睡眠模式而不是深度睡眠模式,还是应该解释为进入了深度睡眠模式? 3. STOP 位是否对应于电源模式章节中描述的深度睡眠模式,还是指不同的低功耗状态? 4. 表 225 中的下列条目应该如何解释与 WDOG WAIT 和 STOP 控制位相关的内容? - WDOGx:可选的(深度睡眠) - WDOGx:可选的(掉电) 感谢您的支持。
查看全文
在RTD 4.0.0环境下对S32K344进行Flash驱动程序开发时遇到了一些问题 大家好, 我目前正在开发一个在 SRAM 中运行的 Flash 驱动程序(具体来说,为了方便起见,在 DTCM 中没有启用缓存)。我遇到了一些问题,希望您能提供一些见解。 项目背景: 我有两个项目:一个包含 C40 驱动程序,另一个(我称之为fls_drv_demo )则不包含。我的目标是在启用 C40 的项目中编译驱动程序,并通过 AT 链接器指令将其放置在地址0x00500000 ,然后在fls_drv_demo中使用memcpy将其复制到目标 DTCM 地址。之后,我将函数地址硬编码到项目中,并调用它们来观察 Flash 行为的变化以进行验证。 我目前为止完成的工作: 在启用 C40 的项目中,我将所有 C40 IP 层函数放入.ramcode部分,并将它们收集到flash_driver部分。 用于初始化和编程的自定义函数位于.Fls_Api_Tab部分,也收集到flash_driver中。 链接器脚本已相应修改。 当前问题: 在fls_drv_demo项目中,当我调用函数指针时——无论是Fls_Init还是其他编程函数,例如 ((uint32_t (*)(const uint32_t, const uint8_t*, const uint32_t))(0x2000702C | 1))(0x00540000, flswritearray, 16); — 在某些内部 IP 层功能完成后, 执行总是跳转到 0x00406764 。 具体来说: Fls_Init执行成功。 然而,在写入函数执行期间,内部C40_Ip_MainInterfaceSectorErase完成并即将返回(弹出)时,PC 指针最终位于0x00000000 。 我的怀疑: 我怀疑是不是某些内部函数仍然被编译到.text或.mcal.text段中,导致程序访问了错误的短截线区域,从而引发了这种行为。或者是不是我漏掉了一些额外的设置步骤? 我现在完全卡住了,非常感谢任何建议或指导。 如果措辞有些不妥,敬请谅解——这是由人工智能辅助翻译的。我附上了一些项目和问题的截图供您参考。 提前感谢!   C40驱动程序项目中的链接器文件配置 20260825-102549.jpg20260825-102549.jpg20260825-102549.jpg20260825-102549.jpg20260825-102549.jpg20260825-102549.jpg20260825-102549.jpg 修改 C40 驱动程序项目中的链接器后生成的 .map 文件(函数和短截线区域地址分配)。 20260825-103800.jpg20260825-103800.jpg20260825-103800.jpg20260825-103800.jpg20260825-103800.jpg20260825-103800.jpg20260825-103800.jpg 20260825-103746.jpg20260825-103746.jpg20260825-103746.jpg20260825-103746.jpg20260825-103746.jpg20260825-103746.jpg20260825-103746.jpg   fls_drv_demo 项目 的具体内容 20260825-103909.jpg20260825-103909.jpg20260825-103909.jpg20260825-103909.jpg20260825-103909.jpg20260825-103909.jpg20260825-103909.jpg   运行写入函数时(在 0x2000702C ),它进入内部 RTD 库函数。 C40_Ip_MainInterfaceSectorErase (在 0x200074EC )。 0x20007502 ,它跳转到 0x20007B52 ,然后程序计数器指向存储在 0x20007B54 ,即 0x00406764 。随后,在执行时 流行音乐 指导 0x00406778 ,该值为 r3 如图所示,指向 0x2001FFD8 。 0x2001FFD8 然后指向 0x20007BA8 ,以及该值 0x7BA8 是 0x00000000 ,导致程序崩溃/逃跑。 20260825-105216.jpg20260825-105216.jpg20260825-105216.jpg20260825-105216.jpg20260825-105216.jpg20260825-105216.jpg20260825-105216.jpg 20260825-110659.jpg20260825-110659.jpg20260825-110659.jpg20260825-110659.jpg20260825-110659.jpg20260825-110659.jpg20260825-110659.jpg 20260825-110639.jpg20260825-110639.jpg20260825-110639.jpg20260825-110639.jpg20260825-110639.jpg20260825-110639.jpg20260825-110639.jpg 20260825-110710.jpg20260825-110710.jpg20260825-110710.jpg20260825-110710.jpg20260825-110710.jpg20260825-110710.jpg20260825-110710.jpg 1.jpg1.jpg1.jpg1.jpg1.jpg1.jpg1.jpg 2.jpg2.jpg2.jpg2.jpg2.jpg2.jpg2.jpg 20260825-111431.jpg20260825-111431.jpg20260825-111431.jpg20260825-111431.jpg20260825-111431.jpg20260825-111431.jpg20260825-111431.jpg 20260825-130859.jpg20260825-130859.jpg20260825-130859.jpg20260825-130859.jpg20260825-130859.jpg20260825-130859.jpg20260825-130859.jpg 20260825-130909.jpg20260825-130909.jpg20260825-130909.jpg20260825-130909.jpg20260825-130909.jpg20260825-130909.jpg20260825-130909.jpg Re: Some issues encountered during Flash driver development on S32K344 under the RTD 4.0.0 environme 嗨@yunaidejiezi , 是的,你需要把从 C40_Ip 调用的所有函数都放到 SRAM 中。 在下面的例子中,我也需要将 SchM_Mem_43_INFLS.h 中的函数放到 SRAM 中。 https://community.nxp.com/t5/S32K-Knowledge-Base/S32K312-C40-Ip-SRAM-RTD-500-DS35/ta-p/2074245 是的,RTD 4.0.0 中有这个例子。 Mem_InFls_Example_S32K344 danielmartynek_0-1787734274169.pngdanielmartynek_0-1787734274169.pngdanielmartynek_0-1787734274169.pngdanielmartynek_0-1787734274169.pngdanielmartynek_0-1787734274169.pngdanielmartynek_0-1787734274169.pngdanielmartynek_0-1787734274169.pngdanielmartynek_0-1787734274169.png 此致, 丹尼尔 Re: Some issues encountered during Flash driver development on S32K344 under the RTD 4.0.0 environme 你好, @danielmartynek 感谢你的回复。 拆卸 0x00406764 正在运行 fls_drv_demo 项目。它实际指向的函数可能不是。 OsIf_SuspendAllInterrupts() 虽然来自 C40 驱动程序项目,但执行的指令确实是用于禁用中断的指令。我认为这个函数可能是在编译时内联的,因为它的地址在代码中找不到。 。地图 文件,所以这个因素可能无关紧要。接下来,我将尝试移动内部调用的函数。 c40_ip 进入 .flash_driver 部分。此外,关于您建议使用…… Mem_43_InFls MCAL驱动程序,有没有使用MCAL制作Flash驱动程序的参考示例?实际上,我从未使用过MCAL。 Re: Some issues encountered during Flash driver development on S32K344 under the RTD 4.0.0 environme 嗨@yunaidejiezi , 根据反汇编结果,你忘记将 OsIf_SuspendAllInterrupts() 函数移到 DCTM 中,C40_Ip 驱动程序调用的所有函数都必须在 DCTM 中。 我建议使用 Mem_43_InFls MCAL 驱动程序,它可以在运行时自动处理复制到 RAM 的操作,避免所有这些手动依赖项跟踪。 BR,丹尼尔 Re: Some issues encountered during Flash driver development on S32K344 under the RTD 4.0.0 environme 你好, @danielmartynek 感谢您的回复。 我启动了两个项目: Mem_InFls_Example_S32K344 和 S32K312_C40_Ip_SRAM_RTD_500_DS35 。现在我发现了一个非常严重的问题:我导入的RTD版本似乎不包含 Mem_43_INFLS_驱动程序 元器件。打开后 我找不到Mem_InFls_Example_S32K344 。 Mem_43_INFLS_驱动程序 在 MCAL 层中。此外,在 S32K312_C40_Ip_SRAM_RTD_500_DS35 该项目,看起来 Mem_43_INFLS_驱动程序 未使用(因为我没有看到任何调用)。 内存_FLs 层函数 主文件夹)。但是,项目资源管理器中的 RTD 文件夹确实包含 SchM_Mem_43_INFLS.c/.h 。在 。地图 文件、函数等 SchM_Enter_Mem_43_INFLS_MEM_EXCLUSIVE_AREA_04 它们也被放置在 SRAM 区域。 我想知道:使用C40时,是否 SchM_Mem_43_INFLS.c/.h 是否必须包含在内?C40 内部是否会调用类似这样的函数? SchM_Enter_Mem_43_INFLS_MEM_EXCLUSIVE_AREA_04 ? 20260827-102145.jpg20260827-102145.jpg20260827-102145.jpg20260827-102145.jpg20260827-102145.jpg20260827-102145.jpg20260827-102145.jpg Mem_InFls_Example_S32K344 项目中没有 Mem_43_INFLS_Driver 驱动程序。   20260827-102152.jpg20260827-102152.jpg20260827-102152.jpg20260827-102152.jpg20260827-102152.jpg20260827-102152.jpg20260827-102152.jpg 这是我的RTD版本   20260827-102157.jpg20260827-102157.jpg20260827-102157.jpg20260827-102157.jpg20260827-102157.jpg20260827-102157.jpg20260827-102157.jpg Mem_InFls_Example_S32K344 项目的 RTD 版本。 20260827-103214.jpg20260827-103214.jpg20260827-103214.jpg20260827-103214.jpg20260827-103214.jpg20260827-103214.jpg20260827-103214.jpg S32K312_C40_Ip_SRAM_RTD_500_DS35 项目的 RTD 版本 Re: Some issues encountered during Flash driver development on S32K344 under the RTD 4.0.0 environme 嗨@yunaidejiezi , 这看起来像是兼容性问题。从你发的截图中,我看到了很多不同的RTD版本。请每个 S32DS IDE 安装使用一个 RTD 版本,并且 IDE 版本应与您要使用的 RTD 的发行说明相匹配。如果您需要使用多个 RTD 版本,则可以安装多个 S32DS IDE。 Re: Some issues encountered during Flash driver development on S32K344 under the RTD 4.0.0 environme 嗨@yunaidejiezi , 无论你使用哪个 RTD 版本,Flash 示例中都必须默认添加 MCAL FLS 驱动程序。如果您在那里看不到它并且无法添加它,则说明 IDE 有问题——可能是因为您在单个 IDE 安装中有多个 RTD 版本。 是的,您还需要 SchM_Mem_43_INFLS.h 文件。SRAM 中的功能。 https://community.nxp.com/t5/S32K-Knowledge-Base/S32K312-C40-Ip-SRAM-RTD-500-DS35/ta-p/2074245 BR,丹尼尔 Re: Some issues encountered during Flash driver development on S32K344 under the RTD 4.0.0 environme 你好, @danielmartynek 可能是我的描述不够清楚。 截图中出现多个版本的原因是,我同时打开了多个项目: FLs_drv_demo , Mem_InFls_Example_S32K344 ,以及 S32K312_C40_Ip_SRAM_RTD_500_DS35 。 对于我创建的项目,RTD 版本如图 2 所示(见上一篇文章): S32K3_RTD_4_0_0_P24_D2405_ASR_REL_4_4_REV_0000_20240515 。 您推荐给我的两个项目的版本分别是: S32K3_RTD_5_0_0_D2408_ASR_REL_4_7_REV_0000_20241002 S32K3_RTD_6_0_0_QLP04_D2508_ASR_REL_4_7_REV_0000_20250822 我的问题是:由于RTD版本差异,在 fls_drv_demo 项目, Mem_43_INFLS_驱动程序 Mcal 中没有该元器件,并且该文件 SchM_Mem_43_INFLS 我的项目中没有生成该项。这一点在下方截图中两个项目的项目管理器对比中可以明显看出。 20260827-163404.jpg20260827-163404.jpg20260827-163404.jpg20260827-163404.jpg 20260827-163400.jpg20260827-163400.jpg20260827-163400.jpg20260827-163400.jpg 总的来说,我当前的RTD版本可能不支持基于此开发闪存驱动程序。 Mem_43_INFLS_Driver 。因此,我想知道:对于使用 Mem_43_INFLS_Driver 的项目, C40 对于该元器件,是否必须生成以下函数并将其放置在 SRAM 中? 20260827-163521.jpg20260827-163521.jpg20260827-163521.jpg20260827-163521.jpg Re: Some issues encountered during Flash driver development on S32K344 under the RTD 4.0.0 environme 你好, @danielmartynek 很抱歉回复晚了。 我可以确认的是,我从未尝试在 IDE 中同时安装多个版本的 RTD。不过,您提到的 MCAL FLS 驱动程序似乎确实存在于我的系统中——只是名称不同。 Mem_43_INFLS_Driver ,所以我不太确定。我把它放在下面供参考。 20260828-095254.jpg20260828-095254.jpg20260828-095254.jpg 20260828-095249.jpg20260828-095249.jpg20260828-095249.jpg 我想知道这个元器件是否可用。它似乎内置了自动将代码放入 SRAM 区域的功能。     Re: Some issues encountered during Flash driver development on S32K344 under the RTD 4.0.0 environme 嗨@yunaidejiezi , 我明白了,谢谢。 这是因为 RTD 版本基于不同的 AUTOSAR 规范。 AUTOSAR 4.4.0 使用 Fls 驱动程序,而 AUTOSAR 4.7.0 (R21-11) 使用 Mem_43_INFLS。 命名规则虽然改变了,但功能非常相似。 正如您所提到的,还可以选择在作业启动时加载访问代码。配置工具的布局有所不同——SRAM 地址配置位于不同的选项卡上,但除此之外,配置是相同的。 此致, 丹尼尔
查看全文
S32K142 LPSPI0 Master (lpspi_transfer example): SCK clock not toggling correctly Hello NXP Community, I am using the NXP lpspi_transfer_s32k142 example with LPSPI0 in Master mode on an S32K142 board, without major changes to the example configuration. My issue is that the SCK/Clock waveform is not toggling correctly. I am monitoring SCK, MOSI, MISO and PCS with a logic analyzer. For an 8-bit (1-byte) transfer, I expect 8 SCK clock pulses, but the logic analyzer shows an abnormal/continuous-looking clock waveform instead of the expected pulses. Configuration: LPSPI0 – Master 500 kHz 8-bit frame PCS0 CPOL = Active High CPHA = 1st edge Transfer type = Interrupt I have attached the logic analyzer screenshot showing the SCK waveform. Could someone please help me understand why the SCK clock is not toggling correctly in the NXP example and what configuration I should check? Thank you. Re: S32K142 LPSPI0 Master (lpspi_transfer example): SCK clock not toggling correctly If possible, I suggest you send me the modified test project so that I can quickly reproduce the problem you encountered on the S32K142EVB. Re: S32K142 LPSPI0 Master (lpspi_transfer example): SCK clock not toggling correctly Hi Robin, Thank you for your response. In my current configuration, PCS continuous is unchecked, and the generated configuration has: .isPcsContinuous = false I have not modified this setting. In the uploaded waveform, I am also not getting the expected clean SPI timing. For a 1-byte transfer, I expect 8 SCK clock pulses while PCS is asserted for the complete transfer (PCS active → 8 clock pulses → PCS inactive). However, my logic analyzer capture does not show this expected behavior clearly. The SCK pulses appear irregular, and the PCS/Enable signal is not showing the expected high/low behavior around the complete SPI frame. I have attached the current waveform for reference. Could you please confirm whether this PCS and SCK behavior is expected with the LPSPI_DRV_MasterTransferBlocking() API and the current LPSPI configuration? I will also test with PCS continuous enabled and share the result. Regards, Resham Re: S32K142 LPSPI0 Master (lpspi_transfer example): SCK clock not toggling correctly Hi The image you uploaded is too blurry; I can't see the SPI waveform clearly. Did you modify the LPSPI0 configuration of lpspi_transfer_s32k142 to select PCS continuous? lpspi_transfer_s32k142 LPSPI0 PCS continuous.pnglpspi_transfer_s32k142 LPSPI0 PCS continuous.pnglpspi_transfer_s32k142 LPSPI0 PCS continuous.pnglpspi_transfer_s32k142 LPSPI0 PCS continuous.pnglpspi_transfer_s32k142 LPSPI0 PCS continuous.png It is recommended to use arrows or text to mark where you think there is a problem on a clear SPI waveform. This will help me quickly understand your question. Best Regards, Robin Re: S32K142 LPSPI0 Master (lpspi_transfer example): SCK clock not toggling correctly Hi, Please find attached the ZIP file containing the modified LPSPI transfer test project for the S32K142EVB. Could you please check the project and let me know if the LPSPI transfer configuration is correct or if any changes are required? Thanks for your support. Best regards, Resham Re: S32K142 LPSPI0 Master (lpspi_transfer example): SCK clock not toggling correctly Why can't I see the .mex file in the SPI.zip you sent? Without the .mex file, I have no way of knowing how you configured LPSPI. Which version of S32DS are you using? I imported your project, and it tells me you are using S32K1 SDK RTM 4.0.1. Please confirm the version of S32DS and SDK so I can install them for testing. I'm unable to compile your project correctly using S32DS v3.4 with S32K1 SDK 4.0.2 and 4.0.3 installed. I suspect your S32DS SDK is not installed correctly, which is why there is no .mex file in your project. Did you obtain the project from another colleague? Is it mandatory to use the same SDK version for development? Please determine which version of the S32K1 SDK you need to install.  S32K1 SDK 4.0.3 can be installed by S32DS Extensions and Updates in S32DS v3.4.  As far as I know, S32K1 SDK 4.0.1 can currently only be available in S32DS v3.3. S32K1 SDK 4.0.2 (SW32K1_S32DS_3.4.1_D2106.zip) can be installed in S32DS v3.4. For installation instructions, please refer to: S32 Design Studio v3.4 S32K1 Service Pack 1 released! Re: S32K142 LPSPI0 Master (lpspi_transfer example): SCK clock not toggling correctly After installing S32K1 SDK 4.0.1 by S32DS Extensions and Updates in S32DS v3.3, I was able to build the project correctly without errors.  install S32K1 SDK 4.0.1 in S32DSv3.3.pnginstall S32K1 SDK 4.0.1 in S32DSv3.3.png install S32K1 SDK 4.0.1 in S32DSv3.3 S32DS Extensions and Updates.pnginstall S32K1 SDK 4.0.1 in S32DSv3.3 S32DS Extensions and Updates.png Below are the SPI waveforms I obtained while debugging your SPI project on the LPSPI0 pin of the S32K142EVB. I used a logic analyzer to capture the SPI waveforms for the following pins: PTB0 PCS0 J4.5 PTB2 SCK0 J2.11 PTE1 SIN0 J5.14 PTB4 SOUT0 J2.7 The SPI waveforms appear to match your configuration. The logic analyzer I'm using is different from yours. I suggest you configure your logic analyzer according to the configuration shown in my screenshot. debug LPSPI0 S32K1 SDK 4.0.1.pngdebug LPSPI0 S32K1 SDK 4.0.1.png
查看全文
LX2160A JTAG(CCS)连接失败 我考虑用DDR工具来LX2160A,但我连接不上。 我认为原因是CCS无法确认JTAG连接。 附上身份码验证结果。 KAZU_ISHI_0-1786615924736.pngKAZU_ISHI_0-1786615924736.pngKAZU_ISHI_0-1786615924736.pngKAZU_ISHI_0-1786615924736.pngKAZU_ISHI_0-1786615924736.pngKAZU_ISHI_0-1786615924736.pngKAZU_ISHI_0-1786615924736.pngKAZU_ISHI_0-1786615924736.pngKAZU_ISHI_0-1786615924736.pngKAZU_ISHI_0-1786615924736.pngKAZU_ISHI_0-1786615924736.pngKAZU_ISHI_0-1786615924736.pngKAZU_ISHI_0-1786615924736.png 前段时间我尝试连接时,通过 JTAG 确认了连接,但是文件损坏了,由于我没有仔细管理版本,所以一直无法恢复。 Check for Update无法识别从互联网下载时文件损坏的情况,因此无法匹配当前软件状态。 既然我曾经连接过一次,我怀疑可能是软件问题。如果你知道解决办法,请告诉我。 非常感谢你的理解。 Re: LX2160AのJTAG(CCS)接続が失敗する 感谢你的回复。 我使用“CodeWarrior for ARMv8 v11.5.0 b200629 Windows Offline Installer”执行了安装。 之后,我尝试使用 CodeWarrior IDE 进行更新,方法是选择“帮助”→“安装新软件”→“添加”→“归档”,并指定 com.freescale.armv8.11.5.12.GA.Win.updatesite.221209.zip,但在安装过程中出现错误。 错误信息如下: KAZU_ISHI_0-1786959225115.pngKAZU_ISHI_0-1786959225115.pngKAZU_ISHI_0-1786959225115.pngKAZU_ISHI_0-1786959225115.pngKAZU_ISHI_0-1786959225115.pngKAZU_ISHI_0-1786959225115.pngKAZU_ISHI_0-1786959225115.pngKAZU_ISHI_0-1786959225115.pngKAZU_ISHI_0-1786959225115.pngKAZU_ISHI_0-1786959225115.pngKAZU_ISHI_0-1786959225115.pngKAZU_ISHI_0-1786959225115.pngKAZU_ISHI_0-1786959225115.png 安装项目时发生错误 会话上下文为:(profile=epp.package.cpp,phase=org.eclipse.equinox.internal.p2.engine.phases.Install, operand=[R]com.freescale.core.debugger.fsl_gdb13.0.0.202003111126 --> [R]com.freescale.core.debugger.fsl_gdb14.0.0.202204131357,操作=com.freescale.updater.customactions.actions.FreescaleProcessCheck)。 NLS 缺少消息:参数未设置,位于:com.freescale.updater.customactions.Messages 请问您能否指导我如何处理此事? 非常感谢你的理解。 Re: LX2160AのJTAG(CCS)接続が失敗する 请先安装 CW_ARMv8_v2020.06_b200629GA_Win_Offline.exe,然后打开 CodeWarrior IDE 并从“帮助”->“安装新软件”->“添加”->“归档”安装服务包 com.freescale.armv8.11.5.12.GA.Win.updatesite.221209.zip。 如果问题仍然存在,请提供屏幕截图以显示您的错误。 Re: LX2160AのJTAG(CCS)接続が失敗する 感谢你的回复。 当前使用的CodeWarrior版本信息如下: CodeWarrior QorIQ LS 系列开发工作室 - ARM V8 指令集架构 版本:11.5.0 版本号:200629GA 与您提供的最新版本相比,我的环境似乎运行的是旧版本。 顺便问一下,如果我通过“安装新软件”→“添加”→“归档”选择“com.freescale.armv8.11.5.12.GA.Win.updatesite.221209.zip”,我应该安装哪些项目? 选择“全选”会导致错误,安装失败。 Re: LX2160AのJTAG(CCS)接続が失敗する 请检查您是否已安装适用于 ARMv8 的最新版 CodeWarrior 11.5.12。 请打开 CodeWarrior IDE,并从“帮助”->“关于 CodeWarrior Development Studio for QorIQ LS series - ARM V8 ISA”中检查版本。 如果您已经安装了此版本的 CodeWarrior,请从 CodeWarrior TAP 上拔下 USB 电缆,然后重新插入。 Re: LX2160AのJTAG(CCS)接続が失敗する 请从以下链接下载我的安装文件,并重新安装适用于 ARMv8 11.5.12 的 CodeWarrior。 https://support.nxp.com/s/case/500Te00000eeSJXIA2/community-lx2160a%E3%81%AEjtagccs%E6%8E%A5%E7%B6%9A%E3%81%8C%E5%A4%B1%E6%95%97%E3%81%99%E3%82%8B?language=en_US Re: LX2160AのJTAG(CCS)接続が失敗する 您是在 Windows 10 系统中安装适用于 ARMv8 的 CodeWarrior 吗? 请先删除所有 CodeWarrior 安装文件。 请从我的压缩包中安装 CW_ARMv8_v2020.06_b200629GA_Win_Offline.exe。 然后打开 CodeWarrior IDE,在新工作区中,从“帮助”->“安装新软件”->“添加”->“归档”安装服务包 com.freescale.armv8.11.5.12.GA.Win.updatesite.221209.zip。 Re: LX2160AのJTAG(CCS)接続が失敗する 感谢您的支持。 按照要求,我尝试使用您提供的下载链接重新安装 CodeWarrior for ARMv8 11.5.12。但是,在安装更新包时发生错误。 我已经在下载链接页面回复了错误详情,请您查看一下好吗? 你知道是什么原因导致这个问题吗? 我希望您在解决此事上继续给予支持。 此消息由机器已翻译。 Re: LX2160AのJTAG(CCS)接続が失敗する 1. 请删除您的 CodeWarrior 安装文件夹。 2. 请不要使用您原来的安装文件。请同时使用 .exe 文件。以及我下载链接中的压缩文件。 3. 安装 exe 文件后,请在新的工作区中打开 CodeWarrior IDE 以安装 zip 服务包。 Re: LX2160AのJTAG(CCS)接続が失敗する 感谢您的回复。 怀疑下载的文件可能已损坏,我重新下载并尝试按如下方式进行更新。 在“可用软件网站”中,我选择了: 添加 → 存档 → com.freescale.armv8.11.5.12.GA.Win.updatesite.221209.zip 从解压后的下载包中。 执行此操作后,“CodeWarrior Updates”被添加到列表中,我只启用了这个更新站点。 为了简化调查,我随后使用了“可用更新”功能,并从列表顶部开始逐个安装了更新。以下更新失败并出现错误。 错误信息如下所示。 • CodeWarrior Debugger GTA 14.0.0.202212090959 安装过程中发生错误。 会话背景为: (profile=epp.代码包,软件包.cpp, phase=org.eclipse.equinox.internal.p2.engine.phases.Install, operand=[R]com.freescale.core.debugger.gta 14.0.0.202006241928 --> [R]com.freescale.core.debugger.gta 14.0.0.202212090959, action=com.freescale.updater.customactions.actions.FreescaleProcessCheck)。 NLS 缺少消息:param_not_set 在: com.freescale.updater.customactions.Messages • 恩智浦 GDB 14.0.0.202204131357 安装过程中发生错误。 会话背景为: (profile=epp.代码包,软件包.cpp, phase=org.eclipse.equinox.internal.p2.engine.phases.Install, 操作数=[R]com.freescale.core.debugger.fsl_gdb13.0.0.202003111126 --> [R]com.freescale.core.debugger.fsl_gdb14.0.0.202204131357, action=com.freescale.updater.customactions.actions.FreescaleProcessCheck)。 NLS 缺少消息:param_not_set 在: com.freescale.updater.customactions.Messages • QorIQ 配置和验证套件 - 通用布局 4.24.0.FSL20221019_2247 安装过程中发生错误。 会话背景为: (profile=epp.代码包,软件包.cpp, phase=org.eclipse.equinox.internal.p2.engine.phases.Install, operand=null --> [R]com.freescale.cw.qcvs.feature_root4.24.0.FSL20221019_2247, action=com.freescale.updater.customactions.actions.FreescaleProcessCheck)。 NLS 缺少消息:param_not_set 在: com.freescale.updater.customactions.Messages 我没有测试 CodeWarrior Core IDE 14.0.0.202212091004 和 CodeWarrior Debugger 14.0.0.202212091004,因为这些软件包似乎包含了上面列出的软件。 其他所有更新均已成功安装,没有任何问题。 作为额外的验证步骤,我将尝试安装通过“安装新软件”提供的软件包。上述已提供各个更新包的测试结果。 如果您有任何关于这些错误原因或与之相关的已知问题的信息,我将非常感谢您的建议。 谢谢你的帮助。 此消息由机器已翻译。 Re: LX2160AのJTAG(CCS)接続が失敗する 在“合作对象”中,您选择了“仅限本地站点”,这也是不正确的,请不要选择任何内容,保持空白即可。然后单击“添加”->“存档”,并指定服务包的位置。 请参考以下截图。 yipingwang_0-1787913595385.pngyipingwang_0-1787913595385.pngyipingwang_0-1787913595385.pngyipingwang_0-1787913595385.png Re: LX2160AのJTAG(CCS)接続が失敗する 感谢您的支持。 我按照您建议的步骤操作: 完全卸载了整个 CodeWarrior 安装程序(不仅仅是服务包)。 已删除以下缓存文件夹: C:\Users\ \.p2 C:\Users\ \.p2\org.eclipse.equinox.p2 重新安装了CodeWarrior。 打开帮助 → 安装新软件 → 添加 → 归档,并指定文件 com.freescale.armv8.11.5.12.GA.Win.updatesite.221209.zip。 添加存档后,我尝试通过“安装新软件”对服务包提供的插件进行安装和更新操作。 因此,服务包中的大部分插件都已成功下载并安装。但是,附件截图中显示的插件在安装/更新过程中失败,无法更新。 KAZU_ISHI_0-1787912782459.pngKAZU_ISHI_0-1787912782459.pngKAZU_ISHI_0-1787912782459.png 顺祝商祺! Re: LX2160AのJTAG(CCS)接続が失敗する 请从“帮助”->“安装新软件”->“添加”->“归档”安装服务包 com.freescale.armv8.11.5.12.GA.Win.updatesite.221209.zip。 并非来自“可用软件网站” 请同时删除缓存文件夹。 C:\Users\ \.p2 或 C:\Users\ \.p2\org.eclipse.equinox.p2.*
查看全文
imxrt1024..5A のセキュアブート こんにちは。CSTを使用して、FCFB、IVT、およびその他のブートコンポーネントを含むブート可能なイメージに署名しようとしていますが、いくつか理解しておきたいことがあります。 CSF.txt / hab.csfファイルを作成し、 cst.exeを使用してcsf.binを生成する必要がありますか?その後、 elftosb.exeを使用して最終的なブートイメージを生成する必要がありますか? もしelftosb.exeが必要なら、どこで見つけられますか?私のCSTインストールでは、cst.exeとsrktool.exeしか見つかりません 。 ご存知のとおり、SPTはnopadding_signed.binを生成します。FCFBブロックを保持したまま、ブート可能なファームウェアイメージに署名することは可能でしょうか? PKIには4つのSRKが含まれており、私はSRKハッシュをOTPに焼き込めます。もし4つのSRK(IMG_1、IMG_2、IMG_3、IMG_4)に対応する秘密鍵でファームウェアに署名した場合、4つの署名済みイメージすべてがHAB認証を通過できますか? i.MXRT 102x Re: Secure boot on imxrt1024..5A CSTを使う理由は、サインしたいファームウェアのリージョンを選べるからだと思います。例えばSPTのように、ファームウェアに署名させてからFCFBブロックをファームウェアから削除し、その後手動でFCFBブロックを連結する必要があるからです。開発チームがバイナリを提供してくれたら、それに署名して、すぐに使える署名済みのファームウェア.binを出荷してほしい。 Re: Secure boot on imxrt1024..5A こんにちは、 @Abhay2080 さん。 すみませんが、なぜまだCSTパッケージを使っているのですか?i.MX RTのお客様には、SPTを主要なツールとして推奨します。開発やプロトタイピングにはGUIを使用し、生成されたスクリプト(SPSDKで駆動)を大量生産に活用しましょう。これはNXPが公式に推奨する手順であり、 elftosb 、 cst.exe 、またはBDファイル作成を手動で行う必要がなくなります。詳細については、 https://www.nxp.com/applications/industrial/factory-automation/mobile-robotics/mcuxpresso-secure-provisioning-tool :MCUXPRESSO-SECURE-PROVISIONING を参照してください。 お役に立てば幸いです。 すてきな一日を、 カン ------------------------------------------------------------------------------- 注記: この投稿があなたの質問への回答になっている場合は、「正解としてマーク」ボタンをクリックしてください。ありがとうございます! - 前回の投稿から7週間Threadをフォローしており、その後の返信は無視しています もし後で関連する質問があれば、新しいThreadを開き、閉じたThreadを参照してください。 ------------------------------------------------------------------------------- Re: Secure boot on imxrt1024..5A こんにちは、 @Abhay2080 さん。 ご説明ありがとうございます!私の意見は以下の通りです。 1. CSF.txt/hab.csf ファイルを作成し、cst.exe を使用して csf.bin を生成する必要がありますか?それでは、最終的なブートイメージを生成するためにelftosb.exeを使用する必要があるのでしょうか? - CSF + cst.exe に賛成です。RT1024の場合、elftosbはNXPが文書化した標準ワークフローの一部ですが、既にアセンブル済みのバイナリがある場合は必須ではありません。 RT1024には、有効なワークフローが2つあります。 1. 標準的なNXPワークフロー(elftosb + CST、コンポーネントから構築されたイメージ) これはRT1024の主な参考文献であるAN12079(RTセキュリティブートの使い方)およびRT10xxでのAN12681(i.MX RT10xxでのHABセキュアブートの使い方)に記載されています。 elftosb BDファイルを読み込み、内部的にCSTを呼び出して署名を生成し、FCFB、IVT、Appを含む最終イメージを単一のステップで組み立てます。 2. CST-directワークフロー(「受領→署名→出荷」のための事前組み立て済みバイナリ) 開発チームが事前に組み立てられた firmware.bin (FCFB + IVT + CSF 領域が確保された App を含む) を提供する場合、CST が直接使用され、elftosb は全く必要ありません。 2. elftosb.exeが必要な場合、どこで見つけられますか?私のCSTインストールでは、cst.exeとsrktool.exeしか見つかりません。 - 正しいです。elftosb.exe elftosb.exe 意図的に CST にバンドルされていません。CSTは cst.exe と srktool.exe のみを同梱しています。 elftosb は、フラッシュローダー/ブートユーティリティのエコシステムとは別のツールです。 i.MX RT1024については、以下から入手できます: MCUBoot フラッシュローダーパッケージ:— NXPのウェブサイトからRT102x i.MX ダウンロード可能です。このツールは elftosbユーザーガイド https://www.nxp.com/docs/en/user-guide/MBOOTELFTOSBUG.pdf Kan_Li_0-1787913209797.png Kan_Li_0-1787913209797.png に記載されています 詳細については、 https://www.nxp.com/docs/en/nxp/application-notes/AN12238.pdfを参照してください。   3. ご存知のとおり、SPT は nopadding_signed.bin を生成します。FCFBブロックを保持したまま、起動可能なファームウェアイメージに署名することは可能ですか? はい、そしてCSTダイレクトはまさにこの要件を満たすための適切なアプローチです。RT1024の完全なワークフロー: # ステップ 1: CSF バイナリを生成する (CST はハッシュ化のために firmware.bin を読み込むだけで、決して変更しません) cst.exe --i hab.csf --o csf.bin # ステップ 2: CSF を元のバイナリに追加します (FCFB はファイルオフセット 0x000 にそのまま残っています) cat firmware.bin csf.bin > signed_firmware.bin signed_firmware.bin = FCFB (0x000–0x3FF) + IVT + App + CSF が追加されています。直接フラッシュします。終わり。 以下はRT1024用のhab.csfファイルのサンプルです。 [ヘッダ] バージョン = 4.3 ハッシュアルゴリズム = sha256 エンジン構成 = 0 証明書フォーマット = X509 署名形式 = CMS [SRKをインストール] ファイル = "../crts/SRK_1_2_3_4_table.bin" ソースインデックス = 0 [CSFKをインストール] ファイル = "../crts/CSF1_1_sha256_2048_65537_v3_usr_crt.pem" [CSFの認証] [インストールキー] 検証インデックス = 0 目標インデックス = 2 ファイル = "../crts/IMG1_1_sha256_2048_65537_v3_usr_crt.pem" [データの認証] 検証インデックス = 2 ブロック = 0x60001000 0x1000 0x "firmware.bin" 4. PKIには4つのSRKが含まれており、私はSRKハッシュをOTPに焼き込めます。もし4つのSRK(IMG_1、IMG_2、IMG_3、IMG_4)に対応する秘密鍵でファームウェアに署名した場合、4つの署名済みイメージすべてがHAB認証を通過できるのでしょうか? はい、SRKの失効ビットが焼却されていなければ、4つすべてが合格します。 これで意味が通じるといいのですが。 すてきな一日を、 カン ------------------------------------------------------------------------------- 注記: この投稿があなたの質問への回答になっている場合は、「正解としてマーク」ボタンをクリックしてください。ありがとうございます! - 前回の投稿から7週間Threadをフォローしており、その後の返信は無視しています もし後で関連する質問があれば、新しいThreadを開き、閉じたThreadを参照してください。 -------------------------------------------------------------------------------
查看全文
im8QMのA72コア上のCNTFRQ_el0の値を変更します。 こんにちは! im8QMのA72コアのCNTFRQ_el0の値を変更するにはどうすればよいですか?現在は8000000ですが、16Mに変更したいです。 ありがとう! Re: 修改im8QM的A72核的CNTFRQ_el0的值 i.MX8QMでは、A72のCNTFRQ_EL0に対応する実際のカウント周波数を8MHzから16MHzに変更することは推奨されず、事実上不可能です。その理由は、CNTFRQ_EL0はソフトウェアがシステムカウンタの周波数を「検出」するためのレジスタに過ぎず、ソフトウェアがこのレジスタ値を書き込めたとしても、ハードウェアのシステムカウンタの実際の周波数は変更されないためです。 i.MX8QMの場合、リファレンスマニュアルには、SCU ROMがシステムカウンタを有効にし、24MHzクロックを入力すると記載されています。システムカウンタは内部でこれを分周して8MHzクロックを生成します。関連するクロックルートも、システムコントローラファームウェアによって管理されるクロックドメインに属します。ドキュメントには、SCU_MSLICE0_CLK_ROOT / SCU_MSLICE1_CLK_ROOTをSYS COUNTERのルートクロックとして使用でき、ルートクロックの生成はSC FWによって制御されることが示されています。 もしあなたが今これを読んでいるなら: CNTFRQ_EL0 = 8000000 次のように変更したいです。 CNTFRQ_EL0 = 16000000 区別すべき点が2つある。 CNTFRQ_EL0 レジスタの値 だけを変更すると、一部のソフトウェアはタイマーが16MHzであると「認識」しますが、ハードウェアカウンタは依然として8MHzで動作するため、時間、スケジューリング、レイテンシ、プロファイリングなどにエラーが発生し、すべてが通常の2倍の値になります。 システムカウンタは実際に16MHzに変更されました。 私が調べたi.MX8QMのドキュメントによると、システムカウンタはSCU ROM内で24MHz / 3 = 8MHzに初期化されており、16MHzに変更するための公開されているレジスタや手順は存在しません。i.MX8シリーズに関する同様の議論でも、システムカウンタの周波数はハードウェアで固定されており変更できないことが明確に述べられています。 Linux/RTOSで正しい周波数を使用することが目的であれば、CNTFRQ_EL0を8000000に設定したまま、デバイスツリー/ファームウェア/ブートローダーがタイマー周波数を誤って上書きしていないか確認することをお勧めします。16MHzの要件を満たすためだけにCNTFRQ_EL0を変更しないでください。ただし、意図的に非現実的な周波数で実験を行う場合は除きます。 結論:i.MX8QMのA72 CNTFRQ_EL0レジスタの値を8MHzから16MHzに変更しないでください。実際のシステムカウンタはSCU/SCFWによって初期化され、実際には8MHzです。レジスタ値だけを変更してもハードウェア周波数は変更されず、システムタイムベースが乱れるだけです。 Re: 修改im8QM的A72核的CNTFRQ_el0的值 こんにちは: お返事ありがとうございます! SCUまたはSCFWでシステムカウンタを16MHzに設定するための方法またはデモコードを提供していただけますか? ありがとう!
查看全文