Multi Source Translation Content

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Multi Source Translation Content

Discussions

Sort by:
U-BootからMIPI DSIパネルに画像を表示する(i.MX8M Mini + TL070WSH30) こんにちは、 現在、 Yocto KirkstoneとU-Boot (2022 年 4 月 / NXP 2022.04)を使用して、 i.MX8M Mini ベースのボード上でU-Bootから直接 MIPI DSI ディスプレイ出力を有効にする作業を行っています。 私の目標は、 U-Boot の起動時 (カーネルの前) に画像またはロゴを表示することです。 ハードウェアのセットアップは次のとおりです。 SoC: i.MX8Mミニ ディスプレイインターフェース: MIPI DSI パネル: TDO TL070WSH30 (Linux で動作するカスタム パネル ドライバ) U-Boot バージョン: 2022.04 (NXP フォーク) Yocto バージョン:カークストーン これが私の DT ノードです: #include #include "imx8mm.dtsi" / {   バックライト: バックライト { ステータス = "正常"; 互換性 = "pwm-backlight"; pwms = <&pwm3 0 2000000 0>; 明るさレベル = <0 4 8 16 32 64 128 255>; デフォルトの明るさレベル = <6>; デフォルトの明るさレベル = <80>; デフォルトでオン; };   panel_gpio_regulator: panel_gpio_regulator { compatible = "regulator-gpio";   レギュレータ名 = "mmci-gpio-supply"; レギュレータ最小マイクロボルト = <5000000>; レギュレータ最大マイクロボルト = <5000000>; レギュレータブートオン; gpios = <&gpio4 19 GPIO_ACTIVE_HIGH>; 状態 = <5000000 0x1>;   アクティブハイを有効にする;   ステータス = "正常"; };     dsi_host: dsiホスト { 互換性 = "サムスン、sec-mipi-dsi"; ステータス = "正常"; }; };   &lcdif { ステータス = "正常"; ディスプレイ = <&display0>; ディスプレイ0: ディスプレイ@0 { ピクセルあたりのビット数 = <24>; バス幅 = <24>; }; ポート@0 { lcdif_to_dsim: エンドポイント { リモートエンドポイント = <&dsim_from_lcdif>; }; }; };   &mipi_dsi { ステータス = "正常"; ポート@0 { dsim_from_lcdif: エンドポイント { リモートエンドポイント = <&lcdif_to_dsim>; }; }; ポート@1 { dsim_to_panel: エンドポイント { リモートエンドポイント = <&panel_from_dsim>; }; };   パネル@0 { 互換性 = "tdo,tl070wsh30"; レジスタ = <0>;   pinctrl-0 = <&pinctrl_mipi_dsi>; pinctrl-names = "デフォルト"; リセットgpios = <&gpio4 4 GPIO_ACTIVE_LOW>; enable-gpios = <&gpio4 6 GPIO_ACTIVE_HIGH>;   バックライト = <&backlight>; 電源 = <&panel_gpio_regulator>;   dsi-lanes = <4>; ビデオモード = <0>;   ステータス = "正常"; ポート { panel_from_dsim: エンドポイント { リモートエンドポイント = <&dsim_to_panel>; }; }; 表示タイミング { ネイティブモード = <&timing0>; タイミング0: タイミング0 { クロック周波数 = <51200000>; hactive = <1024>; vアクティブ = <600>; hフロントポーチ = <46>; hback-porch = <100>; hsync-len = <80>; vフロントポーチ = <5>; vback-porch = <20>; vsync-len = <5>; }; }; }; }; U-Boot が初期化されると、次のメッセージが表示されます。 [*]-ビデオリンク 0 mxs_video lcdif@32e00000: 必要な表示プロパティが指定されていません ビデオデバイスのプローブに失敗しました。戻り値 -22 [0] lcdif@32e00000、ビデオ [1] mipi_dsi@32e10000、ビデオブリッジ そして dm ツリーから: ビデオ 0 [ ] mxs_video |-- lcdif@32e00000 ビデオブリッド 0 [ ] imx_sec_dsim |-- mipi_dsi@32e10000 syscon 4 [ ] syscon |-- display-gpr@32e28000 dsi_host 0 [ ] sec_mipi_dsim |-- dsi-host レギュレータ 0 [ ] gpio レギュレータ |-- panel_gpio_regulator ご覧のとおり、パネルは U-Boot でまったくプローブされておらず、LCDIF ノードで display = <&display0> を設定しているにもかかわらず、ディスプレイ プロパティが提供されていないことを示すエラーが表示されています。 私の質問 U-Boot の i.MX8MM に必要なブリッジ バインディングまたは DSI ホスト ノードが不足していますか? U-Bootの LCDIF → MIPI DSI → パネル パイプラインの正しい DT 構造は何ですか? 最後に、 i.MX8M Mini の U-Bootでの MIPI DSI パネル出力の実例はありますか? Re: Displaying an image on a MIPI DSI panel from U-Boot (i.MX8M Mini + TL070WSH30) こんにちは、 「必要な表示プロパティが指定されていません」というエラー メッセージは、表示チェーン内の接続が欠落していることを示します。デフォルトでは、i.MX8M Mini の U-Boot はディスプレイ パス「LCDIF - MIPI-DSI - av7535 - HDMI」をサポートしていますが、代わりに「LCDIF - MIPI-DSI - MIPI パネル」構成を使用する必要があります。 この問題を解決するには、次の操作を行う必要があります。 1. カスタム TL070WSH30 パネルを直接サポートするには、U-Boot のデバイス ツリーまたはビデオ リンク ID のいずれかを変更します。 2. デバイスツリー構造の場合、LCDIF → MIPI DSI → パネルの正しいパイプラインには以下が含まれる必要があります。 - 適切なパネルドライバノード - LCDIFとMIPI DSI間の接続 - MIPI DSIとパネル間の接続 3. パネル ノードは、LCDIF ノードの「display」プロパティで適切に参照される必要があります。 i.MX8MM の場合、開始点として RM67191 パネル実装を CAN 参照できます。TL070WSH30 用のカスタム パネル ドライバを作成し、デバイス ツリーに正しくコネクテッドされていることを確認する必要があります。 すぐにテストしたい場合は、U-Boot で環境変数を設定して、既存のパネル構成のいずれかを使用してみてください。 「」 setenv パネル RM67191_OLED 保存環境 ブート 「」 これにより、カスタム パネル ドライバーを実装する前に、基本的なディスプレイ パスが機能するかどうかを確認できます。 よろしくお願いします。
View full article
S32K3 ADCは平均してどのくらいの速さで こんにちは、賢い皆さん 平均化を有効にした場合、S32K3xx ADC が正確にどの程度動作するのか疑問に思っていました。 たとえば、4 つの変換の平均化を有効にしているとします。 1 つのトリガーの発生後に複数の S&H 変換サイクルを実行しますか (図 1)、4 つのトリガーの発生を待って平均結果をレジスタに書き込みますか (図 2)、それとも後続のすべての結果が前の結果の平均に取り込まれる移動平均フィルターのように動作しますか (図 3)? この評価者特有の質問について、皆さんからご意見を伺いたいと思っています。 よろしくお願いいたします。 フェリックス Re: How exactly does the S32K3 ADC average この情報には本当に感謝しています。とても助かります! Re: How exactly does the S32K3 ADC average 当社製品にご興味をお持ちいただき、また当社コミュニティに貢献していただき、ありがとうございます。 平均関数は図 1 で説明されているとおりに動作します。 この情報が役に立つことを願います。
View full article
S32K396 单片机烧写了一版程序后,导致通过TJAG仿真器无法连接了,更换为MULTILINK仿真器同样无法连接,请教下怎么解决?仿真器连接报错如附件。 Re: S32K396 能否具体说明使用的环境?上面提到的屏幕截图来自哪里?在出现故障之前你对设备做了什么?
View full article
S32k312 の最大 LPUART 転送速度 (bps) はどれくらいですか? こんにちは S32k312 の最大 LPUART 転送速度 (bps) はどれくらいですか? Re: S32k312的LPUART transfer rate最大是多少bps ? 当社製品にご興味をお持ちいただき、また当社コミュニティに貢献していただき、ありがとうございます。 リファレンスマニュアルの77.3.1 ボーレート生成セクションを参照してください。 この情報が役に立つことを願います。
View full article
Displaying an image on a MIPI DSI panel from U-Boot (i.MX8M Mini + TL070WSH30) Hello, I’m currently working on enabling MIPI DSI display output directly from U-Boot on a  board based on i.MX8M Mini, using Yocto Kirkstone and U-Boot (April 2022 / NXP 2022.04). My goal is to display an image or logo at U-Boot startup (before the kernel). The hardware setup is: SoC: i.MX8M Mini Display interface: MIPI DSI Panel: TDO TL070WSH30 (custom panel driver working under Linux) U-Boot version: 2022.04 (NXP fork) Yocto version: Kirkstone Here is my DT nodes: #include #include "imx8mm.dtsi" / {   backlight: backlight { status = "okay"; compatible = "pwm-backlight"; pwms = <&pwm3 0 2000000 0>; brightness-levels = <0 4 8 16 32 64 128 255>;     default-brightness-level = <6>; default-brightness-level = <80>; default-on; };   panel_gpio_regulator: panel_gpio_regulator { compatible = "regulator-gpio";   regulator-name = "mmci-gpio-supply"; regulator-min-microvolt = <5000000>; regulator-max-microvolt = <5000000>; regulator-boot-on; gpios = <&gpio4 19 GPIO_ACTIVE_HIGH>; states = <5000000 0x1>;   enable-active-high;   status = "okay"; };     dsi_host: dsi-host { compatible = "samsung,sec-mipi-dsi"; status = "okay"; }; };   &lcdif {     status = "okay";     display = <&display0>;     display0: display@0 {         bits-per-pixel = <24>;         bus-width = <24>;     };     port@0 {         lcdif_to_dsim: endpoint {             remote-endpoint = <&dsim_from_lcdif>;         };     }; };   &mipi_dsi {     status = "okay";     port@0 {         dsim_from_lcdif: endpoint {             remote-endpoint = <&lcdif_to_dsim>;         };     };     port@1 {         dsim_to_panel: endpoint {             remote-endpoint = <&panel_from_dsim>;         };     };   panel@0 {         compatible = "tdo,tl070wsh30";         reg = <0>;           pinctrl-0 = <&pinctrl_mipi_dsi>;         pinctrl-names = "default";         reset-gpios = <&gpio4 4 GPIO_ACTIVE_LOW>;         enable-gpios = <&gpio4 6 GPIO_ACTIVE_HIGH>;           backlight = <&backlight>;         power-supply = <&panel_gpio_regulator>;           dsi-lanes = <4>;         video-mode = <0>;           status = "okay";         port {             panel_from_dsim: endpoint {                 remote-endpoint = <&dsim_to_panel>;             };         }; display-timings {             native-mode = <&timing0>;             timing0: timing0 {                 clock-frequency = <51200000>;                 hactive = <1024>;                 vactive = <600>;                 hfront-porch = <46>;                 hback-porch = <100>;                 hsync-len = <80>;                 vfront-porch = <5>;                 vback-porch = <20>;                 vsync-len = <5>;             };         };     }; }; When U-Boot initializes, I get this message: [*]-Video Link 0 mxs_video lcdif@32e00000: required display property isn't provided probe video device failed, ret -22 [0] lcdif@32e00000, video [1] mipi_dsi@32e10000, video_bridge And from dm tree: video 0 [ ] mxs_video |-- lcdif@32e00000 video_brid 0 [ ] imx_sec_dsim |-- mipi_dsi@32e10000 syscon 4 [ ] syscon |-- display-gpr@32e28000 dsi_host 0 [ ] sec_mipi_dsim |-- dsi-host regulator 0 [ ] gpio regulator |-- panel_gpio_regulator As you can see, the panel is not probed at all in U-Boot, and the error indicates display property isn’t provided, although I have set display = <&display0> in the LCDIF node. My questions Is there any required bridge binding or DSI host node missing for the i.MX8MM in U-Boot? What is the correct DT structure for LCDIF → MIPI DSI → panel pipeline in U-Boot ? Finally, is there a working example for MIPI DSI panel output in U-Boot on i.MX8M Mini? Re: Displaying an image on a MIPI DSI panel from U-Boot (i.MX8M Mini + TL070WSH30) Hello, The error message "required display property isn't provided" indicates a missing connection in the display chain. By default, U-Boot on i.MX8M Mini supports the display path "LCDIF - MIPI-DSI - av7535 - HDMI", but you need to use "LCDIF - MIPI-DSI - MIPI panel" configuration instead. To resolve this issue, you need to: 1. Modify either your device tree or the video link ID in U-Boot to support your custom TL070WSH30 panel directly. 2. For the device tree structure, the correct pipeline for LCDIF → MIPI DSI → panel should include: - Proper panel driver nodes - Connection between the LCDIF and MIPI DSI - Connection between MIPI DSI and your panel 3. The panel node should be properly referenced with the "display" property in the LCDIF node. For i.MX8MM, you can reference the RM67191 panel implementation as a starting point. You'll need to create a custom panel driver for your TL070WSH30 and ensure it's properly connected in the device tree. If you're looking for an immediate test, you could try using one of the existing panel configurations by setting the environment variable in U-Boot: ``` setenv panel RM67191_OLED saveenv boot ``` This would allow you to verify if the basic display path works before implementing your custom panel driver. Regards
View full article
iMX51 上 uBoot 中的 "无分区表 大家好, 我正在为老式的 iMX51 开发操作系统解决方案。 我下载了 U-启动 2016.09.01,用旧的 gcc 交叉编译器编译了它。初始设置基于 imx51evk 板——我们的自定义板与 EVK 非常相似。 然后,我准备了一张 SD 卡,并生成了以下状态: Disk /dev/sdd: 14,52 GiB, 15590227968 bytes, 30449664 sectors Disk model: Multi-Card Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0xf3c8bcdf Device Boot Start End Sectors Size Id Type /dev/sdd1 2048 131071 129024 63M e W95 FAT16 (LBA) /dev/sdd2 133120 30449663 30316544 14,5G 83 Linux 初始空间由dd命令填充 uboot.imx文件。 我把zImage和imx51-memorex.dtb文件放入第一个分区。 当板启动时我在主机上看到: U-Boot 2016.09.01 (Nov 03 2025 - 17:01:15 +0100) CPU: Freescale i.MX51 rev3.0 at 800 MHz Reset cause: WDOG Board: MX51EVK DRAM: 512 MiB MMC: FSL_SDHC: 0, FSL_SDHC: 1 *** Warning - read failed, using default environment In: serial Out: serial Err: serial Net: FEC Error: FEC address not set. Hit any key to stop autoboot: 0 switch to partitions #0, OK mmc0 is current device ** No partition table - mmc 0 ** ** No partition table - mmc 0 ** Booting from net ... *** ERROR: `ethaddr' not set *** ERROR: `ethaddr' not set Bad Linux ARM zImage magic! => 下面是相关命令的其他输出结果: => mmc part ## Unknown partition table type 0 => mmc list FSL_SDHC: 0 (SD) FSL_SDHC: 1 => mmc dev switch to partitions #0, OK mmc0 is current device => mmcinfo Device: FSL_SDHC Manufacturer ID: 27 OEM: 5048 Name: SD16G Tran Speed: 50000000 Rd Block Len: 512 SD version 3.0 High Capacity: Yes Capacity: 14.5 GiB Bus Width: 4-bit Erase Group Size: 512 Bytes 您知道造成这一问题的原因吗? 谢谢,问候 i.MX51 Linux Re: 'No partition table' in uBoot on iMX51 你好 在这些日子里,我做了很多测试。在上一次中,我发现在运行分区创建时,uboot 被删除了。 这是我剧本的一部分: .. sudo dd if=/dev/zero of=$SDCARD bs=1M count=1 conv=fsync status=none echo " ✅ Primo MB azzerato" echo "2️⃣ Scrittura U-Boot a offset 2..." sudo dd if=$UBOOT of=$SDCARD bs=512 conv=fsync status=progress seek=2 echo " ✅ U-Boot scritto" # seek=2 → salta i primi 2 settori (1024 bytes) # U-Boot inizia a byte 1024 echo "4️⃣ Verifica U-Boot a offset 1024" sudo hexdump -C $SDCARD -s 1024 -n 64 | head -4 ## DEVE mostrare: 00 00 80 97 (DCD header) echo "3️⃣ Creazione tabella partizioni..." sudo parted $SDCARD --script mklabel msdos UBOOT_CHECK2=$(sudo hexdump -C $SDCARD -s 1024 -n 4 | head -1 | awk '{print $2$3$4$5}') if [[ "$UBOOT_CHECK2" == "00008097" ]]; then echo "✅ U-Boot ancora integro dopo creazione partizioni" else echo "❌ ERRORE: U-Boot sovrascritto dalle partizioni!" exit 1 fi 运行脚本后,我发现了问题所在: 4️⃣ Verifica U-Boot a offset 1024 00000400 00 00 80 97 b1 00 00 00 00 00 00 00 14 f0 7f 97 |................| 00000410 00 00 00 00 1c f0 7f 97 00 ec 7f 97 e9 19 72 b1 |..............r.| 00000420 a0 02 00 00 04 00 00 00 a0 88 fa 73 00 02 00 00 |...........s....| 00000430 04 00 00 00 0c 85 fa 73 c5 20 00 00 04 00 00 00 |.......s. ......| 3️⃣ Creazione tabella partizioni... ✅ MBR creato 00000400 00 00 00 00 |....| ❌ ERRORE: U-Boot sovrascritto dalle partizioni! 您有什么想法吗? 为什么 parted 会覆盖 uboot? 谢谢,问候 Re: 'No partition table' in uBoot on iMX51 你好 该错误表明 U-启动 在 SD 卡上找不到有效的分区表,从而使其无法访问您的内核映像和设备树文件。 根本原因似乎在于您的 SD 卡准备方法。当你使用 dd 命令将 U-Boot 启动映像写入 SD 卡时,它不会自动创建分区表。您需要: 1.首先将 U-Boot 启动映像写入正确的位置(通常是 SD 卡的开头)。 2。为启动文件创建至少一个格式为 FAT 的分区表。 3.格式化这个分区然后复制你的内核 (zImage) 和设备树 blob (imx51-memorex.dtb)到它。 要正确准备 SD 卡,请按照以下步骤操作: 1.使用 fdisk 在 SD 卡上创建正确的分区表 2.将第一个分区格式化为 FAT32:`mkfs.vfat /dev/sdX1 `3。 安装分区并将您的 zImage 和 DTB 文件复制到该 分区 4.确保文件名与 U-Boot 启动的预期相符(内核通常为 " zImage ",设备树中通常为 " imx51-memorex.dtb ") 该问题与我们在i.MX板上看到的其他SD卡准备过程未正确完成的情况类似。请务必按照《i.MX Linux 用户指南》中的完整步骤准备可启动 SD 卡。 此致
View full article
Max allowed function clock to MCAN module(s) in LPC5428 What is the maximum allowed clock to the MCAN module in the LPC54628 devices ? I can't seem to locate the actual number in UM/DS, the samples from SDK shows often 220MHz/11 => 20 MHz, but interested in knowing what the max allowed clock is. Re: Max allowed function clock to MCAN module(s) in LPC5428 @Omar_Anguiano many thanks for your answer. I see from the SDK samples that 20 MHz is selected in all of them, but I was not able to find a number in either the DS or UM. Re: Max allowed function clock to MCAN module(s) in LPC5428 In theory, the MCAN source clock supports higher frequency, it is limited by the mainclk. MCAN functional clock for LPC546xx is 20 MHz, supports timing configurations for up to 5 Mbps data phase when using proper segment settings and prescalers. This limit is limited by the maximum supported CAN bit rate and protocol timings.  BR, Omar
View full article
在 U-启动 (i.MX8M Mini + TL070WSH30) 的 MIPI DSI 面板上显示图像 你好 我目前正在努力使用 Yocto Kirkstone 和 U-Boot(2022年4月/恩智浦2022.04)在基于i.MX8M Mini的板上直接从U-Boot启用MIPI DSI显示输出。 我的目标是在 U-Boot启动时(内核之前)显示图像或徽标。 硬件设置如下 SoC:i.MX8M Mini 显示界面:MIPI DSI 面板:TDO TL070WSH30(可在 Linux 下运行的定制面板驱动程序) U-启动 版本:2022.04(恩智浦分支) Yocto 版本:Kirkstone 这是我的 DT 节点: #include #include"imx8mm.dtsi" / {   背光:背光 { status ="okay" ; 兼容 ="pwm-backlight" ; pwms =<& pwm3 0 2000000 0> ; brightness-levels =<0 4 8 16 32 64 128 255> ; default-brightness-level =<6> ; default-brightness-level =<80> ; 默认开启; };   面板_gpio_调节器: 面板_gpio_调节器 { 兼容 ="调节器-gpio" ;   regulator-name ="mmci-gpio-supply" ; regulator-min-microvolt =<5000000> ; regulator-max-microvolt =<5000000> ; 调节器启动; gpios =<& gpio4 19 GPIO_ACTIVE_HIGH> ; states =<5000000 0x1> ;   启用-激活-高;   status ="okay" ; };     dsi_host:dsi-host { 兼容 = " 三星,高效密码学标准\\(SEC\\)-mipi-dsi "; status ="okay" ; }; };   &lcdif { status ="okay" ; display =<& display0> ; display0: display@0 { 每像素比特数 =<24> ; 总线宽度 = <24>; }; 端口@0 { lcdif_to_dsim: 端点 { remote-endpoint =<& dsim_from_lcdif> ; }; }; };   &mipi_dsi { status ="okay" ; 端口@0 { dsim_from_lcdif:端点 { remote-endpoint =<& lcdif_too_dsim> ; }; }; 端口@1 { dsim_too_panel: 端点 { remote-endpoint =<& panel_from_dsim> ; }; };   panel@0 { 兼容 ="TDO,TL070WSH30" ; reg =<0> ;   pinctrl-0 =<& pinctrl_mipi_dsi> ; pinctrl-names ="默认" ; reset-gpios = < & gpio4 4 GPIO_ACTIVE_LOW >; enable-gpios =<& gpio4 6 GPIO_ACTIVE_HIGH> ;   背光 =<& 背光> ; power-supply =<& panel_gpio_regulator> ;   DSI 车道 =<4> ; video-mode =<0> ;   status ="okay" ; 端口 { panel_from_dsim: 端点 { remote-endpoint =<& dsim_too_panel> ; }; }; 显示时间 { native-mode =<& timing0> ; timing0: timing0 { 时钟频率 =<51200000> ; hactive =<1024> ; vactive =<600> ; hfront-porch =<46> ; h back-porch =<100> ; hsync-len =<80> ; vfront-porch =<5> ; vback-porch =<20> ; vsync-len =<5> ; }; }; }; }; 当 U-Boot 启动时,我收到以下消息: [*]-Video Link 0 mxs_video lcdif @32e00000:未提供所需的显示属性 探测视频设备出现故障,ret -22 [0] lcdif@32e00000,视频 [1] mipi_dsi@32e10000,视频桥接器 还有 dm 树: video 0 [ ] mxs_video |-- lcdif@32e00000 video_brid 0 [ ] imx_sec_dsim |-- mipi_dsi@32e10000 syscon 4 [ ] syscon |-- display-gpr@32e28000 dsi_host 0 [ ] sec_mipi_dsim |-- dsi-host regulator 0 [ ] gpio regulator |-- panel_gpio_regulator 如你所见,尽管我在 LCDIF 节点中设置了 display = < & display0 >,但在 U-启动 中根本没有对面板进行探测,错误表明没有提供显示属性。 我的问题 U-启动 中的 i.MX8mm 是否有任何必需的桥接绑定或 DSI 主机节点缺失? U-启动 中 LCDIF → MIPI DSI → 面板管道的正确的 DT 结构是什么? 最后,有 i.MX8M Mini U-启动 中 MIPI DSI 面板输出的工作示例吗? Re: Displaying an image on a MIPI DSI panel from U-Boot (i.MX8M Mini + TL070WSH30) 你好 "所需显示属性未提供" 的错误信息表明显示链中缺少一个连接。默认情况下,i.MX8M Mini 上的 U-启动 支持显示路径 " LCDIF-MIPI-DSI-av7535-HDMI ",但你需要改用 " LCDIF-MIPI-DSI-MIPI-DSI-MIPI 面板 " 配置。 要解决此问题,您需要: 1.在 U-启动 中修改您的设备树或视频链接 ID,以直接支持您的自定义 TL070WSH30 面板。 2。对于设备树结构,LCDIF → MIPI DSI → 面板的正确管道应包括: -正确的面板驱动程序节点-LCDIF 和 MIPI DSI 之间的连接 -MIPI DSI 与您的面板 3 之间的连接。 应使用 LCDIF 节点中的 " display " 属性正确参考面板节点。 对于 i.MX8MM,您可以参考 RM67191 面板实现作为起点。你需要为 TL070WSH30 创建自定义面板驱动程序,并确保它在设备树中正确连接。 如果你想立即进行测试,你可以尝试通过在 U-Boot 中设置环境变量来使用现有的面板配置之一: ``` setenv 面板 RM67191_OLED s aveenv b 启动 ` `` 这将允许你在实现自定义面板驱动程序之前验证基本显示路径是否有效。 此致
View full article
i.MX RTデュアルイメージセットアップ1050でHAB認証が警告(サポートされていないエンジン - DCP)とともに成功する こんにちは、 私は、 i.MX RT1050 MCUのセキュア ブートの実装に取り組んでおり、外部フラッシュにある第 2 段階のブートローダ用とアプリケーション イメージ用の2 つのイメージ認証を実現したいと考えています。 セットアップの概要 SRK、IMG、および CSF 証明書は、 NXP Secure Provisioning Tool (SPT)を使用して生成されます。 第2 段階のブートローダは、HAB を使用して ROM によって署名および認証されます。 アプリケーション イメージはブートローダの後に外部フラッシュに保存され、独立して更新できます (例: USB または OTA 経由)。 2 番目の状態のブートローダは、実行前にROM HAB APIを呼び出してアプリケーション イメージを認証します。 実装の詳細 両方のイメージ (ブートローダー + アプリ) は同じ SRK/CSF キー セットで署名されています。 第 2 段階のブートローダー内で、次のように HAB 認証を呼び出します。 load_addr = (uint32_t)hab_authenticate_image_no_dcd(1, ivt_offset, image_start, バイト); hab_image_entry_f hab_authenticate_image_no_dcd(uint8_t cid, uint32_t ivt_offset, uint32_t start, size_t バイト) { g_habrvtTree->authenticate_image_no_dcd(cid, ivt_offset, (void **)&start, (size_t *)&bytes, NULL) を返します。 } 認証は機能します。関数は有効なリセット ハンドラー アドレスを返し、イメージが正常に検証されたことを確認します。 問題: HAB 警告 (サポートされていないエンジン - DCP) 認証が成功したら、hab_rvt_report_status() と hab_rvt_report_event() を使用して HAB のステータスとイベント情報をログを照会します。 認証は成功しますが、HAB_SUCCESS ではなくHAB WARNING が常に表示されます。 出力例: Hab rvt レポート ステータス = 0x69、構成 = 0xcc、ステータス = 0x99 イベント情報 #0 を報告 -> 0xf0 [HAB イベント情報 #0] (44 バイト): DB 00 2C 43 69 0A C0 00 CA 00 24 00 02 C5 1B 00 ... HAB4 ドキュメントに従ってこのイベントをデコードすると、次のようになります。 0x69 → 警告 0x0A → サポートされていないエンジン 0xC0 → hab_rvt.run_csf() に記録されたイベント情報 シーケンス02 C5 1B 00は次のようにマップされます。 画像キー検証インデックス プロトコル: HAB_PCL_CMS エンジン: DCP デフォルト設定 このことから、ROM が警告を報告しているのは、CSF 実行中に DCP エンジンを使用しようとしているが、DCP が適切に初期化されていないか、第 2 段階のブートローダ コンテキストで使用できないためだとわかります。 私が試したこと SDK を使用して DCP を手動で初期化しました。   DCP_Init(DCP、&config); (すべてのチャネルが有効でデフォルト設定の場合) ただし、警告は引き続き表示されます。認証は成功しますが、イベント情報ログには引き続きサポートされていないエンジン (DCP)が報告されます。 質問 プライマリ HAB 認証SSB プロセス中に ROM はどのように DCP を初期化して使用するのでしょうか? この警告は、HAB ROM API を手動で呼び出すときに予想されるものでしょうか、それとも無害なものでしょうか? カスタム ブートローダから ROM HAB 認証 API を呼び出してHAB_SUCCESS (警告なし) を達成することは可能ですか? それとも、初期ブート コンテキスト外で ROM HAB API を使用した場合にこの警告が表示されることが予想されますか? Re: HAB authentication succeeds with WARNING (Unsupported Engine – DCP) on i.MX RT dual image setup1 こんにちは@BiHDeveloper お問い合わせいただきありがとうございます! さらに進む前に、Header_Engine を any にするように BD ファイルを手動で変更していただけますか?結果を教えてください 編集: 上記のように bd ファイルを更新した後、イメージを再度ビルドします。イメージのビルド ボタンをクリックすると、SPT によって BD ファイルが車載生成されることに注意してください。これを回避するには、プロジェクト ワークスペースから build_image スクリプトを手動で実行できます。次に、新しいイメージをプロセッサに書き込みます。 何か変化がありましたらお知らせください。 ディエゴ
View full article
How exactly does the S32K3 ADC average Hello there smart people, I was wondering about how exatly the S32K3xx ADC behave if I enable averaging.  Let's say for example I have averaging for 4 conversions enabled: Does it execute multiple S&H conversion cycles after one trigger happens (figure 1), does it wait for 4 triggers to occure and write the averaged result into the register (figure 2) or does it work like a moving average filter where every following result is taken into the average of the previous result (figure 3)? I would love to hear back from you guys about this rater specific question. Regards, Felix Re: How exactly does the S32K3 ADC average Thank you very much for this info. It will help us a lot! Re: How exactly does the S32K3 ADC average Thank you for your interest in our products and for contributing to our community. The average function works as you describe in figure 1. I hope this information is helpful.
View full article
What is the maximum LPUART transfer rate of S32k312? How are you? What is the maximum LPUART transfer rate of S32k312? Re: S32k312的LPUART transfer rate最大是多少bps ? Thank you for your interest in our products and for contributing to our community. Please refer to 77.3.1 Baud rate generation section of reference manual. I hope this information is helpful.
View full article
S32K3 ADC 的平均值究竟是多少? 你们好,聪明人、 我想知道如果启用平均值,S32K3xx ADC究竟会有什么表现。 例如,我启用了 4 个转换的平均值: 它是在一个触发信号发生后执行多个 S & H 转换周期(图 1),是等待 4 个触发信号发生并将平均结果写入寄存器(图 2),还是像移动平均滤波器一样工作,将所有后续结果都计入先前结果的平均值(图 3)? 我很想听听你们对这个具体问题的反馈意见。 致 Felix Re: How exactly does the S32K3 ADC average 非常感谢你提供的信息。这对我们帮助很大! Re: How exactly does the S32K3 ADC average 感谢您关注我们的产品并为我们的社区做出贡献。 平均函数的工作原理如图 1 所示。 希望这些信息对您有所帮助。
View full article
LPC5428 中 MCAN 模块的最大允许功能时钟 LPC54628 设备中 MCAN 模块允许的最大时钟是多少? 我似乎找不到 UM/DS 中的实际数字,SDK 中的样本显示通常为 220MHz/11 => 20MHz,但我很想知道允许的最大时钟频率是多少。 Re: Max allowed function clock to MCAN module(s) in LPC5428 @Omar_Anguiano非常感谢你的回答。我从 SDK 样本中看到,它们都选择了 20 MHz,但我在 DS 或 UM 中都找不到这个数字。 Re: Max allowed function clock to MCAN module(s) in LPC5428 理论上,MCAN 源时钟支持更高的频率,它受到 mainclk 的限制。 LPC546xx 的 MCAN 功能时钟频率为 20 MHz,在使用适当的分段设置和预分频器时,支持高达 5 Mbps 数据相位的时序配置。该限制受 CAN 最大支持比特率和协议时序的限制。 BR, Omar
View full article
S32k312的LPUART transfer rate最大是多少bps ? 你好 S32k312的LPUART transfer rate最大是多少bps ? Re: S32k312的LPUART transfer rate最大是多少bps ? 感谢您关注我们的产品并为我们的社区做出贡献。 请参阅参考手册的 77.3.1 波特率生成部分。 希望这些信息对您有所帮助。
View full article
LPC5428のMCANモジュールへの最大許容機能クロック LPC54628 デバイスの MCAN モジュールに許容される最大クロックは何ですか? UM/DS で実際の数値を見つけることができないようです。SDK のサンプルでは 220MHz/11 => 20 MHz と表示されることが多いのですが、最大許容クロックが何であるかを知りたいと思っています。 Re: Max allowed function clock to MCAN module(s) in LPC5428 @Omar_Anguianoご回答ありがとうございます。SDKs サンプルを見ると、すべて 20 MHz が選択されていることがわかりますが、DS または UM のどちらにも数字を見つけることができませんでした。 Re: Max allowed function clock to MCAN module(s) in LPC5428 理論上、MCAN ソース クロックはより高い周波数をサポートしますが、mainclk によって制限されます。 LPC546xx の MCAN 機能クロックは 20 MHz で、適切なセグメント設定とプリスケーラを使用すると最大 5 Mbps のデータ フェーズのタイミング構成をサポートします。この制限は、サポートされる最大 CAN ビット レートとプロトコル タイミングによって制限されます。 BR、 オマール
View full article
i.MX RT1176 上的 LCD 视频流色调偏绿 我正在使用 i.MX RT1176 控制器向 LCD 显示屏实时传输摄像机信号。 输入的 H.264 视频流使用 FFmpeg 解码为 BT.709 色彩空间的 YUVJ420P 像素格式。 在 RT1176 方面,我们使用 PXP(像素管道)进行 YUV 到 RGB 的转换(CSC),然后将帧显示在 LCD 上。不过,显示的视频带有明显的绿色。 由于 PXP 不直接支持 YUVJ420P 像素格式,我们将处理表面缓冲区格式配置为 YUV420。 此外,在检查PXP驱动程序(kpxp_CSC1Ycbcr2RGB模式)中的CSC系数设置时,系数值似乎对应于BT.601色彩空间,尽管参考手册中没有明确记录这一点。 有谁能确认 PXP 的默认 CSC 系数是否真的基于 BT.601? 如果是这样,能否请您分享可编程到 PXP CSC 寄存器中的正确 BT.709 系数值,以实现准确的色彩转换? Re: Greenish Tint in LCD Video Stream on i.MX RT1176 你好,@EdwinHz、 感谢您的回复。 如果可能,请提供与 PXP 内部 YUV→RGB 转换公式兼容的、用于 BT.709 YUV 至 RGB 转换的适当 CSC1 系数值。 Re: Greenish Tint in LCD Video Stream on i.MX RT1176 嗨,@Anni、 你说得对。为了正确转换为 BT.709,您需要手动更改 PXP_CSC1CoefficientSet() 函数中的 CSC 系数。
View full article
在 i.MX RT 双图像设置中,HAB 身份验证成功,但出现警告(不支持的引擎 - DCP)1050 你好, 我正在为 i.MX RT1050 MCU 开发安全启动实现,并希望实现双映像身份验证 ——一个用于第二阶段引导加载程序,另一个用于应用程序映像,两者都位于外部闪存中。 设置概述 SRK、IMG 和 CSF 证书使用恩智浦安全配置工具 (SPT) 生成。 第二阶段引导加载程序由 ROM 使用 HAB 进行签名和验证。 应用程序映像在启动加载程序后存储在外部闪存中,可独立更新(如通过 USB 或 OTA)。 第二态引导加载程序会调用ROM HAB 应用程序接口(API),以在执行前验证应用程序映像。 实施细节 两个镜像(引导加载程序 + 应用程序)都使用相同的 SRK/CSF 密钥集签名。 在第二阶段引导加载程序中,我调用了 HAB 身份验证,如下所示: load_addr = (uint32_t) hab_authenticate_image_no_dcd(1,ivt_offset,image_start,字节); hab_image_entry_f hab_authenticate_image_no_dcd (uint8_t cid、uint32_t ivt_t 起始、大小_t 字节) { 返回 g_habrvtTree-> authenticate_image_no_dcd (cid、ivt_offset、(void **) & 开始,(size_t *) & 字节,空值);} 身份验证有效 — 该函数返回有效的重置处理程序地址,以确认图像已成功验证。 问题:HAB 警告(不支持的引擎 - DCP) 验证成功后,我使用 hab_rvt_report_status() 和 hab_rvt_report_event() 查询 HAB 状态和事件日志。 虽然身份验证通过了,但我始终收到HAB 警告,而不是 HAB_SUCCESS。 输出示例: Hab rvt 报告状态 = 0x69,配置 = 0xcc,状态 = 0x99 报告事件 #0-> 0xf0 [HAB EVENT #0](44 字节): DB 00 2C 43 69 0A C0 00 CA 00 24 00 02 C5 1B 00... 根据HAB4 文档对这一事件进行解码时,它表示 0x69 → 警告 0x0A → 不支持的引擎 0xC0 → 在 hab_rvt.run_csf() 中记录的事件 序列 02 C5 1B 00 映射到 图像密钥验证索引 协议:HAB_PCL_CMS 发动机DCP 默认配置 由此我明白,ROM 报告 "警告 "是因为它试图在 CSF 执行期间使用 DCP 引擎,但 DCP 在我的第二阶段引导加载器上下文中没有正确初始化或可用。 我的尝试 我使用 SDK 驱动程序手动初始化了 DCP:   DCP_Init(DCP,&config); (启用所有通道和默认设置) 但是,警告仍然存在 - 验证成功,但事件日志仍然报告 "不支持引擎 (DCP)"。 问题 在初级 HAB 验证SSB 过程中,ROM 如何初始化和使用 DCP? 手动调用 HAB ROM 应用程序接口时,会出现这种警告吗? 是否有可能从自定义引导加载程序调用 ROM HAB 身份验证 API 并实现 HAB_SUCCES S(无警告),还是在初始启动环境之外使用 ROM HAB API 时会出现此警告? Re: HAB authentication succeeds with WARNING (Unsupported Engine – DCP) on i.MX RT dual image setup1 你好@BiHDeveloper 感谢您的联系! 在深入研究之前,您能否手动修改 BD 文件,将 Header_Engine 设为 "any"?然后把结果告诉我 编辑:更新bd文件后,如上所示,再次版本镜像,注意SPT在版本映像时自动生成BD文件按钮。为了避免这种情况,您可以在项目工作区手动运行 build_image 脚本。然后将新图像写入处理器。 如果您发现任何变化,请告诉我。 迪亚戈
View full article
S32K144 における VLPS ウェイクアップ ISR + FreeRTOS xTaskNotifyFromISR の問題 NXPチームの皆様、こんにちは。 私は FreeRTOS を使用して S32K144 MCU を操作し、Very Low Power Stop (VLPS) モードを実装しています。MCU を起動して FreeRTOS タスクに通知することを目的とした GPIO スイッチが PORTB にあります。 設定: GPIO スイッチが PORTB にコネクテッド。 スイッチが押されると ISR がトリガーされます。 xTaskNotifyFromISR を使用して FreeRTOS タスクに通知します。 FreeRTOS 構成: configPRIO_BITS = 4 configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY = 0x01 configMAX_SYSCALL_INTERRUPT_PRIORITY = (configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY << (8 - configPRIO_BITS)) configKERNEL_INTERRUPT_PRIORITY = 255 ISR および NVIC 構成: PORTB->ISFR = (1U << SWITCH_PIN_NUMBER) // スイッチピンの割り込みフラグをクリアする INT_SYS_SetPriority(PORTB_IRQn、SWITCH_IRQ_PRIORITY) INT_SYS_EnableIRQ(PORTB_IRQn) void PORTB_IRQHandler(void) { BaseType_t xHigherPriorityTaskWoken = pdFALSE; if (PORTB->ISFR & (1U << スイッチピン番号)) { PORTB->ISFR = (1U << SWITCH_PIN_NUMBER) // 割り込みフラグをクリア uint32_t switch_state = (((PINS_DRV_ReadPins(PTB) >> SWITCH_PIN_NUMBER) & 0x01) == 0) ?スイッチオン: スイッチオフ xTaskNotifyFromISR(hmainTask、switch_state、eSetBits、&xHigherPriorityTaskWoken) portYIELD_FROM_ISR(xHigherPriorityTaskWoken) } } vPortEnterCritical() status_t ret = POWER_SYS_SetMode(0, POWER_MANAGER_POLICY_AGREEMENT) if (ret == STATUS_SUCCESS) wakeupOccurred = true vPortExitCritical() 観察された動作: ISR 優先度 = 0 (最高): MCU は VLPS から起動しますが、xTaskNotifyFromISR は機能しません。 ISR 優先度 = 1: xTaskNotifyFromISR は機能しますが、MCU は VLPS から起動しません。 私の理解では: 優先度 0 の割り込みは BASEPRI によってマスクできないため、FreeRTOS API を安全に呼び出すことはできません。 FreeRTOS API は、優先度 >= configMAX_SYSCALL_INTERRUPT_PRIORITY の ISR から呼び出す必要があります。 VLPS ウェイクアップには、最高優先度の割り込みが必要になる場合があります。 質問: MCU を VLPS から確実に起動し、FreeRTOS タスクに安全に通知するために、S32K144 で推奨されるパターンは何ですか? NXP が提供するより良いアプローチはありますか? あらゆるガイダンス、参考例、ベストプラクティスをいただければ幸いです。 ご回答をお待ちしています。 よろしくお願いします、 パンディヤンT Re: VLPS Wakeup ISR + FreeRTOS xTaskNotifyFromISR Issue on S32K144 こんにちは、ダニエル。 POWER_SYS_SetMode() を呼び出す前に SysTick タイマーを無効にすると、システムは vPortEnterCritical() を使用せずに VLPS に正常に入るようになりました。 また、ウェイクアップ メカニズムと ISR からの通知メカニズムは両方とも期待どおりに動作しています。 ご指導ありがとうございました! よろしくお願いします、 パンディヤン Re: VLPS Wakeup ISR + FreeRTOS xTaskNotifyFromISR Issue on S32K144 FreeRTOS と VLPS を組み合わせた公式の例はまだ見つかりませんでした。 私の見るところ、ウェイクアップの問題は SysTick がまだ実行されていることが原因である可能性があります。 VLPS に入るには、POWER_SYS_SetMode() を呼び出す直前に SysTick を無効にしてみてください。 留意点: VLPS では、コア クロックがゲートされているため、SysTick タイマーは無効になります。 ただし、デバッガーがコネクテッドされている場合、MCU は真の VLPS にはならず、エミュレートされた STOP モードになります。 さらに、FreeRTOS port.cすでに vPortSuppressTicksAndSleep() の弱い実装を提供しています。 アイドル時に SysTick を停止します。 次のティックのリロード値を計算します。 __WFI() を実行します。 2つのフックを呼び出します: configPRE_SLEEP_PROCESSING() configPOST_SLEEP_PROCESSING() これは弱い実装であり、独自の実装によって上書きされるCANがあります。 よろしくお願いいたします。 ダニエル Re: VLPS Wakeup ISR + FreeRTOS xTaskNotifyFromISR Issue on S32K144 こんにちは@danielmartynek 迅速なご対応ありがとうございます。 POWER_SYS_SetMode() の前に vPortEnterCritical() 呼び出しを削除すると、MCU は実際には VLPS モードに入らず、一時的に遷移してからすぐに起動します。 FreeRTOS の実行中に適切に VLPS モードに入るための正しいまたは推奨される方法を提案していただけますか? 可能であれば、FreeRTOS タスクコンテキストから VLPS に安全に入る方法を示す例またはリファレンス実装も共有していただけますか? サポートありがとうございます! よろしくお願いします、 パンディヤンT Re: VLPS Wakeup ISR + FreeRTOS xTaskNotifyFromISR Issue on S32K144 こんにちは@Panidiyan_Tさん、 プロジェクトを共有していただければ、私の側でテストすることができます。 とにかく、FreeRTOS では、FromISR API を呼び出す ISR の優先度が configMAX_SYSCALL_INTERRUPT_PRIORITY 以下である必要があります。 POWER_SYS_SetMode() の前に vPortEnterCritical() を呼び出さないでください。
View full article
'No partition table' in uBoot on iMX51 Hi all, i'm developing a OS solution for the old iMX51. I downloaded U-Boot 2016.09.01, compiled it with an old gcc crosscompiler. The initial settings is based on imx51evk board - our custom board is quite similar to the EVK. Then I've prepared a SD card and generated the following state: Disk /dev/sdd: 14,52 GiB, 15590227968 bytes, 30449664 sectors Disk model: Multi-Card Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0xf3c8bcdf Device Boot Start End Sectors Size Id Type /dev/sdd1 2048 131071 129024 63M e W95 FAT16 (LBA) /dev/sdd2 133120 30449663 30316544 14,5G 83 Linux The initial space is filled with the uboot.imx file by dd command. Into the first partition I put the zImage and imx51-memorex.dtb files. When the board starts I see on console: U-Boot 2016.09.01 (Nov 03 2025 - 17:01:15 +0100) CPU: Freescale i.MX51 rev3.0 at 800 MHz Reset cause: WDOG Board: MX51EVK DRAM: 512 MiB MMC: FSL_SDHC: 0, FSL_SDHC: 1 *** Warning - read failed, using default environment In: serial Out: serial Err: serial Net: FEC Error: FEC address not set. Hit any key to stop autoboot: 0 switch to partitions #0, OK mmc0 is current device ** No partition table - mmc 0 ** ** No partition table - mmc 0 ** Booting from net ... *** ERROR: `ethaddr' not set *** ERROR: `ethaddr' not set Bad Linux ARM zImage magic! =>  Here other outputs from relative commands: => mmc part ## Unknown partition table type 0 => mmc list FSL_SDHC: 0 (SD) FSL_SDHC: 1 => mmc dev switch to partitions #0, OK mmc0 is current device => mmcinfo Device: FSL_SDHC Manufacturer ID: 27 OEM: 5048 Name: SD16G Tran Speed: 50000000 Rd Block Len: 512 SD version 3.0 High Capacity: Yes Capacity: 14.5 GiB Bus Width: 4-bit Erase Group Size: 512 Bytes Any idea abuot the cause of this problem? Thanks, regards i.MX51 Linux Re: 'No partition table' in uBoot on iMX51 Hello, in these days I made a lot of tests. In the last one I discovered that uboot was deleted when I run the partion creation. This is part of my script: .. sudo dd if=/dev/zero of=$SDCARD bs=1M count=1 conv=fsync status=none echo " ✅ Primo MB azzerato" echo "2️⃣ Scrittura U-Boot a offset 2..." sudo dd if=$UBOOT of=$SDCARD bs=512 conv=fsync status=progress seek=2 echo " ✅ U-Boot scritto" # seek=2 → salta i primi 2 settori (1024 bytes) # U-Boot inizia a byte 1024 echo "4️⃣ Verifica U-Boot a offset 1024" sudo hexdump -C $SDCARD -s 1024 -n 64 | head -4 ## DEVE mostrare: 00 00 80 97 (DCD header) echo "3️⃣ Creazione tabella partizioni..." sudo parted $SDCARD --script mklabel msdos UBOOT_CHECK2=$(sudo hexdump -C $SDCARD -s 1024 -n 4 | head -1 | awk '{print $2$3$4$5}') if [[ "$UBOOT_CHECK2" == "00008097" ]]; then echo "✅ U-Boot ancora integro dopo creazione partizioni" else echo "❌ ERRORE: U-Boot sovrascritto dalle partizioni!" exit 1 fi Running the script I see the problem: 4️⃣ Verifica U-Boot a offset 1024 00000400 00 00 80 97 b1 00 00 00 00 00 00 00 14 f0 7f 97 |................| 00000410 00 00 00 00 1c f0 7f 97 00 ec 7f 97 e9 19 72 b1 |..............r.| 00000420 a0 02 00 00 04 00 00 00 a0 88 fa 73 00 02 00 00 |...........s....| 00000430 04 00 00 00 0c 85 fa 73 c5 20 00 00 04 00 00 00 |.......s. ......| 3️⃣ Creazione tabella partizioni... ✅ MBR creato 00000400 00 00 00 00 |....| ❌ ERRORE: U-Boot sovrascritto dalle partizioni! Any idea? Why parted overwrites the uboot?? Thanks, regards Re: 'No partition table' in uBoot on iMX51 Hello, The error indicates that U-Boot cannot find a valid partition table on the SD card, preventing it from accessing your kernel image and device tree file. The root cause appears to be in your SD card preparation method. When you use the dd command to write the U-Boot image to the SD card, it doesn't automatically create a partition table. You need to: 1. First write the U-Boot image to the correct location (typically the beginning of the SD card). 2. Create a proper partition table with at least one partition formatted as FAT for boot files. 3. Format this partition and copy your kernel (zImage) and device tree blob (imx51-memorex.dtb) to it. For proper SD card preparation, follow these steps: 1. Use fdisk to create a proper partition table on your SD card 2. Format the first partition as FAT32: `mkfs.vfat /dev/sdX1` 3. Mount the partition and copy your zImage and DTB file to it 4. Ensure the file names match what U-Boot expects (typically "zImage" for kernel and "imx51-memorex.dtb" for device tree) The issue is similar to other cases we've seen with i.MX boards where the SD card preparation process wasn't completed correctly. Make sure to follow the complete procedure in the i.MX Linux User's Guide for preparing bootable SD cards. Regards
View full article
Greenish Tint in LCD Video Stream on i.MX RT1176 I’m working on live streaming a camera feed to an LCD display using the i.MX RT1176 controller. The incoming H.264 video stream is decoded using FFmpeg into YUVJ420P pixel format with BT.709 colorspace. On the RT1176 side, we use the PXP (Pixel Pipeline) for YUV-to-RGB conversion (CSC) before displaying the frames on the LCD. However, the displayed video has a noticeable greenish tint. Since the PXP does not support the YUVJ420P pixel format directly, we configure the process surface buffer format as YUV420. Also, when checking the CSC coefficient setup in the PXP driver (kPXP_Csc1YCbCr2RGB mode), the coefficient values appear to correspond to the BT.601 colorspace, although this isn’t clearly documented in the reference manual. Could anyone confirm whether the default PXP CSC coefficients are indeed based on BT.601? If so, could you please share the correct BT.709 coefficient values that can be programmed into the PXP CSC registers to achieve accurate color conversion? Re: Greenish Tint in LCD Video Stream on i.MX RT1176 Hi @EdwinHz, Thank you for your reply. If possible, could you please provide the appropriate CSC1 coefficient values for BT.709 YUV-to-RGB conversion, compatible with the PXP’s internal YUV→RGB conversion formula? Re: Greenish Tint in LCD Video Stream on i.MX RT1176 Hi @Anni, You are correct. In order to properly convert for BT.709, you will need to manually change the CSC coefficients on the PXP_CSC1CoefficientSet() function.
View full article