Multi Source Translation Content

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

Multi Source Translation Content

讨论

排序依据:
S32K344 ADC は差動入力モードをサポートしていますか? リファレンスマニュアルにこれについての説明はありますか?マニュアルには関連情報が見つかりませんでした。 Re: Does the S32K344 ADC support differential input mode? こんにちは@yanyanwan S32K3 デバイスは差動入力をサポートせず、シングルエンド入力のみをサポートします。したがって、差動入力読み取りを実行するには外部回路が必要です。 よろしくお願いします、 ジュリアン
查看全文
S32K388 TCP IP エラー FREERTOS 構成 こんにちは、エキスパートの皆さん。私は現在s32ds 3.6.3を使用しています。、s32K388用RTD 6.0.0 しかし、freertosでTCP/IPスタックを使用すると、エラー構成が発生し、tcpipスタックでFREERTOSフィールドを選択できません。 サンプルの TCP IP スタック FreeRTOS のみを実行できますが、独自のファイル プロジェクトを構成するとエラーが発生します。これをどうやって直せばいいのでしょうか。 Re: S32K388 TCP IP error FREERTOS config こんにちは@vinmotion 、 プロジェクトに freertos ドライバーがありません: S32K3XX バージョン 3.0.0 の TCPIP_STACK に必要なため、S32K3 バージョン 6.0.0 CD1 用の FreeRTOS Update-site がインストールされていると思います。 よろしくお願いいたします。 パベル
查看全文
IMX8MP Board PCIe Phy link never came up Hi NXP Team, I am working on a custom board based on i.MX8M Plus, where the PCIe Root Complex (RC) is the i.MX8MP and the PCIe End Point (EP) is an FPGA. Currently, PCIe initialization starts, but the PCIe PHY link never comes up, and the endpoint is not detected. Below is the relevant log output: sh-5.2# dmesg | grep pci [ 3.115342] imx6q-pcie 33800000.pcie: host bridge /soc@0/pcie@33800000 ranges: [ 3.122709] imx6q-pcie 33800000.pcie: IO 0x001ff80000..0x001ff8ffff -> 0x0000000000 [ 3.130996] imx6q-pcie 33800000.pcie: MEM 0x0018000000..0x001fefffff -> 0x0018000000 [ 3.346446] imx6q-pcie 33800000.pcie: iATU: unroll T, 4 ob, 4 ib, align 64K, limit 16G [ 4.314182] imx6q-pcie 33800000.pcie: Phy link never came up [ 4.320458] imx6q-pcie 33800000.pcie: PCI host bridge to bus 0000:00 [ 4.326885] pci_bus 0000:00: root bus resource [bus 00-ff] [ 4.332426] pci_bus 0000:00: root bus resource [io 0x0000-0xffff] [ 4.338644] pci_bus 0000:00: root bus resource [mem 0x18000000-0x1fefffff] [ 4.345606] pci 0000:00:00.0: [16c3:abcd] type 01 class 0x060400 PCIe Root Port [ 4.352978] pci 0000:00:00.0: BAR 0 [mem 0x00000000-0x000fffff] [ 4.358942] pci 0000:00:00.0: ROM [mem 0x00000000-0x0000ffff pref] [ 4.365177] pci 0000:00:00.0: PCI bridge to [bus 01-ff] [ 4.370447] pci 0000:00:00.0: bridge window [io 0x0000-0x0fff] [ 4.376576] pci 0000:00:00.0: bridge window [mem 0x00000000-0x000fffff] [ 4.383400] pci 0000:00:00.0: bridge window [mem 0x00000000-0x000fffff pref] [ 4.390714] pci 0000:00:00.0: supports D1 [ 4.394759] pci 0000:00:00.0: PME# supported from D0 D1 D3hot D3cold [ 4.404627] pci 0000:00:00.0: BAR 0 [mem 0x18000000-0x180fffff]: assigned [ 4.411485] pci 0000:00:00.0: ROM [mem 0x18100000-0x1810ffff pref]: assigned [ 4.418582] pci 0000:00:00.0: PCI bridge to [bus 01-ff] [ 4.423859] pci_bus 0000:00: resource 4 [io 0x0000-0xffff] [ 4.429481] pci_bus 0000:00: resource 5 [mem 0x18000000-0x1fefffff] [ 4.436366] pcieport 0000:00:00.0: PME: Signaling with IRQ 225 Running lspci only shows the Root Complex: sh-5.2# lspci 00:00.0 Class 0604: 16c3:abcd sh-5.2# lspci -nn 00:00.0 Class 0604: 16c3:abcd sh-5.2# lspci -vvv 00:00.0 Class 0604: 16c3:abcd My questions are: How should PCIe be correctly connected and configured between i.MX8MP (RC) and an FPGA (EP)? What device tree and kernel configuration settings are required on i.MX8MP for successful PCIe link training? How can I verify PCIe link status (LTSSM state, link speed, width) on i.MX8MP? Once the link is up, how can I ensure the FPGA endpoint is properly enumerated so that Vendor ID and Device ID are detected? Any reference designs, FPGA PCIe EP configuration guidelines, or debugging steps would be greatly appreciated. Thanks & Regards Re: IMX8MP Board PCIe Phy link never came up Hi, How did you perform the test? Did you first boot the setup ep, then boot the rc? Or did you boot the rc first? Also, if the FPGA isn't connected, are there any logs related to “Phy link never came up”? Best Regards, Zhiming Re: IMX8MP Board PCIe Phy link never came up HI @Zhiming_Liu , Here is how the testing was performed and the current observations: The PCIe reference clock (100 MHz) is sourced from the FPGA to the i.MX processor. This clock has been verified on the board using an oscilloscope and is stable. After booting the processor, the i.MX is detected as a PCIe Root Complex and its RC ID is correctly assigned. $lspci -nn 00:00.0 Class 0604: 16c3:abcd Boot order was tested in both ways: Root Complex (i.MX) booted first, then the Endpoint (FPGA) Endpoint booted first, then the Root Complex The behavior was the same in both cases. Currently, the PCIe link does not come up. Guidance is requested on how the PCIe link training should be established between the i.MX (RC) and the FPGA (EP). Specifically: Which side initiates the link training (RC or EP)? What conditions must be met on the RC side for successful link-up? Does the i.MX Root Complex automatically start PCIe link training once the EP is present and reference clock/reset are valid? Are there any mandatory actions required on the FPGA side (for example, enabling LTSSM, or configuring PCIe IP) before the RC can detect the Endpoint?
查看全文
未记录压力 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 您好, 我目前正在使用 MPX5500DP 传感器来测量压力,但是无论施加任何压力,Arduino Uno 的模拟读数都不会改变。我附上了代码截图和布线图片。如果已知 Vout,我使用数据表中的传递函数来计算压力,并将图 4 中的电路与去耦电容一起使用。在电路图片中,我将黑色跨接电缆连接到接地,红色跨接电缆连接到 5V 引脚,蓝色跨接电缆连接到模拟引脚 5。我在谷歌上搜索了很多,数据表也看了无数遍,但找不到任何线索。 谢谢! Jorge 压力传感器 Re: Pressure not recorded <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 你好,豪尔赫、 您的接线和代码似乎都是正确的。在没有施加压力的情况下输出 ~0.2V 也是正确的。然后,如果增加 P1 和 P2 之间的压力差,输出电压就会增加。 不过,请注意 MPX5500DP 的灵敏度不高(典型值为 0.1)。9mV/kPa),因此需要施加相当高的压力才能获得明显更高的输出电压(例如P1 和 P1 之间的 100kPa 相当于 Vout 上的 0.9V 或 1.1V)。 如果输出电压仍然稳定在 0.2V 左右,那么传感器可能有问题,您必须使用另一个传感器。但我的猜测是,您没有施加足够的压力来获得更高的输出电压。 顺祝商祺! 托马斯
查看全文
UART communication with KIT9Z1J638EVM Evaluation Board I'm working on KIT9Z1J638EVM Evaluation Board. It is mentionned in the kit user guide that LIN bus can be used as SCI (UART). I need to connect  the evalboard to PC via serial cable and establish half duplex communication. Is it possible? if yes, any help of how to do that? I tried to connect the LIN bus configured as SCI to the RXD pin of RS232 cable but I can't have a correct communication. Battery Sensors Re: UART communication with KIT9Z1J638EVM Evaluation Board Hello Souha, The connection is done through the SCI module of the MM9Z1_638 and the OSBDM port that will add a virtual COM port on the PC when connected. The LIN is not involved there. This is explained in the KIT9Z1J638EVM User‘s Guide within the following note: GPIO pins might also be connected to OSBDM to set Serial to the USB port. This is done by connecting: TxD from SCI to one pin out of PTB[3…1], then the selected PTB to JP4-2. RxD from SCI to one pin out of PTB[4…1], then the selected PTB to JP4-1. Insure that the two selected PTB pins have no other setting (voltage sensing external divider, external temperature sensing setup), which might conflict with the 5.0 V digital IO setup. So there you have to connect wires from selected PTBs to the right position on JP4. Please refer to the KIT9Z1J638EVM User‘s Guide. I hope it helps. Regards, Tomas
查看全文
図書館に関する質問 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> こんにちは、   Fusion Library 5.0 について次の質問があります。 1) Systick は 9 軸融合の場合 53 を示します。9軸融合機能には(53/120MHz)==0.44uSが必要ですか?一度実行しますか? 2) 融合タスクはサンプリングタスクよりも優先度が低いため、サンプリングタスクによって割り込まれます。ACC の読み取りに必要な時間をテストしたところ、約 237uS でした。融合タスクがサンプリングタスクによって中断された場合、systick はさらに長くなるのでしょうか? 3) 私のプロジェクトでは MQX を使用していません。データ サンプリング、融合、MAGCal に PIT0/1/2 を使用しています。PIT0 の優先度は PIT1/2 よりも高くなります。PIT1 の優先度は PIT2 よりも高くなります。 9 軸融合機能を呼び出すと、約 1.6 ミリ秒かかりますか?なぜそんなに大きな違いが出るのでしょうか?   ありがとうございます   クリスティ センサ・フュージョン Re: Questions about library <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> それでいいでしょう!謎が解明されてよかったです。 Mike Re: Questions about library <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> こんにちは、Mikeさん 理由が分かりました。最適化を行うには、-O0 ではなく -O3 を使用する必要があります。今ではデモ プロジェクトとほぼ同じです... ありがとうございます クリスティ Re: Questions about library <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> こんにちは、Mikeさん 1) 私の間違いです。K-ticks では測定時間は妥当です。 2) あなたのデモ プロジェクトと自分のプロジェクトの間のタイミングを測定します。 -----私のプロジェクトでのサンプリング時間は約 1183uS===7100/60MHz です。 -----私のプロジェクトでの9軸データ融合==1600uS==95700/60MHz、あなたのデモプロジェクトでは==442uS -----私のプロジェクトでの6軸GBデータ融合==317uS==19000/60MHz、あなたのデモプロジェクトでは==94uS -----私のプロジェクトでの9軸GYデータ融合===96uS==5750/60MHz、あなたのデモプロジェクトでは==25uS 両方のプロジェクトのすべての機能は正常に動作しています。データ融合の結果にパフォーマンスの違いがあると思いますか? 3) KDS 3.0.0を使用していますKSDK 1.2.0 を使用して独自のプロジェクトを開発しました。両方のプロジェクトは同じデモ ボード上で実行されています。私のプロジェクトでは、コアに 120 MHz、BUS クロックに 60 MHz を使用しています。PIT0/1/2には60MHzを使用しています。時間を測定するために PIT0 ティックを使用しています。私の測定時間はデータ融合機能のためだけです。 2 つのプロジェクト間の CPU フローティング設定または数学ライブラリの違いに関連している可能性がありますか? ありがとうございます クリスティ Re: Questions about library <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> クリスティ、 順番に: 数桁ほど間違っています。表示は K ティック単位で行われます。SO 53,000/120,000,000 = 0.44 ミリ秒です。はい、これは融合を 1 回実行する時間です。 まあ、大したことはないですね。ご覧のとおり、融合タスクは思っていたよりも長いです。しかし概念的にはそうです。あなたが使用していると思われる K64F では、通常、連続する 2 つのサンプルの間には、中断することなく融合を実行するのに十分な時間があります。 あなたは優先順位を正しく理解しています。ここでは systick カウンターを使用して時間を測定していますか、それともスコープと GPIO 経由で時間を測定していますか?後者の場合、私の最初の質問は「MCU のクロックをどの周波数にプログラムしましたか?」です。前者の場合、どのくらいの数のシスティック数が得られますか?参考までに、データシートの数値には磁気キャリブレーションとセンサー サンプリングのタスクは含まれていません。 Mike
查看全文
MMA8653FC 歩数計カウンター <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> こんにちは、みんな MMA8653FCを使用しています。歩数計のアルゴリズムを実装する方法がわかりません。 デモのソースコードはありませんか? よろしくお願いいたします。 ロイ 加速度センサ Re: MMA8653FC as pedometer counter <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> こんにちは、トーマス: 助かります。ありがとう! よろしくお願いいたします。 ロイ Re: MMA8653FC as pedometer counter <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> ロイ、 MMA8653FC のローパス フィルタは、単純な 1 次デシメーション フィルタ、つまり移動平均フィルタの後にダウンサンプリングが続くものです。カットオフ周波数は選択されたODR(DR[2:0]ビット)とモード((S)MODS[1:0]ビット)によって異なります。 データシートの表 62 を見ると、すべての可能な ODR/(S)MODS の組み合わせに対する「OS 比」の列が見つかります。この表を使用すると、次の式に従って ADC 周波数を計算できます。 ADC周波数 = OS比 * ODR ローパス フィルタは、次の規則に従って 2 または 4 でデシメーションを実行し、カットオフ周波数はデシメーション レートによって異なります。 OS比 = 2: デシメーション2、カットオフ周波数 = 0.25 * ADC周波数 OS比 >= 4: デシメーション4、カットオフ周波数 = 0.114 * ADC周波数 よろしくお願いいたします。 トーマス Re: MMA8653FC as pedometer counter <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> トーマス、 1. アドバイスありがとうございます。私たちのプロジェクトでは、MMA8653の方が適しています。すでに8051互換のSoCチップを持っているので、それを実装する必要があります。 歩数計アルゴリズムを搭載。 2. MMA8653FC にはローパス フィルターがあります。カットオフ周波数は変更できますか? よろしくお願いいたします。 ロイ Re: MMA8653FC as pedometer counter <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> ロイ、 現時点では、MMA8653FC を使用した歩数計アルゴリズムの実装は知りません。 MMA9553Lインテリジェント歩数計プラットフォームでは、ユーザーはいくつかの設定レジスタを用いて歩数計アプリケーションの動作をカスタマイズおよび制御し、複数のステータスレジスタを用いて測定・計算されたデータをレポートすることができます。このデバイスの詳細については、 MMA9553LSWRMをご覧ください。 よろしくお願いいたします。 トーマス
查看全文
i want to fix direction not north Hi. i am user of K64F, sensor fusion.   after some test, i knew that the magnetometer has a slight error to point a north. ( about 8 degree (yaw))   so i want to fix a direction receiving from magnetometer , not real north (For example, I want to designate the power up direction is north.)   Question 1 :  it is right way to use magnetometer offset compensation? like FXOS8700CQ_Mag_Calibration function in  FXOS8700CQ - Bare metal example project       i tried to test a FXOS8700CQ_Mag_Calibration function when i push button, OnNMI works and FXOS8700CQ_Mag_Calibration function execute. but it didn't work. mag raw data was stopped.     Question 2 :  i is problem about timing or I have to redesign a code?   Thank you. SensorFusion Re: i want to fix direction not north Tim, I'll have to let Tomas comment on your project-specific questions, as I haven't looked at his code.  But with regard to Question 1:  Magnetic calibration works by mapping a 3D ellipsoid of magnetic measurements into a 3D sphere.  Freescale's routines do this by performing something called a total least squares fit.  This attempts to minimize radial error in the mapping.  But at the end of the day, it can leave uncorrected some amount of pure rotation in the magnetic distortion.  That's why you still see some error even after correction.  The error results from fundamental assumptions in the mag cal routines, and there is nothing you can do in those routines to account for it.  The fix is to simply apply a fixed, final 3D rotation to the computed device orientation to account for the error. Mike
查看全文
MMA8652 与 MMA8451 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 您好, 我正在选择新的加速器。 我最终选择了两款芯片:MMA8652 和 MMA8451。 除了一个是12位和另一个14位,而且它们有不同的封装,它们的复杂性相似之外,我的想法是否正确?我的意思是,一种芯片并不比另一种芯片更容易编程和配置。 另外,从低功耗电池供电产品的设计角度来看,INT 引脚是上拉好还是下拉好? 最后看看 MMA8652 的数据表,电路图显示了芯片周围的极化电容,我认为这些电容不应该是极化的。我说的对吗? 谢谢! 加速度传感器 Re: MMA8652 vs MMA8451 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 你好,戴维、 感谢您的回复。 再次确认一下,数据表显示所有4个电容均为极化电容,我认为这是一个错字。使用 4 个无极化电容可以吗? 谢谢。 Re: MMA8652 vs MMA8451 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 你好 1。基本上,上述设备之间的主要区别在于分辨率和封装选项。 2。关于你提到的复杂性,这两个设备都使用I2C接口。 您可以在此处找到软件示例,以便对所需的设备进行编程和配置。 3.INT 引脚上是上拉还是下拉取决于您的应用。 中断引脚可配置为推挽式或漏极开路式,并可配置为高电平有效或低电平有效。如果在漏极开路设置的中断引脚上使用了上拉电阻,则应将加速度计配置为低电平有效。如果使用下拉电阻,则中断引脚应配置为高电平有效。这在寄存器 0x2C (MMA8451,2,3Q)中完成。 欲了解更多详情,请查看应用笔记 AN4077: AN4077-MMA845xQ 设计清单和板安装指南 4。最后,应将 BYP 引脚上的电容器放置在那里,以保证内部稳压器的稳定性,而其余的则是去耦电容器。 希望这些信息对你有用。 如果我误解了你的问题,请随时告诉我。 我很乐意提供帮助。 祝您有美好的一天。 戴维-迪亚兹
查看全文
S32K358EVB-Q289: 点滅LEDの例が動作しない (MATLAB R2022b / MBDT 1.6.0) こんにちは、 MATLAB/Simulink を使用してS32K358EVB-Q289で簡単な GPIO (LED オン/オフ) テストを実行しようとしていますが、NXP の「点滅 LED」の例が私のボードでは機能しません。 環境 MATLAB: R2022b ボード: S32K3X8EVB-Q289HWUM (S32K358EVB-Q289) サポートパッケージ/ツールボックス: SW32_MBDT_S32K3_1.6.0_D2501.mltbx (ライセンス1.6.0 ) 問題 NXP が提供する GPIO LED 点滅の例を勉強したいと思います。ただし、MATLAB/Simulink ではS32K358-Q289専用のターゲット/例は提供されていません。 手順/症状: Simulink で NXP が提供する点滅 LEDサンプル モデルを開きます。 Ctrl+E (構成パラメータ) を押して、ハードウェア設定を確認します。 S32K358EVB-Q289 はハードウェア ボード リストで使用できません。 回避策として、構成プロジェクト テンプレートをS32K358EVB-Q289 (スイッチ パッケージ) に変更しました (添付のスクリーンショットを参照)。 S32 Config Toolでは、次のように設定しました。 ピン: LED関連のピン設定 ペリフェラル:LED/GPIO関連の設定 プロジェクトは正常にビルドされますが、実際のボード上のLED は切り替わりません(点滅しません)。 ビルドは問題ありませんが、ハードウェア上で LED のオン/オフが機能しません。 質問 S32K358-Q289 (S32K358EVB-Q289)用の公式 MATLAB/Simulinkサンプル プロジェクトはありますか?はい、そうであれば、どこからダウンロード/アクセスCAN? 「点滅 LED」の例をS32K358EVB-Q289で動作させるにはどうすればよいですか?必要な設定 (ピン多重化、クロック/初期化、ボード初期化など) が不足している可能性がありますか? ライセンス/ツールボックスのバージョンについて: ライセンス/ダウンロードは1.6.0まで見つかります。しかし、 1.8.0のライセンス ダウンロード セクションが表示されません。1.8.0 はまだ利用できないのでしょうか、それとも別の場所で提供されるのでしょうか? 事前に感謝いたします。 Re: S32K358EVB-Q289: Blinking LED Example Not Working (MATLAB R2022b / MBDT 1.6.0) こんにちは、 @phillip_hong さん、 S32K3向けモデルベースデザインツールボックスにご興味をお持ちいただき、セットアップの詳細と手順をご説明いただきありがとうございます。ご質問について、いくつかご説明いたします。 1.残念ながら、現時点では、 S32K358-Q289ボードを特にターゲットとした公式の MATLAB/Simulink の例はありません。 S32K358-Q172 (異なるピン配置) のサポートが見つかります。 S32K358‑Q289 パッケージはサポートされているデバイス リストにまだ含まれていないため、専用の例やハードウェア ボードのエントリは表示されません。 2. S32K358‑Q172パッケージを使用し、ピンを手動で調整しようとすると、主に 172 ピンと 289 ピンのバリアント間のピン配置の違いにより、観察された動作が発生する可能性があります。一部のピンは揃って部分的な互換性が確保される場合もありますが、機能上の問題を引き起こす可能性のある不一致が必然的に発生します。 ピン構成が完了しているかどうかを確認するために、次のスレッドを参照することをお勧めします: MBDT1.5 DIOとPWMが動作しない さらに、将来のリリースではS32K358‑Q289のサポートを追加することも検討します。 3.最新リリースであるS32K3用MBDTバージョン1.8.0では、ツールボックスにライセンスファイルが不要になりました。ライセンスをアクティベートすることなく、バージョン1.8.0を直接ダウンロードして使用できます。 このため、1.8.0 ではライセンス ダウンロード セクションが表示されなくなり、ライセンスはインストール プロセスの一部ではなくなりました。 よろしくお願いいたします。 ドラゴス
查看全文
imx8mp ispビデオノードが作成されていません こんにちは、 imx290センサモジュールを5.10.35ディストリビューションのimx8mplusに移植しています カメラ センサ移植ガイドに従い、それに応じて vvcam のドライバを変更しましたが、ボードを起動すると、ドライバのプローブ機能が成功してもビデオノードが作成されません。 以下は、モジュールの読み込みが開始されたときからのログ メッセージです。 [ 6.208014] imx290_vvcam: ツリー外のモジュールをロードするとカーネルが汚染されます。 [ 6.224028] func:imx290_probe に入る [ 6.318075] eimx290_vvcam 1-0042: 電源DOVDDが見つかりません。ダミーレギュレータを使用しています。 [ 6.339949] eimx290_vvcam 1-0042: 電源DVDDが見つかりません。ダミーレギュレータを使用しています。 [ 6.349485] eimx290_vvcam 1-0042: 電源AVDDが見つかりません。ダミーレギュレータを使用しています。 [ 6.382951] imx8_media_dev: モジュールはステージングディレクトリからのものであり、品質は不明です。警告が出されました。 [ 6.443331] viv_isp_init_moduleを入力 [ 6.448757] isp_hw_probeを入力 [ 6.453073] viv_dwe_init_module を入力してください [ 6.456791] vvcam ispドライバが登録されました [ 6.457080] dwe_hw_probe を入力してください [ 6.461686] imx-sdma 30e10000.dma-コントローラ:ファームウェアが見つかりました。 [ 6.466027] vvcam デワープドライバを調査 [ 6.470277] imx-sdma 30bd0000.dma-コントローラ:ファームウェアが見つかりました。 [ 6.479325] imx-sdma 30bd0000.dma-コントローラ:ファームウェア4.6をロードしました [ 6.839512] caamアルゴリズムが/proc/cryptoに登録されました [ 6.896947] caam 30900000.crypto:/proc/cryptoに登録されたcaam pkcアルゴリズム [ 6.896962] caam 30900000.crypto:rng-caamの登録 [ 6.898300] デバイス caam-keygen が登録されました [ 6.921808] ランダム: crng init 完了 [ 6.921819] ランダム: レート制限により 7 件の urandom 警告が無視されました [ 7.309550] EXT4-fs (mmcblk2p2): 順序付きデータ モードでマウントされたファイル システム。オプション: (null) [ 7.383698] RTL8211F ギガビットイーサネット 30be0000.ethernet-1:01:添付のPHYドライバ[RTL8211Fギガビットイーサネット](mii_bus:phy_addr=30be0000。) [ 7.475098] imx-dwmac 30bf0000.イーサネット eth1: PHY [stmmac-1:01] ドライバ [RTL8211F ギガビットイーサネット] (irq=POLL) [ 7.487079] imx-dwmac 30bf0000.イーサネット eth1: セーフティ機能のサポートが見つかりません [ 7.487093] imx-dwmac 30bf0000.イーサネット eth1: IEEE 1588-2008 アドバンスドタイムスタンプをサポート [ 7.487260] imx-dwmac 30bf0000.イーサネット eth1: 登録されたPTPクロック [ 7.487510] imx-dwmac 30bf0000.イーサネット eth1: phy/rgmii-id リンクモードの設定 [ 7.519467] 8021q: デバイス eth1 の HW フィルターに VLAN 0 を追加する [ 8.143730] 監査: タイプ=1006 監査(1616581522.276:2):pid=639 uid=0 old-auid=4294967295 auid=0 tty=(none) old-ses=4294967295 ses=1 res=1 [ 8.192190] カメラサブデバイスのメディアエンティティパッドを初期化した後の戻り値 = 0 [ 8.196776] カメラサブデバイスの非同期登録後の戻り値 = 0 [ 8.204482] func:imx290_retrieve_capture_properties を入力します [ 8.211560] imx290が検出されました。 lsmod: を実行すると、次のモジュールが作成されますが、vvcam_video モジュールはロードされません。 モジュールサイズ使用 vvcam_isp 65536 0 vvcam_dwe 28672 0 imx8_media_dev 20480 0 imx290_vvcam 147456 0 imx8_media_devモジュールを削除して再度modprobeを実行しようとしたところ imx290_vvcam 147456 1 モジュールは利用されるようになりましたが、まだビデオ ノードは作成されていません。 vvcam_videoをmodprobeするとロードされますが、再び利用されません。 vvcam_ビデオ 40960 0 この問題の解決にご協力ください。 よろしくお願いします、 ムケシュ・クマール Re: imx8mp isp video node not cteated 私たちは、imx415 カメラ センサ用の vvcam カメラ ドライバの開発に取り組んでいます。カメラセンサ用のドライバを開発できますか? Re: imx8mp isp video node not cteated こんにちは@quercuspau 、 ISPは現在正常に動作しています。もう問題はありません。その他の情報については、残念ながら開示できません。 よろしくお願いいたします。 K. Re: imx8mp isp video node not cteated こんにちは@khang_letruong 、 私が読んだ限りでは、カメラを ISP で動作させることができたようですが、撮影した写真はどれくらいきれいですか?また、ある投稿で、NXP カメラ支援会社と契約し、xml および drv ファイルを受け取った後でも、画像キャリブレーション パラメータにまだ問題があると読みました。解決できましたか?質問させてください。カメラのパラメータを調整するために、サポート会社にどれくらいの費用がかかりますか? BR Re: imx8mp isp video node not cteated こんにちは@quercuspau 、 正直に言うと、OV2775 と OS08A20 の組み合わせは、Basler カメラと比較すると 2 つの優れたオープンな例です。 カスタム センサーが接続する I2C バス/ノード (および gpio、アドレスなどのプロパティ)、mipi-csi2 ノード (およびレーン数などのプロパティ) に関して、デバイス ツリーを調整する必要がある場合があります。 BR、 K Re: imx8mp isp video node not cteated こんにちは@mukesh_kumar 、 おそらく、isp_media_server が使用する .drv を生成するための上位層 (isp-imx の ISI 層) と、必要なカーネル モジュールとセンサ自体のキャリブレーション構成をロードするためのスクリプトを参照しているのでしょう。ただし、これはこのチケットの最初の主題とは別の主題です。つまり、imx290_vvcam であるカーネル モジュールの正常なプローブに続いて /dev/videoX が作成されることです。 あなたが言及したリンクでの説明は、imx290 の .drv を含む上位層を実装するのに十分であると思います。 BR、 K. Re: imx8mp isp video node not cteated こんにちは@khang_letruong 返信ありがとうございます。 実行スクリプトを確認したところ、imx290のサポートを追加するには、.drvファイルが必要です。ファイルと.xmlファイル https://community.nxp.com/t5/i-MX-Processors/ISP-working-in-i-MX8M-Plus/mp/1307705のディスカッションを参考に、imx290 用のものを生成してみました。 しかし私が命令を出すと ./build-isp-all リリース フル 部分的にビルディングされており、.drv は生成されません必要なファイルが isi/drv/ フォルダーに追加されているにもかかわらず、imx290 のファイルがありません。 よろしくお願いいたします。 ムケシュ Re: imx8mp isp video node not cteated こんにちは@mukesh_kumarと@khang_letruong 私が正しく理解していれば、ov2775 モジュールを参照として使用し、それを imx290 ドライバ レジスタ構成に適合させたことになります。デバイス ツリー カメラ側では変更は予想されません。ov2775 の同じ xml と drv を imx290 に使用しても大丈夫ですか? よろしくお願いします。 Re: imx8mp isp video node not cteated こんにちは@quercuspau センサ移植ガイドによると、ISPをサポートするセンサはvvcamに存在するはずですが、vvcamにはimx290ドライバが存在しません。 よろしくお願いいたします ムケシュ Re: imx8mp isp video node not cteated 良い! Re: imx8mp isp video node not cteated こんにちは、 すでに利用可能なimx290用ドライバーをispで使用することはできませんか? imx8mpとISPで同じセンサを使用する予定です。しかし、まだ始めていない BR Re: imx8mp isp video node not cteated こんにちは@mukesh_kumar 、 まず、vvcamカーネルドライバ(imx290_vvcam.cから生成されたmx290_vvcam.ko)がたとえば、isp-imx フレームワーク内で run.sh スクリプトを実行すると、正しくロードされます。imx290 センサを追加するように変更することもできます。 次に、 dmesgに次の行があることを確認します (つまり、パイプライン I2C センサ -> mipi-csi2 --> isp が dts で適切にリンクされています)。 [ 7.884122] mx8-img-md: created link [imx290 1-001a] => [mxc-mipi-csi2.0] ov2775 などと同様に、プローブ関数内の以下のコード スニペットで、すべての V4L2 関数が正常に返されることを確認できます。 sd = &sensor->subdev; v4l2_i2c_subdev_init(sd, client, &ov2775_subdev_ops); sd->flags |= V4L2_SUBDEV_FL_HAS_DEVNODE; sd->entity.function = MEDIA_ENT_F_CAM_SENSOR; sensor->pads[OV2775_SENS_PAD_SOURCE].flags = MEDIA_PAD_FL_SOURCE; retval = media_entity_pads_init(&sd->entity, OV2775_SENS_PADS_NUM, sensor->pads); sd->entity.ops = &ov2775_sd_media_ops; if (retval < 0) goto probe_err_power_down; retval = v4l2_async_register_subdev_sensor_common(sd); if (retval < 0) { dev_err(&client->dev,"%s--Async register failed, ret=%d\n", __func__,retval); goto probe_err_entity_cleanup; } Br、 K Re: imx8mp isp video node not cteated こんにちは@khang_letruong ご質問にご返信いただきありがとうございます。 私はisp_0ノードを使用しており、以下に示すようにデバイスツリーソースで同じものを有効にしています。 &カメラデバイス { ステータス = "正常"; }; &isi_0 { ステータス = "無効"; }; &isp_0 { ステータス = "正常"; }; 歪み補正 { ステータス = "正常"; }; 以前の返信で述べたように、Basler の場合にどのモジュール/サービスが vvcam_video モジュールを呼び出し、ov2775 および imx290 ではどのモジュール/サービスが呼び出されるのか理解できません。 よろしくお願いいたします。 ムケシュ Re: imx8mp isp video node not cteated こんにちは@mukesh_kumar 、 おそらく、dts で &isp_0 ノードまたは &isp_1 ノードを有効にすることを忘れた可能性があります。 よろしくお願いいたします K. Re: imx8mp isp video node not cteated こんにちは、 ov2775_mipi_v3.cを参考にしました。前述の imx290 ドライバ用の vvcam に存在するファイル。 起動中にimx8mp-evk-basler.dtbファイルをロードすると、 vvcam_isp 65536 1 vvcam_dwe 28672 1 vvcam_ビデオ 40960 1 imx8_media_dev 20480 0 basler_camera_driver_vvcam 20480 0 モジュール ----> vvcam_video、vvcam_isp、vvcam_dwe がロードされ、カメラが接続されていない場合でも利用されます。 起動時にimx8mp-evk-ov2775.dtbファイルをロードすると、 モジュールをロードしています ----> デバイスがなくても、カメラがコネクテッドでなくても vvcam_isp 65536 0 vvcam_dwe 28672 0 imx8_media_dev 20480 0 os08a20 32768 0 カメラがなくても、basler dtb の場合に vvcam_video をロードするトリガーがどれなのか理解できません。 私の場合、起動中に vvcam_video モジュールをロードできないので、これを理解するのを手伝ってください。 また、imx290 モジュールがロードされる前でも imx8_media_dev モジュールがロードされます。モジュール プローブが成功した後に imx8_media_dev をロードするにはどうすればよいでしょうか? /etc/ フォルダーの下にファイルモジュールを作成し、順序を imx290、imx8_media_dev のままにしてみましたが、機能しませんでした。 誰かこの2つの問題を解決するのを手伝ってくれませんか。 ありがとう、 ムケシュ・クマール。 Re: imx8mp isp video node not cteated こんにちは、 @SiddavatamVishnuさん、 その質問は私宛てのものでしょうか?はい、そうであれば、私の答えは「はい」です。IMX415 用のドライバを開発できます。 ありがとう、そしてよろしく。 カン Re: imx8mp isp video node not cteated ああ、返信ありがとう。 ISP チューニング プロセス、要件、環境の設定方法などに関する知識を共有していただけますか。 もう一度、返信をくれた@khang_letruongさん。 ヴィシュヌS
查看全文
i.MX95 電源管理の概要 添付のスライドでは、次のトピックで i.MX95 の電源管理を紹介しています。 SoC Power Architecture BSPによる電源管理 電源のオン/オフと再起動 実装を一時停止 低電力実行 IMX95EVK
查看全文
哪个版本的32DS+RTD适合S32K311芯片开发 我现在用的S32DS是V3.6.5版本,rtd是6.0.0,里面只有少量SDK的示例,我想找一个完整的S32K311芯片的SDK开发包用于如下外设的开发:CAN,LIN,ADC,DAC,睡眠唤醒,Timer,PWM等。请问我应该下载哪个版本的S32DS和RTD。 Re: 哪个版本的32DS+RTD适合S32K311芯片开发 嗨,@DonnaZhang、 RTD 包中附带的示例是大多数(如果不是全部)可用示例。大多数 RTD 示例项目仅提供有限的衍生品,主要是评估板 (EVB),因此也适用于少数支持的衍生品;这导致大多数示例可用于:S32K344、S32K358、S32K388、S32K389 和 S32K396。 RTD 封装已经提供了 C AN 、 LIN 、 ADC 、 定时器 和 PWM 的示例。 至于低功耗示例,你可以直接参考以下社区帖子:S32K3 低功耗管理 AN 和演示 & [RTD600 MCAL & IP] S32K3 低功耗管理 AN 和演示。 关于 S32K311 示例,您可以在我们的公共社区中搜索,因为恩智浦工程师或其他客户已经添加了一些示例: 所有示例 S32K312 DS3.5 RTD-3.0.0 所有示例 S32K3 T-BOX:S32DS-3.5:RTD-3.0.0 S32K 知识库 - NXP 社区 最后,如果你发现了一个为不同衍生产品开发的有用示例,你仍然可以使用相同的源代码(只要功能相同),并导入配置。 最可行的办法是使用相应的 MCU 生成一个新的 S32DS 项目,然后从现有项目中复制应用程序源文件以及对项目属性进行的任何自定义。如果使用 S32 配置工具设置引脚、时钟和外设,则可将这些设置导入新系统。 如果您在创建、移植或导入任何示例项目时遇到任何问题,可以在社区中发布您的问题,或创建支持票据,指定的工程师会帮助您解决。 致以最诚挚的问候, Julián
查看全文
(88w8897) 能否禁用 2.4GHz 功能? 亲爱的恩智浦, 有没有可能完全关闭 2.4GHz? 我们希望在驱动程序层面禁用对 2.4GHz 的支持。 来自此链接: 禁用 88W8987 的 5GHz 频段中,我们可以看到在加载驱动程序时,可以使用dev_cap_mask启用对特定频段的支持。但是,没有任何文档说明 dev_cap_mask 的每一位应如何配置。 如果我们只想关闭 2.4GHz,dev_cap_mask 应设置为多少值? Re: (88w8897) is disabling 2.4GHz capabilities possible? 您好, You can refer tohttps://community.nxp.com/t5/Wi-Fi-Bluetooth-802-15-4/How-to-disable-the-2-4GHz-band-on-the-88W8897/td-p/2047926. 此致, 丹尼尔 Re: (88w8897) is disabling 2.4GHz capabilities possible? 你好, 我们希望使用 dev_cap_mask 禁用 2.4GHz 功能。 能否提供有关 dev_cap_mask 的更多信息? BR, Peter
查看全文
JTAG security in S32K311 about Security levels and Mass erase Hi,  May I know about the steps for locking and unlocking process. Is it possible to mass erase and unlocking mechanism in S32K311 microcontroller ? Re: JTAG security in S32K311 about Security levels and Mass erase Hello @truptikavadi1 , Thanks for your post.  No, S32K1xx works exactly as you described, however, S32K3xx does not. If you would like to obtain more information related to S32K3xx security, please note that since this is a K32L channel, that product is beyond the scope of my support. I recommend creating a new post on S32K - NXP Community, where the appropriate supporters will be able to assist you further. Thanks for your understanding. BR Celeste   ---------------------------------------------------------------------------------------------------------------------- Note: If this post answers your question, please click the "ACCEPT AS SOLUTION" button. Thank you! ----------------------------------------------------------------------------------------------------------------------
查看全文
S32K344 MCAL 配置错误:增强型 RX FIFO 我想启用增强型 RX FIFO 功能,但报告出错。如何解决这个问题? 描述:节点值无效"/Can/Can/CanConfigSet/CanController_1/CanRxFiFo" :物理控制器不支持增强型 FIFO Re: S32K344 MCAL config error:Enhanced RX FIFO 感谢您的回复。 在当前应用中,CAN FD 报文格式使用的是 FlexCAN_1。我想逐个过滤接收到的 CAN ID(因为全局掩码只能是 7FF)。我应该采用什么方法? Re: S32K344 MCAL config error:Enhanced RX FIFO 你好,我是@梁勇峰、 如果使用 S32K344(或类似的衍生产品),则只有 FlexCAN_0 支持增强型 RX FIFO: 致以最诚挚的问候, Julián Re: S32K344 MCAL config error:Enhanced RX FIFO 你好,我是@梁勇峰、 您可以使用单个邮箱并为每个邮箱设置一个 ID,而不是使用增强型 RX FIFO。 FlexCAN 支持每个 MB 的单独屏蔽(IRMQ 位已设置)或全局屏蔽方案(IRMQ 已清除)。例如 邮箱 ID 掩码 MB4 0x100 0x7FF MB5 0x101 0x7FF MB6 0x102 0x7FF 致以最诚挚的问候, Julián
查看全文
i.MX 93 プロセッサ: セキュアブートの実 インストール方法 - 実践 (日本语ブログ) 前の記事はi.MX 93を例にセキュアブートの士组みについて解説を行いました。 (前章については前章を、次章をご参照ください。) 注: i.MX 93 プロセッサ: セキュアブートの署名と認定公式グループみを解説 (日本語ブログ) 今回は、実记にセキュアブートを実装するためのハンズオンフォームをご紹介します。 目次 i.MX 93 セキュアブートハンズオン 1. 実践的な環境 2. ホストPCのセットアップ(Linux) 3. コード署名ツールのダウンロード 4. SRKの生成 5. gitのセットアップ 6. i.MX Linux BSPのダウンロード 7.meta-imx-frdmのダウンロード 8.meta-nxp-security-reference-designのダウンロード 9. ビルド環境のセットアップ 10. イメージのビルド 11. 途中でbitbakeが再び開かれる場合 12. サインをやりたい 13. RAMディスクの署名 14. ホストPCと目的の接続 15. UUUのインストール(Linux) 16. UUUのインストール(Windows) 17. コンソール(Linux) 18. コンソール(Windows) 19. Linux 起動テスト(1) 19.1.シリアルダウンロードとLinuxの起動 19.2.SDまたはeMMCでLinux起動 20. SRKハッシュをヒューズに书き込み 21. Linux 起動テスト(2) 22. OEM が終了して移行 23. Linux 起動テスト(3) 24. 参考文献 i.MX 93 セキュアブートハンズオン¶ i.MX 93 プロセッサで Advanced High Assurance Boot (AHAB) を使用したセキュア ブートを実装するための手顺を紹介します。 1.実践的な環境 ホストPC: Yocto は、Linux PC および Windows PC に最適な環境 (WSL2、VMware、VirtualBox など) です。 OSはUbuntu 22.04です。 続への接続にはネットワークを使用する必要があります。 ストレージ容量は約100GBです。(FRDM-IMX93 core-image-minimalの場合) UUU、コンソールによる仕事はLinux PCでもWindows PCでも可能です。 UUUはLinux版、Windows版がそれぞれあります シリーズコンソールは、Linux PCではscreenやminicomなどを、Windows PCではTeraTermやPuTTYなどを使うのが一般です。 ターゲット: FRDM-IMX93 microSDまたはeMMCを使用します。 ホスト PC とターゲットには 2 本の USB ケーブルが接続されています。 i.MX Linux BSP 6.6.36-2.1.0(GitHub) meta-imx-frdm (ブランチ: lf-6.6.36-2.1.0、タグ: imx-frdm-4.0)(GitHub) meta-nxp-security-reference-design (ブランチ: scarthgap-6.6.23-2.0.0) (GitHub) 2.ホストPCのセットアップ(Linux) ¶ ホストPCのOSはUbuntu 22.04です。システムを最新ステータス更新します。 $ sudo apt-get -y update $ sudo apt-get -y upgrade Yoctoでイメージをビルドするために必要なパッケージをインストールします。 imx-dockerのDockerfileをリファレンスしています。 $ sudo apt-get -y install gawk wget git-core diffstat unzip texinfo \ gcc-multilib build-essential chrpath socat file cpio python3 \ python3-pip python3-pexpect xz-utils debianutils iputils-ping \ libsdl1.2-dev xterm tar locales net-tools rsync sudo vim curl zstd \ liblz4-tool libssl-dev bc lzop libgnutls28-dev efitools git-lfs \ bsdmainutils 今回の宿題は ~/imx93-secure-boot 上の、HOME宿題.ディレクトリの場所や名前は任意ですので、必要に応じて読んで代えてください。 $ mkdir ~/imx93-secure-boot $ cd ~/imx93-secure-boot ホスト PC の最終プログラムは、次のプログラムに基づいています。 imx93-secure-boot ├── IMX_CST_TOOL_NEW.tgz ├── cst-4.0.1 │ ├── ... │ ├── keys │ ├── crts │ └── linux64 │ └── bin ├── backup-cst └── yocto ├── ... ├── bin ├── build-imx93-11x11-lpddr4x-frdm │ ├── ... │ ├── conf │ └── tmp │ └── deploy │ └── images │ └── imx93-11x11-lpddr4x-frdm ├── downloads └── sources ├── ... ├── meta-imx ├── meta-imx-frdm └── meta-nxp-security-reference-design   3.コード署名ツールのダウンロード¶ コード署名ツール (以下、CST)、i.MX プロセッサの高保証ブート (HAB)、および高度な高保証ブート (AHAB) 機能は、i.MX プロセッサの署名および署名機能に基づいています。 NXP の Web ブラウザの最新バージョン。 コード署名ツール(最新バージョン) i.MX ソフトウェアおよび開発ツール ページの下の先にはコード署名ツールへのリンクがあります。 最新バージョンをダウンロードすると、 IMX_CST_TOOL_NEW.tgz というファイルなので、最上位のディレクトリに保存してから、展開します。 $ cd ~/imx93-secure-boot $ cp ~/Downloads/IMX_CST_TOOL_NEW.tgz . $ tar xf IMX_CST_TOOL_NEW.tgz 拡張すると (2025/08 最新の最新バージョンです) cst-4.0.1 というディレクトリに開発されます。バージョンが異なる場合は読み替えてください。 4. SRK生成¶ CSTはセキュアブートのためのSuper Root Key(以下SRK)を使用して生成を行います。詳細は以下をご参照ください。 UG10106、コード署名ツール ユーザーガイド、Rev. 4.0.1 — 2025年6月27日 cst-4.0.1/docs/UG10106_Rev4.0.1.pdfにあります。 ahab_pki_tree.shでSRKを生成します。オプションとして次の選択が行われます。 既存の CA キーは「するか/n で選択します」を使用しています。 使用する場合、CA キー名と CA 証明書名が使用されます。 SRK のキー タイプは rsa、rsa-pss、ecc から選択します。 rsa、rsa-pss、キーのビット长を2048、3072、4096から選択します。 eccの場合はキーが長く、p256、p384、p521とキーが選択されます。 ダイジェストアルゴリズムをsha256、sha384、sha512から選択します。 SRKの有効期間は年数によって決まります。 SRKをCA証明書は証明書によって生成され、証明書の証明書は証明書/nで選択します。 今回SRKで生成した設定は以下のとおりです。 既存の CA ではない キータイプ = ecc キーの長さ = p384 ダイジェストアルゴリズム = sha384 期間 = 10年 ユーザー証明書としての生成 ahab_pki_tree.shでインタラクティブにSRKの成を行う機会は、以下のような手顺になります。 $ cd ~/imx93-secure-boot $ cd cst-4.0.1/keys $ ./ahab_pki_tree.sh ... Do you want to use an existing CA key (y/n)?: n Do you want to use Elliptic Curve Cryptography (y/n)?: y Enter length for elliptic curve to be used for PKI tree: Possible values p256, p384, p521: p384 Enter the digest algorithm to use: sha384 Enter PKI tree duration (years): 10 Do you want the SRK certificates to have the CA flag set? (y/n)?: n ... $ cd - その際の指定には ahab_pki_tree.sh のパラメータが使用され、次のようなものが便利です。 $ cd ~/imx93-secure-boot $ cd cst-4.0.1/keys $ ./ahab_pki_tree.sh -existing-ca n -kt ecc -kl p384 -da sha384 -duration 10 -srk-ca n $ cd - 時間に、i.MX プロセッサーのヒューズに証明書のハッシュ値を、srktool で生成します。 $ cd cst-4.0.1/crts $ ../linux64/bin/srktool -a -d sha256 -s sha384 -t SRK_1_2_3_4_table.bin \ -e SRK_1_2_3_4_fuse.bin -f 1 \ -c SRK1_sha384_secp384r1_v3_usr_crt.pem,SRK2_sha384_secp384r1_v3_usr_crt.pem,SRK3_sha384_secp384r1_v3_usr_crt.pem,SRK4_sha384_secp384r1_v3_usr_crt.pem 警告 -cオプションで指定する4つのファイル名は、コンマのみOKで、スペースなどの文が入らないようご注意ください。 正常に終了し、SRK_1_2_3_4_table.bin と SRK_1_2_3_4_fuse.bin が生成されます。この2つのファイルが正しく生成されます確認します。 SRK_1_2_3_4_table.bin の sha256 ダイジェストを意味します。 $ openssl dgst -binary -sha256 SRK_1_2_3_4_table.bin | hexdump -e '/4 "0x"' -e '/4 "%08x""\n"' このダイジェストとSRK_1_2_3_4_fuse.binが同じ内容であることを確認します。 $ hexdump -e '/4 "0x"' -e '/4 "%08x""\n"' SRK_1_2_3_4_fuse.bin | tee srk_fuse.txt じであれば、SRK_1_2_3_4_table.bin と SRK_1_2_3_4_fuse.bin が正しく生成されていると卡えられます。 i.MX 93のヒューズに书き込み値は証明書のハッシュ夤、ちなみにsrk_fuse.txtに书かれた内容になります。 ございます。元のファイルをu-boot_cmd_temp.txtというファイル名で制作します。これは、i.MX 93のヒューズ、Bank 16、Word 0-7に书き込み(プログラミング)を行うためのコマンドのテンプレートになります。 fuse prog -y 16 0 fuse prog -y 16 1 fuse prog -y 16 2 fuse prog -y 16 3 fuse prog -y 16 4 fuse prog -y 16 5 fuse prog -y 16 6 fuse prog -y 16 7 u-boot_cmd_temp.txtにヒューズが书かれたsrk_fuse.txtを右側に有料にして、u-boot_cmd.txtというファイルが生成されます。 $ paste -d" " u-boot_cmd_temp.txt srk_fuse.txt | tee u-boot_cmd.txt 以下の形式のu-boot_cmd.txtが生成されます。本文が完成したら、本文を参照してください。 fuse prog -y 16 0 fuse prog -y 16 1 fuse prog -y 16 2 fuse prog -y 16 3 fuse prog -y 16 4 fuse prog -y 16 5 fuse prog -y 16 6 fuse prog -y 16 7 今回は、Yocto のセキュアブートが自動生成されます。そのプロセスでnxp-cst-signerというツールが実行されます。 nxp-cst-signerはCSTディレクトリの正下にある設定ファイル(csf_ahab.cfg)を参照するルールになっているため、 ~/imx93-secure-boot/cst-4.0.1/csf_ahab.cfg します。 $ cd ~/imx93-secure-boot $ cd cst-4.0.1 $ edit csf_ahab.cfg 以下の設定を行い、以下の説明を保存します。 #Header header_version=1.0 #Install SRK srktable_file=SRK_1_2_3_4_table.bin srk_source=SRK1_sha384_secp384r1_v3_usr_crt.pem srk_source_index=0 srk_source_set=OEM srk_revocations=0x0 #Install Certificate sgk_file= sgk_permissions= CSTの設定が完了しました。 このCSTディレクトリは、ヒューズを书きつけたi.MX 93デバイスのソフトウェアに署名する際になりますので、入手して安全な場所に長期間保管する必要があります。 $ cd ~/imx93-secure-boot $ mkdir backup-cst $ tar cf backup-cst/cst-4.0.1_$(date +"%Y%m%d-%H%M%S").tar.gz cst-4.0.1/   5. gitのセットアップ¶ Yoctoのビルドを行う记に、gitのユーザー名とメールアドレスを登录していないとエラーになる機会がありますので、していない機会は登録します。 $ git config --global user.name "Your Name" $ git config --global user.email "[email protected]"   6. i.MX Linux BSPのダウンロード¶ Yocto ビルドはのディレクトリを使用して「します」を作成します。 $ cd ~/imx93-secure-boot $ mkdir yocto $ cd yocto リポツールをダウンロードします。 $ mkdir bin $ curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > bin/repo リポジトリに実行権を支払って、PATH を守ることで使用できるようになります。 $ chmod a+x bin/repo $ PATH=${PATH}:$(pwd)/bin repoでi.MX Linux BSP 6.6.36-2.1.0のレシピをダウンロードするための初期化を行います。 $ repo init -u https://github.com/nxp-imx/imx-manifest -b imx-linux-scarthgap -m imx-6.6.36-2.1.0.xml リポでi.MX Linux BSP 6.6.36-2.1.0のレシピをダウンロードします。 $ repo sync   7.meta -imx-frdmのダウンロード¶ FRDM-IMX93 は追加のメタレイヤーを使用します。 $ cd sources $ git clone https://github.com/nxp-imx-support/meta-imx-frdm -b imx-frdm-4.0 $ cd ..   8.meta -nxp-security-reference-designのダウンロード¶ Yoctoによるセキュアブートの自動ビルドを行うための追加メタレイヤーをダウンロードします。 このレイヤには i.MX Linux BSP 6.6.36-2.1.0 は「存在しませんが」を使用し、近似のscarthgap-6.6.23-2.0.0ブランチを「します」を使用します。 $ cd sources $ git clone https://github.com/nxp-imx-support/meta-nxp-security-reference-design -b scarthgap-6.6.23-2.0.0 $ cd .. このレイヤーをFRDM-IMX93に適用すると、署名を行った時にi.MX 93 EVKのdtbが使われてしまう無合があるため修正をしてください。 (このコントリビューションリファレンスにしています。 < https://github.com/nxp-imx-support/meta-nxp-security-reference-design/pull/2 > ) diff --git a/meta-secure-boot/recipes-secure-boot/imx-mkimage/imx-boot_%.bbappend b/meta-secure-boot/recipes-secure-boot/imx-mkimage/imx-boot_%.bbappend index 1bbc7b2..6a2f069 100644 --- a/meta-secure-boot/recipes-secure-boot/imx-mkimage/imx-boot_%.bbappend +++ b/meta-secure-boot/recipes-secure-boot/imx-mkimage/imx-boot_%.bbappend @@ -15,7 +15,7 @@ do_compile:append:ahab() { mv ${BOOT_STAGING}/flash.bin ${BOOT_STAGING}/flash.bak # Invoke mkimage again to Get container info - make SOC=${IMX_BOOT_SOC_TARGET} flash_kernel + make SOC=${IMX_BOOT_SOC_TARGET} ${MKIMAGE_EXTRA_ARGS} flash_kernel # Rename kernel image name and move back the imx-boot flash image name mv ${BOOT_STAGING}/flash.bin ${BOOT_STAGING}/flash_os.bin   9.ビルド環境のセットアップ¶ Yocto ビルドのプロジェクトのセットアップを行います。 FRDM-IMX93は以下のような場合に適しています。 $ MACHINE=imx93-11x11-lpddr4x-frdm DISTRO=fsl-imx-xwayland EULA=1 source sources/meta-imx-frdm/tools/imx-frdm-setup.sh -b build-imx93-11x11-lpddr4x-frdm コマンドが正常終了すると、build-imx93-11x11-lpddr4x-frdmディレクトリにモバイルしています。 のコマンドで、 meta-nxp-security-reference-design/meta-secure-boot をレイヤーとして追加します。これは自動にセキュアブートの署名を行うために必要です。 $ bitbake-layers add-layer ../sources/meta-nxp-security-reference-design/meta-secure-boot ここでプロジェクトの設定(local.conf).エディタでlocal.confを开きますに「を行います」を追加しました。 $ edit conf/local.conf local.conf の最後に最初の行を追加します。これにより、ramboot するための rootfs が追加で生成されます。 IMAGE_FSTYPES:append = " cpio.gz.u-boot" local.conf の最後に最初の行を追加します。 CST_PATH 値は CST_PATH によって設定されます。 これは、meta-nxp-security-reference-designがCSTディレクトリを参照するために必須です。 CST_PATH = local.conf の最後に最初の行を追加します。 これは、meta-nxp-security-reference-designがFRDM-IMX93のカーネルとdtbに署名を支払う時にi.MX 93 EVKのdtbを组み込んでしまうので質問を回避するためです。 MKIMAGE_EXTRA_ARGS:imx93-11x11-lpddr4x-frdm = "KERNEL_DTB=imx93-11x11-frdm.dtb" エディタを終了してlocal.confを保存します。   10.イメージのビルド¶ 今回はサイズを小さくして、かつ、セキュア ブートの署名を自動に行います core-image-minimal-secure-boot をbitbakeします。時間が経って処理が終わりました。 $ bitbake core-image-minimal-secure-boot -k イメージのビルドが正常に終了すると、次の2つのファイルが生成されます。 1つ目は署名paykibootloaderで、2つ目はlinuxカーネルとdtbが組み合わせられた署名paykiOSコンテナです。 $ stat tmp/deploy/images/imx93-11x11-lpddr4x-frdm/signed-imx-boot-imx93-11x11-lpddr4x-frdm-sd.bin-flash_singleboot $ stat tmp/deploy/images/imx93-11x11-lpddr4x-frdm/os_cntr_signed.bin Signed to pay kiBootloader と Signed to pay OS コンテナをグループみき投げイメージファイルも生成されています。 $ stat tmp/deploy/images/imx93-11x11-lpddr4x-frdm/core-image-minimal-secure-boot-imx93-11x11-lpddr4x-frdm.rootfs.wic.zst Linux でシリアル ダウンロードを開始すると、RAM ディスクを使用してシリアル ダウンロードが生成されます。このファイルはその後ですによって署名されています。 ( RAMディスクによる署名) $ stat tmp/deploy/images/imx93-11x11-lpddr4x-frdm/core-image-minimal-secure-boot-imx93-11x11-lpddr4x-frdm.rootfs.cpio.gz.u-boot   11. bitbakeから开开开到了したい機会¶ Bitbake は途中で中断され、シェルは時々再起動され、必要に応じて Yocto 環境値が設定されます。そのためには、次のスクリプトを使用します。 $ cd ~/imx93-secure-boot $ cd yocto $ source setup-environment build-imx93-11x11-lpddr4x-frdm   12.をやりたいの署名付き¶ SRKしたときなど、署名をやりたい機会は、 imx-boot 、 imx-boot-signature 、 linux-imx-signature とイメージ(この章 core-image-minimal-secure-boot ) の 4 つのパッケージをクリーンオールして、イメージを Zai ビルドします。 $ bitbake imx-boot imx-boot-signature linux-imx-signature core-image-minimal-secure-boot -c cleanall $ bitbake core-image-minimal-secure-boot -k   13. RAMディスクの署名¶ イメージのビルドが正常に終了したら、deploy ディレクトリに 2 つのツールが存在します。 mkimage_imx8 はコンテナを作るツールですによって起動されます。 cst_signerはコンテナに署名を行うツールです。 $ stat tmp/deploy/images/imx93-11x11-lpddr4x-frdm/imx-boot-tools/mkimage_imx8 $ stat tmp/deploy/images/imx93-11x11-lpddr4x-frdm/imx-boot-tools/cst_signer また、deployディレクトリにramdiskファイルも存在します。 $ stat tmp/deploy/images/imx93-11x11-lpddr4x-frdm/core-image-minimal-secure-boot-imx93-11x11-lpddr4x-frdm.rootfs.cpio.gz.u-boot mkimage_imx8とcst_signerを使って、ramdiskファイルに署名をします。 本来はmkimage_imx8でramdiskをコンテナにします。コマンドの形式は以下のとおりです。 $ INITRD= $ INITRD_ADDR= $ mkimage_imx8 -soc IMX9 -container -data ${INITRD} a55 ${INITRD_ADDR} -out 具体的なものは以下のとおりです。 $ tmp/deploy/images/imx93-11x11-lpddr4x-frdm/imx-boot-tools/mkimage_imx8 \ -soc IMX9 \ -container \ -data tmp/deploy/images/imx93-11x11-lpddr4x-frdm/core-image-minimal-secure-boot-imx93-11x11-lpddr4x-frdm.rootfs.cpio.gz.u-boot \ a55 \ 0x83800000 \ -out initrd_cntr.bin 時間にcst_signerでコンテナに署名します。コマンドの形式は以下のとおりです。 $ CST_PATH= cst_signer -d -i -c /csf_ahab.cfg 具体的なものは以下のとおりです。 $ CST_PATH=/home/nxp/imx93-secure-boot/cst-4.0.1 \ tmp/deploy/images/imx93-11x11-lpddr4x-frdm/imx-boot-tools/cst_signer \ -d \ -i initrd_cntr.bin \ -c /home/nxp/imx93-secure-boot/cst-4.0.1/csf_ahab.cfg 署名したramdiskはdeployディレクトリに手机お待ちしています。 $ mv signed-initrd_cntr.bin tmp/deploy/images/imx93-11x11-lpddr4x-frdm/ これでセキュアブートを行う環境がビルドできました。   14.ホストPCとターゲットの回線¶ ホスト PC とターゲットには 2 本の USB ケーブルが接続されています。 図 1 ホストPCの配線¶   15. UUUのインストール(Linux) ¶ Linux 版 UUU は次のサイトから uuu をダウンロードして、 /usr/local/bin などのPATH を通った場所に設定します。 UUU リリース (最新バージョン) < https://github.com/nxp-imx/mfgtools/releases/latest > 次のコマンドで、sudoなしでuuuを実行できるようにSETファイルをインストールします。 $ sudo sh -c "uuu -udev > /etc/udev/rules.d/70-uuu.rules" $ sudo udevadm control --reload ホストPCとFRDM-IMX93のUSB1ポートをUSB接続して、FRDM-IMX93をシリアルダウンロードモードに設定して電源をONにすると、 以下はFRDM-IMX93の情報の確認です。 $ uuu -lsusb uuu (Universal Update Utility) for nxp imx chips -- libuuu_1.5.201-11-gf2a4e3e Connected Known USB Devices Path Chip Pro Vid Pid BcdVersion Serial_no ==================================================================== 3:1224 MX93 SDPS: 0x1FC9 0x014E 0x0001 3A24F36BB35F4594   16. UUUのインストール(Windows) ¶ UUU の Windows バージョンは次の uuu.exe 構成されています。 UUU リリース (最新バージョン) < https://github.com/nxp-imx/mfgtools/releases/latest > ホストPCとFRDM-IMX93のUSB1ポートをUSB接続して、FRDM-IMX93をシリアルダウンロードモードに設定して電源をONにすると、 以下はFRDM-IMX93の情報の確認です。 > uuu -lsusb uuu (Universal Update Utility) for nxp imx chips -- libuuu_1.5.201-11-gf2a4e3e Connected Known USB Devices Path Chip Pro Vid Pid BcdVersion Serial_no ==================================================================== 3:1224 MX93 SDPS: 0x1FC9 0x014E 0x0001 3A24F36BB35F4594   17.コンソール(Linux) ¶ ホスト PC でコンソールを开きます。たとえば、 minicom でFRDM-IMX93のシリアルポートを開く」は次の条件を満たします。 $ minicom -D/dev/ttyACM0   18.コンソール(Windows) ¶ Windows のシリアルコンソールのアプリケーションで、FRDM-IMX93 の場合は COM ポート USB-Enhanced-SERIAL-A CH342 を使います。 i.MX 93 EVK の 4 番目のバージョン、EVK の 4 番目のバージョン、および COM のバージョンの 3 番目のバージョン。   19. Linux 起動テスト(1) ¶ ブートローダーとLinuxを起動して、AHABのエラーを確認します。 BOOT_MODEによって方法が異なりますので、いずれかを選択してテストします。 シリアルダウンロードとLinuxの起動 SDまたはeMMCでLinux起動   19.1.シリアルダウンロードとLinuxの起動¶ シリアルダウンロードでブートローダーとLinuxのスタートアップテストを行います。 3番目の「つのファイル」は「します」を使用します。 キブートローダーファイルによる署名 signed-imx-boot-imx93-11x11-lpddr4x-frdm-sd.bin-flash_singleboot Linuxカーネル os_cntr_signed.bin きのramdiskファイルの署名付き signed-initrd_cntr.bin 3つのファイルが以下のパスに存在することを確認します。 $ cd ~/imx93-secure-boot $ cd yocto/build-imx93-11x11-lpddr4x-frdm/tmp/deploy/images/imx93-11x11-lpddr4x-frdm $ stat signed-imx-boot-imx93-11x11-lpddr4x-frdm-sd.bin-flash_singleboot $ stat os_cntr_signed.bin $ stat signed-initrd_cntr.bin $ cd - UUUで実行するスクリプトファイル sdp-ramboot-yocto-signed.uuu を成します。 $ cd ~/imx93-secure-boot $ edit sdp-ramboot-yocto-signed.uuu 以下の内容を記述して保存します。 uuu_version 1.2.39 SDPS: boot -f yocto/build-imx93-11x11-lpddr4x-frdm/tmp/deploy/images/imx93-11x11-lpddr4x-frdm/signed-imx-boot-imx93-11x11-lpddr4x-frdm-sd.bin-flash_singleboot FB: ucmd ahab_status FB: ucmd setenv ramargs 'setenv bootargs ${jh_clk} console=${console} root=/dev/ram rw' FB: ucmd setenv ramboot 'echo Booting from initramfs ...; run ramargs; booti ${loadaddr} ${initrd_addr} ${fdt_addr};' FB: ucmd setenv fastboot_buffer ${cntr_addr} FB: download -f yocto/build-imx93-11x11-lpddr4x-frdm/tmp/deploy/images/imx93-11x11-lpddr4x-frdm/os_cntr_signed.bin FB: ucmd auth_cntr ${cntr_addr} FB: ucmd ahab_status FB: ucmd setenv fastboot_buffer ${cntr_addr} FB: download -f yocto/build-imx93-11x11-lpddr4x-frdm/tmp/deploy/images/imx93-11x11-lpddr4x-frdm/signed-initrd_cntr.bin FB: ucmd auth_cntr ${cntr_addr} FB: ucmd ahab_status FB: acmd run ramboot FB: done UUUでスクリプトを実行します。 $ uuu -d -v sdp-ramboot-yocto-signed.uuu FRDM-IMX93をシリアルダウンロードモードにSETUPして電源をONにすると、ブートローダーからLinuxが起動します。 AHAB のエラーは、Linux が起動する直接フロントに実行しました ahab_status コマンドの結果で判断します。 Authenticate OS container at 0x98000000 ... Lifecycle: 0x00000008, OEM Open 0x0287fad6 IPC = MU APD (0x2) CMD = ELE_OEM_CNTN_AUTH_REQ (0x87) IND = ELE_BAD_KEY_HASH_FAILURE_IND (0xFA) STA = ELE_SUCCESS_IND (0xD6) 0x0287fad6 IPC = MU APD (0x2) CMD = ELE_OEM_CNTN_AUTH_REQ (0x87) IND = ELE_BAD_KEY_HASH_FAILURE_IND (0xFA) STA = ELE_SUCCESS_IND (0xD6) 0x0287fad6 IPC = MU APD (0x2) CMD = ELE_OEM_CNTN_AUTH_REQ (0x87) IND = ELE_BAD_KEY_HASH_FAILURE_IND (0xFA) STA = ELE_SUCCESS_IND (0xD6) 0x0287fad6 IPC = MU APD (0x2) CMD = ELE_OEM_CNTN_AUTH_REQ (0x87) IND = ELE_BAD_KEY_HASH_FAILURE_IND (0xFA) STA = ELE_SUCCESS_IND (0xD6) Detect USB boot. Will enter fastboot mode! Booting from initramfs ... ## Loading init Ramdisk from Legacy Image at 83800000 ... Image Name: core-image-minimal-secure-boot-i Created: 2011-04-05 23:00:00 UTC Image Type: AArch64 Linux RAMDisk Image (uncompressed) Data Size: 56894907 Bytes = 54.3 MiB Load Address: 00000000 Entry Point: 00000000 Verifying Checksum ... OK ## Flattened Device Tree blob at 83000000 Booting using the fdt blob at 0x83000000 Working FDT set to 83000000 Using Device Tree in place at 0000000083000000, end 000000008300eaef Working FDT set to 83000000 fail to find output device probe video device failed, ret -19 Starting kernel ... [ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x412fd050] [ 0.000000] Linux version 6.6.36-lts-next-g20aa8fc92c79 (oe-user@oe-host) (aarch64-poky-linux-gcc (GCC) 13.3.0, GNU ld 4 [ 0.000000] KASLR disabled due to lack of seed [ 0.000000] Machine model: NXP i.MX93 11X11 FRDM board ... Linux が起動するまでに、u-boot-spl、u-boot、kernel+dtb、ramdisk の 4 回の認証が行われますが、まだ SRK Hash がヒューズに书かれていないステータスでは、4 回の認証エラー ELE_BAD_KEY_HASH_FAILURE_IND (0xFA) が発生したことがあります。 エラー ELE_NO_AUTHENTICATION_FAILURE_IND (0xEE) が出る場合は、「イメージに署名が無いので認証できなかった」という意味で、署名はきイメージのビルドが正しくできていない可能性があります。 Lifecycle: 0x00000008, OEM Open 0x0287eed6 IPC = MU APD (0x2) CMD = ELE_OEM_CNTN_AUTH_REQ (0x87) IND = ELE_NO_AUTHENTICATION_FAILURE_IND (0xEE) STA = ELE_SUCCESS_IND (0xD6) SRK ハッシュがヒューズに书かれて認定が正しく行われれば、AHAB のエラーがなくなり、次のように No Events Found! という意味になります。 Lifecycle: 0x00000008, OEM Open No Events Found!   19.2.SDまたはeMMCでLinux起動¶ FRDM-IMX93のBOOT_MODEスイッチをシリアルダウンロードモードに設定して電源をONにします。 SDブートの機会は书き込み可能なmicroSDカードをカードスロットに挿入してから、のコマンドでSDにイメージを书き込みます。 リスト 1 SD にき込み¶ $ cd ~/imx93-secure-boot $ cd yocto/build-imx93-11x11-lpddr4x-frdm/tmp/deploy/images/imx93-11x11-lpddr4x-frdm/ $ uuu -b sd_all signed-imx-boot-imx93-11x11-lpddr4x-frdm-sd.bin-flash_singleboot core-image-minimal-secure-boot-imx93-11x11-lpddr4x-frdm.rootfs.wic.zst $ cd - eMMC ブートの際は、次のコマンドで eMMC にイメージを书き込みます。 リスト 2 eMMC への組み込み¶ $ cd ~/imx93-secure-boot $ cd yocto/build-imx93-11x11-lpddr4x-frdm/tmp/deploy/images/imx93-11x11-lpddr4x-frdm/ $ uuu -b emmc_all signed-imx-boot-imx93-11x11-lpddr4x-frdm-sd.bin-flash_singleboot core-image-minimal-secure-boot-imx93-11x11-lpddr4x-frdm.rootfs.wic.zst $ cd - 本が読み終わり、FRDM-IMX93の電源がOFFになります。 FRDM-IMX93のBOOT_MODEスイッチを、SDブートモードまたはeMMCブートモードに設定して電源をONにします。 U-Bootの「起動」は「起動」を意味し、「起動」は「一時停止」を意味します。以下のコマンドを入力して、署名payKOSイメージ(kernel + dtb)を認証します。 リスト 3Signature payKIOS イメージの証明書¶ u-boot=> mmc dev ${mmcdev} u-boot=> mmc rescan u-boot=> run loadcntr u-boot=> run mmcargs u-boot=> run auth_os ahab_status コマンドを入力してAHABのエラーを確認します。 リスト 4 署名および認定されたエラー¶ u-boot=> ahab_status Lifecycle: 0x00000008, OEM Open 0x0287fad6 IPC = MU APD (0x2) CMD = ELE_OEM_CNTN_AUTH_REQ (0x87) IND = ELE_BAD_KEY_HASH_FAILURE_IND (0xFA) STA = ELE_SUCCESS_IND (0xD6) 0x0287fad6 IPC = MU APD (0x2) CMD = ELE_OEM_CNTN_AUTH_REQ (0x87) IND = ELE_BAD_KEY_HASH_FAILURE_IND (0xFA) STA = ELE_SUCCESS_IND (0xD6) 0x0287fad6 IPC = MU APD (0x2) CMD = ELE_OEM_CNTN_AUTH_REQ (0x87) IND = ELE_BAD_KEY_HASH_FAILURE_IND (0xFA) STA = ELE_SUCCESS_IND (0xD6) Linux するまでに、u-boot-spl、u-boot、kernel+dtb の 3 期の認証が行われますが、先に SRK ハッシュがヒューズに书かれていないステータスでは、3 回の認証エラー ELE_BAD_KEY_HASH_FAILURE_IND (0xFA) が発生したことがあります。 エラー ELE_NO_AUTHENTICATION_FAILURE_IND (0xEE) が出る場合は、「イメージに署名が無いので認証できなかった」という意味で、署名はきイメージのビルドが正しくできていない可能性があります。 リスト 5署名なしイメージの機会¶ Lifecycle: 0x00000008, OEM Open 0x0287eed6 IPC = MU APD (0x2) CMD = ELE_OEM_CNTN_AUTH_REQ (0x87) IND = ELE_NO_AUTHENTICATION_FAILURE_IND (0xEE) STA = ELE_SUCCESS_IND (0xD6) SRK ハッシュがヒューズに书かれて認定が正しく行われれば、AHAB のエラーがなくなり、次のように No Events Found! という意味になります。 リスト 6 AHABエラー無しの場合¶ Lifecycle: 0x00000008, OEM Open No Events Found! 最後に、次のコマンドを実行して、Linux のログインプロンプトまで開始することを確認します。 リスト7 Linuxの起動¶ u-boot=> run boot_os   20. SRKハッシュをヒューズに书き込み¶ i.MX 93のヒューズバンク16、Word 0-7の値が0x00000000であることを確認します。 u-boot=> fuse read 16 0 u-boot=> fuse read 16 1 u-boot=> fuse read 16 2 u-boot=> fuse read 16 3 u-boot=> fuse read 16 4 u-boot=> fuse read 16 5 u-boot=> fuse read 16 6 u-boot=> fuse read 16 7 SRKの制作 u-boot_cmd.txt が確認されました。 (ここでは実记の値ではなく ~ という面记をしています。) $ cd ~/imx93-secure-boot $ cat cst-4.0.1/crts/u-boot_cmd.txt fuse prog -y 16 0 fuse prog -y 16 1 fuse prog -y 16 2 fuse prog -y 16 3 fuse prog -y 16 4 fuse prog -y 16 5 fuse prog -y 16 6 fuse prog -y 16 7 u-boot_cmd.txt 通りに、u-bootのプロンプトからSRKハッシュをヒューズに书き込みます。 (ここでは実记の値ではなく ~ という面记をしています。) 警告 ヒューの书き込みは一度きりであり、元に戻すことはできません。しっかり確認して丁寧に作業をすることが大切です。 u-boot=> fuse prog -y 16 0 u-boot=> fuse prog -y 16 1 u-boot=> fuse prog -y 16 2 u-boot=> fuse prog -y 16 3 u-boot=> fuse prog -y 16 4 u-boot=> fuse prog -y 16 5 u-boot=> fuse prog -y 16 6 u-boot=> fuse prog -y 16 7   21. Linux 起動テスト(2) ¶ ブートローダーとLinuxを起動して、AHABのエラーを確認します。 Linux起動プログラム(1)と同様の方法です。 シリアルダウンロードとLinuxの起動 SDまたはeMMCでLinux起動 ahab_status ハッシュ hash はされる No Events Found! です。これは署名が支払います きイメージがすべて認証されたことを意味します。 Lifecycle: 0x00000008, OEM Open No Events Found!   22. OEM のクローズと移行¶ i.MX 93デバイスのライフサイクルがOEMクローズすることで、署名された支払いきイメージのみstartできるようになり、署名のいイメージや、間違った署名きイメージはstartできなくなります。 きイメージで開始して ahab_status コマンドでAHABエラーが無いことを確認しました。 u-boot=> ahab_status Lifecycle: 0x00000008, OEM Open No Events Found! ahab_close コマンドを実行すると、OEM Closedに再配置されます。 警告 OEM Closedへの移行は一度であり、OEM OpenのSTATEに戻すことはできません。しっかり確認して丁寧に作業をすることが大切です。 u-boot=> ahab_close Warning: Please ensure your sample is in NXP closed state, OEM SRK hash has been fused, and you are able to boot a signed image successfully without any SECO events reported. If not, your sample will be unrecoverable. Really perform this operation? y Change to OEM closed successfully u-boot=> リセットを行うと、からOEMクローズとなります。サイン入りきイメージであれば再起動します。 u-boot=> reset resetting ... U-Boot SPL 2024.04+gde16f4f1722+p0 (Sep 02 2024 - 10:44:35 +0000) SOC: 0xa1009300 ... ahab_status コマンドを実行すると、OEM Closedに再配置されていることがわかります。 u-boot=> ahab_status Lifecycle: 0x00000020, OEM closed No Events Found! u-boot=>   23. Linux 起動テスト(3) ¶ ブートローダーとLinuxを起動できることを確認します。 Linux起動プログラム(1)と同様の方法です。 シリアルダウンロードとLinuxの起動 SDまたはeMMCでLinux起動 Linux が正常に起動し、セキュア ブートも成功しました。   24.参考文献¶ i.MX 93 アプリケーションプロセッサリファレンスマニュアル i.MX 93 アプリケーションプロセッサ セキュリティリファレンスマニュアル、Rev. 5、2025-03-04 (Get はi.MX 93 サイトセキュアドキュメントのセキュリティリファレンスマニュアルのリンクからリクエストを信して、承認されましたとNXPからダウンロードURLのメールが来ます)。 UG10106、コード署名ツール ユーザーガイド、Rev. 4.0.1 — 2025年6月27日 (CSTのパッケージにあります。cst-4.0.1/docs/UG10106_Rev4.0.1.pdf) U-Boot AHAB文書 AN12312、AHAB 対応デバイスでのセキュアブート UG10195、i.MX FRDM ソフトウェア ユーザー ガイド UM12181、FRDM-IMX93ボード ユーザーマニュアル meta-imx-frdm README (imx-frdm-4.0) meta-nxp-security-reference-design/meta-secure-boot README (scarthgap-6.6.23-2.0.0) この情報は、NXP 製品で使用するための参考資料です。 正式な様は製品マニュアル・アプリケーションノートを指します。 ソフトウェアのバージョンなど、さまざまな条件や条件の違い、その時々の状況に応じた内容や動作の説明を記載しています。 使用目的に適合した機能試験証明書であり、使用目的に適合していることを証明します。 ========================= この投稿の 「 コメント 」欄は 投稿者によって書かれており、返信レターも投稿者によって書かれるようになりました 。 おロット番号を電話しますが、お質問い合わせの间には「 NXP への技術的な質問 - い合わせ方法( 日本語ブログ) 」をご参照ください 。 (弊社は NXP 社の代理店であり、 NXP社 のNXPディーラー であり、NXP社の取締役であり、質問の直接の担当者はNXP社です。 ) 前の記事はi.MX 93を例にセキュアブートの士组みについて解説を行いました。 (前章については前章を、次章をご参照ください。) 注: i.MX 93 プロセッサ: セキュアブートの署名と認定公式グループみを解説 (日本語ブログ) 今回は、実记にセキュアブートを実装するためのハンズオンフォームをご紹介します。 i.MX プロセッサ 安全 日本語ブログ
查看全文
威【xins4698】老街腾龙娱乐注册游戏会员申请账号上下分 威【xins4698】老街腾龙娱乐注册游戏会员申请账号上下分 LPC Marketing LPC11xx LPC12xx lpc13xx lpc15xx LPC51Uxx LPC546xx LPC54xxx LPC55xx LPC800
查看全文
Mram probe is not working in uboot Hi I have nvram compatible = "everspin,mr25h40"; for imx6q board .In the uboot 2020 i have configured the pad setting in board file like below :- static iomux_v3_cfg_t const ecspi5_pads[] = {     MX6_PAD_SD1_CLK__ECSPI5_SCLK | MUX_PAD_CTRL(SPI_PAD_CTRL),     MX6_PAD_SD1_DAT0__ECSPI5_MISO | MUX_PAD_CTRL(SPI_PAD_CTRL),     MX6_PAD_SD1_CMD__ECSPI5_MOSI | MUX_PAD_CTRL(SPI_PAD_CTRL),     MX6_PAD_SD1_DAT1__ECSPI5_SS0 | MUX_PAD_CTRL(NO_PAD_CTRL), };   In the uboot2024 as it is strictly needs a dts entry for the probe and working i have added the dts entry like below :- &ecspi5 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_ecspi5>; status = "okay";   mram@0 { #address-cells = <1>; #size-cells = <1>; compatible = "spi-device"; spi-max-frequency = <30000000>; reg = <0>; }; };   pinctrl_ecspi5: ecspi5grp {  fsl,pins = < MX6QDL_PAD_SD1_DAT0__ECSPI5_MISO 0x1b0b1 MX6QDL_PAD_SD1_CMD__ECSPI5_MOSI 0x1b0b1 MX6QDL_PAD_SD1_CLK__ECSPI5_SCLK 0x1b0b1 MX6QDL_PAD_SD1_DAT1__ECSPI5_SS0 0x1b0b1 >; };    when i build the uboot 2024 with these changes and booted the device im seeing when i execute the dm tree command it shows as not probed . So please help me to how to configure in uboot 2024 dts so that my mram probe happens and works, i have tried using gpio also as a chip select still faced same issue. i.MX6Quad Re: Mram probe is not working in uboot Hello, Please try to change the compatible property with: compatible = "everspin,mr25h40", Regarding max frequency, please note that the SPI subsystem just can divide the clock in integers. For example, in this case the clock used by SPI is 80MHz, so, dividing by: 80/1 = 80MHz 80/2 = 40MHz 80/3 = 26.66MHz 80/4 = 20MHz The driver proximate the configured clock on the command with its divider and will not get exactly 30MHz but is under the 40MHz supported by your device. Try to use GPIO as a chip select considering above. Could you please share the kconfig options that you are using for U-boot? Best regards. Re: Mram probe is not working in uboot Hi JorgeCas , I have attached my uboot .config below and i see there is no driver which tells compatible = "everspin,mr25h40", in uboot 2024 source code, please guide me what all the changes needed completely inorder to make this up ,dts changes and any driver changes needed. Re: Mram probe is not working in uboot Hello, Thank you for the information, I do not see issues in your kconfig options. If you do not need a custom driver, you can take a look in this device tree configuration: https://github.com/nxp-imx/uboot-imx/blob/4ddbad60eff308a5b356fb9ab8734ac382ddd692/dts/upstream/Bindings/mtd/jedec%2Cspi-nor.yaml#L4 Best regards. Re: Mram probe is not working in uboot Hi JorgeCas , I have attached the defconfig below please review and guide any changes needed 
查看全文
「S32ZE_R52_NXP_RTOS_4_7_181_RTM_1_1_0_D2412_DesignStudio_updatesite.zip」のインストール方法 こんにちは、 GreenVIPから「S32ZE_R52_NXP_RTOS_4_7_181_RTM_1_1_0_D2412_DesignStudio_updatesite」をインストールしましたが、次のスクリーンショットでは見つかりませんでした。 再度インストールしたらエラーヒントが出ました。 私を助けてください。 ご回答をお待ちしています。 Re: How to install "S32ZE_R52_NXP_RTOS_4_7_181_RTM_1_1_0_D2412_DesignStudio_updatesite.zip" こんにちは、 Lvyang508さん ご返信よろしくお願いします。 SW32ZE_RTD_R21-11_2.0.1_D2505_をインストールしましたか? S32DS IDE に DesignStudio_updatesite.zip がありますか? BR ジョーイ Re: How to install "S32ZE_R52_NXP_RTOS_4_7_181_RTM_1_1_0_D2412_DesignStudio_updatesite.zip" S32DS IDE: プラットフォーム 3.6.5 用 S32DS UG_S32ZE_GreenVIP.pdfに従って対応するパッケージをダウンロードし、インストールしました。 Re: How to install "S32ZE_R52_NXP_RTOS_4_7_181_RTM_1_1_0_D2412_DesignStudio_updatesite.zip" こんにちは、 Lvyang508さん RTD のバージョンを確認してください。RTD と RTOS パッケージの間に競合があるようです。 また、使用している S32DS IDE のバージョンは何ですか? BR ジョーイ Re: How to install "S32ZE_R52_NXP_RTOS_4_7_181_RTM_1_1_0_D2412_DesignStudio_updatesite.zip&&&& こんにちは、ジョーイ。 SW32ZE_RTD_R21-11_2.0.1_D2505_をインストールしました S32DS IDE の DesignStudio_updatesite.zip。 よろしくお願いします! Re: How to install "S32ZE_R52_NXP_RTOS_4_7_181_RTM_1_1_0_D2412_DesignStudio_updatesite.zip&&&& こんにちは、 Lvyang508 ご返信よろしくお願いします。 この問題はバージョンの競合によって発生している可能性があります。UG_S32ZE_GreenVIP.pdf を参照して、S32DS IDE 3.6.1 を使用してください。 BR ジョーイ Re: How to install "S32ZE_R52_NXP_RTOS_4_7_181_RTM_1_1_0_D2412_DesignStudio_updatesite.zip&&&& こんにちは、ジョーイ。    ご返信ありがとうございます。 S32IDE 3.6.1をインストールしました。しかし、問題はまだ残っています。 BR、
查看全文