Multi Source Translation Content

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

Multi Source Translation Content

Discussions

Sort by:
S32DS K116 コンパイルの問題 こんにちは、NXPのエンジニアさん! MCSPTE1AK116 は初めてです。MCSPTE1AK116-SW、S32K11x_AMMCLIB_RTM_1_1_45_BIN、S32DS-IDE-ARM_2.2.2_D2312、および FMASTERSW32 をインストールしました。MCSPTE1AK116_PMSM_FOC_1Sh サンプルプロジェクトを S32DS にインポートしてコンパイルしました。その後、.srec ファイルをドライブ E に直接コピーし、電源を入れ直した後、FreeMaster を使用して接続して実行しました。通信は正常に行われ、指定された速度で動作しましたが、数秒後に停止し、PDB0 エラーが報告されました。SW ディレクトリから元の .srec ファイルをドライブ E に直接コピーすると、正常に動作しました。コンパイル設定に何か問題があるのでしょうか? Re: S32DS K116编译问题 こんにちは、ロビンさん。 我安装了S32 Design Studio (S32DS) for ARM 2.2 UP1和UP2 也安装了S32K1xx 3.0.3用のS32ソフトウェア開発キット(SDK) 図のように、我下了老的S32K11X_AMMCLIB_RTM_1_1_37_BIN、また不行、 我找不到S32K11X_AMMCLIB_RTM_1_1_29_BIN下載链接,你能出版一个给我试そして、私たちの 3 つの工程は、PMSM_FOC_1Sh 工程のみが不稼働と判断され、さらに 2 つの工程は問題がないと判断されました。 7a6c7c4ef61e9213d789cace0810a496.png7a6c7c4ef61e9213d789cace0810a496.png7a6c7c4ef61e9213d789cace0810a496.png7a6c7c4ef61e9213d789cace0810a496.png7a6c7c4ef61e9213d789cace0810a496.png7a6c7c4ef61e9213d789cace0810a496.png7a6c7c4ef61e9213d789cace0810a496.png   Re: S32DS K116编译问题 こんにちは 元のフォルダにあるテストファイル(.srec)は正常に動作するが、コンパイル済みのファイル(.srec)でエラーが発生する場合は、コンパイル済みのファイルも実行できるはずです。 したがって、 S32K11x 用の Automotive Math and Motor Control Library Setの古いバージョンをダウンロードすることをお勧めします。たとえば、 MCSPTE1AK116-SWのインストール手順で説明されているバージョンS32K11X_AMMCLIB_RTM_1_1_29_BIN などです。 S32K116 Motor Control Development Kit AMMCLIB.pngS32K116 Motor Control Development Kit AMMCLIB.pngS32K116 Motor Control Development Kit AMMCLIB.pngS32K116 Motor Control Development Kit AMMCLIB.pngS32K116 Motor Control Development Kit AMMCLIB.pngS32K116 Motor Control Development Kit AMMCLIB.pngS32K116 Motor Control Development Kit AMMCLIB.png MCSPTE1AK116_ReleaseNotes.txt ファイルには、このプロジェクトが以下のバージョンに基づいて開発されたことが示されています。 開発キットアプリケーションは、以下のIDE、ドライバ、ツールを使用して構築およびテストされました。 ===================================================================================== - ARM 2.2 用 S32 Design Studio (S32DS) - S32K1xx 用 S32 ソフトウェア開発キット (SDK) 3.0.3 - FreeMASTER 3.1.4.5 S32K1 SDKのバージョン3.0.3がインストールされていることを確認してください。 よろしくお願いします、 ロビン 回复: S32DS K116编译问题 これは奇妙な問題です。付属のBLDC_6StepsとPMSM_FOC_2Shプロジェクトを使ってプロジェクトを直接ダウンロードすることはできますし、コンパイル後にダウンロードすることもできます。ただ、コンパイル後にダウンロードできないのです。 Re: S32DS K116编译问题 こんにちは、ロビンさん 理由は分かりませんが、すべての.srecファイルが実行できません...あなたのプログラムを試すことができません。 評価委員会を通過する方法を教えていただけますか? 今月、S32K116EVBを購入しました。外観を確認するにはどうすれば良いでしょうか? Re: S32DS K116编译问题 こんにちは 1. 他のバージョンを削除し、S32K11x_AMMCLIB_v1.1.29のみをインストールしました。 2. 現在、テスト用のハードウェアプラットフォームが手元にないため、S32K11x_AMMCLIB_v1.1.29 をベースにしたバージョンを添付しました。コンパイル済みの.SRECファイルをテスト用に提供しました。(プライベートメッセージで送信済みです。) 3. 正常に動作する場合は、お客様のアカウント用にソフトウェアチームにS32K11x_AMMCLIB_v1.1.29をリクエストします。バージョンソフトウェア。 4. ハードウェアの違いも確認する必要があるかもしれません。お使いのS32K116EVBはS32K116EVB2Q048でしょうか?S32K116EVB-Q048という以前のバージョンもありました。 Re: S32DS K116编译问题 以下はS32K116EVB-Q048という旧バージョンで、モーターキットには対応していません。最も顕著な違いは、ソケット(J5)が1列少ないことです。 S32K116EVB-Q048.pngS32K116EVB-Q048.pngS32K116EVB-Q048.pngS32K116EVB-Q048.pngS32K116EVB-Q048.pngS32K116EVB-Q048.pngS32K116EVB-Q048.png 以下はS32K116EVB2Q048のスクリーンショットです。 S32K116EVB2Q048.pngS32K116EVB2Q048.pngS32K116EVB2Q048.pngS32K116EVB2Q048.pngS32K116EVB2Q048.pngS32K116EVB2Q048.pngS32K116EVB2Q048.png まずキットを取り外し、S32K116EVBのみをテストすることをお勧めします。また、 P&E Recovery Utilityツールを使用してCPUを停止し、新しいプログラムをダウンロードすることをお勧めします。 Re: S32DS K116编译问题 故障波形を更新します。 TimLIANG_0-1787022591582.jpegTimLIANG_0-1787022591582.jpegTimLIANG_0-1787022591582.jpegTimLIANG_0-1787022591582.jpegTimLIANG_0-1787022591582.jpegTimLIANG_0-1787022591582.jpegTimLIANG_0-1787022591582.jpeg Re: S32DS K116编译问题 .srecファイルをダウンロードできるものの、モーター制御プログラムの実行に問題がある場合は、P&Eは必要ありません。リカバリユーティリティ。このツールは、新しいプログラムをダウンロードできない場合に使用します。 確認のため、FreeMasterのインターフェースに表示されている過電流エラーメッセージのスクリーンショットを提供していただけますでしょうか? 公式サンプルプログラムに含まれる.srecファイルはすべて正常に動作しますが、3つの公式プロジェクトを再コンパイルした後、モーターの動作に問題が発生しているのですね?私が提供した、S32K11x_AMMCLIB_v1.1.29をベースにコンパイルした.srecファイルを試してみましたか? Re: S32DS K116编译问题 こんにちは、ロビンさん 先日、他のことで忙しかったんです。私の型番はS32K116EVB2Q048です。 以前は、ダウンロードした公式サンプル.srecファイルはすべて正常に動作していました。しかし、今回ダウンロードした3つの公式プロジェクトはすべてモーターの動作に問題が発生しています。具体的には、ダウンロードと通信は問題なく行われるのですが、速度を設定してモーターを起動すると、2回ビープ音が鳴り、その後過電流エラーが発生します。この場合、CPUを停止させるためにP&E Recovery Utilityツールをダウンロードし、新しいプログラムをダウンロードする必要があるのでしょうか? Re: S32DS K116编译问题 J9、J10、J11は位置12にあり、これはPMSMの位置である。 TimLIANG_0-1787024596336.jpegTimLIANG_0-1787024596336.jpegTimLIANG_0-1787024596336.jpegTimLIANG_0-1787024596336.jpeg Re: S32DS K116编译问题 こんにちは、ロビンさん 現在、私がコンパイルした.srecファイルであろうと公式のサンプルであろうと、モーター起動時に2回のビープ音が鳴った後に過電流エラーが報告されます。 以下に故障インターフェースを示し、外部デバイスによって検出された始動電流も以下に示します。 TimLIANG_0-1787020428889.pngTimLIANG_0-1787020428889.pngTimLIANG_0-1787020428889.png TimLIANG_1-1787020447511.pngTimLIANG_1-1787020447511.pngTimLIANG_1-1787020447511.png Re: S32DS K116编译问题 まず、ハードウェア回路のジャンパーキャップが、MCSPTE1AK116入門ページの指示に従ってPMSM構成に適合しているかどうかを確認してください。
View full article
IMX8MP uboot下配置双通道lvds,显示存在彩色竖线 背景: 当前根据补丁<8MP_LVDS_patch>配置uboot的lvds显示,使用1280x800的单通道屏显示是正常的;基于这个基础需要实现1920x1080的双通道显示,已进行如下配置: 1、配置lvds的屏参: timing_lvds: timing_lvds { clock-frequency = <141140000>; hactive = <1920>; vactive = <1080>; hfront-porch = <94>; hback-porch = <92>; hsync-len = <2>; vback-porch = <18>; vfront-porch = <16>; vsync-len = <2>; hsync-active = <1>; vsync-active = <1>; de-active = <1>; }; 2、写入ldb的寄存器配置: //CH1 #define CH1_DATA_WIDTH_24BIT (1 << 7) #define CH1_BIT_MAPPING_JEIDA (1 << 😎 #define CH1_BIT_MAPPING_SPWG (0 << 😎 media_blk_write(priv, LDB_CTRL, LDB_CH0_MODE_EN_TO_DI0 | CH0_DATA_WIDTH_24BIT | CH0_BIT_MAPPING_JEIDA | LDB_CH1_MODE_EN_TO_DI0 | CH1_DATA_WIDTH_24BIT | CH1_BIT_MAPPING_JEIDA); 3、根据公式,计算出PLL值: PLL_1443X_RATE(987980000U, 823, 5, 2, 20971), uboot_lvds_1920x1080.jpguboot_lvds_1920x1080.jpg 显示有logo画面,但屏幕显示存在彩色竖线,这会是什么情况,请帮忙排查下,谢谢;期待您的回复! i.MX 8M | i.MX 8M Mini | i.MX 8M Nano i.MX8ULP Re: IMX8MP uboot下配置双通道lvds,显示存在彩色竖线 Hi @DADAXIN  由于内核和uboot里的bmp显示不是相同的功能,所以目前我怀疑是bmp显示相关的函数有问题,请尝试替换一下video_bmp_display函数。 int video_bmp_display(struct udevice *dev, ulong bmp_image, int x, int y, bool align) { struct video_priv *priv = dev_get_uclass_priv(dev); int i, j; uchar *start, *fb; struct bmp_image *bmp = map_sysmem(bmp_image, 0); uchar *bmap; unsigned long width, height; unsigned long pwidth = priv->xsize; unsigned colours, bpix, bmp_bpix; enum video_format eformat; struct bmp_color_table_entry *palette; int hdr_size; int ret; if (!bmp || !(bmp->header.signature[0] == 'B' && bmp->header.signature[1] == 'M')) { printf("Error: no valid bmp image at %lx\n", bmp_image); return -EINVAL; } video_bmp_get_info(bmp, &width, &height, &bmp_bpix); hdr_size = get_unaligned_le16(&bmp->header.size); debug("hdr_size=%d, bmp_bpix=%d\n", hdr_size, bmp_bpix); palette = (void *)bmp + 14 + hdr_size; colours = 1 << bmp_bpix; bpix = VNBITS(priv->bpix); eformat = priv->format; if (bpix != 1 && bpix != 8 && bpix != 16 && bpix != 32) { printf("Error: %d bit/pixel mode, but BMP has %d bit/pixel\n", bpix, bmp_bpix); return -EINVAL; } /* * We support displaying 8bpp and 24bpp BMPs on 16bpp LCDs * and displaying 24bpp BMPs on 32bpp LCDs */ if (bpix != bmp_bpix && !(bmp_bpix == 8 && (bpix == 16 || bpix == 24 || bpix == 32)) && !(bmp_bpix == 24 && (bpix == 16 || bpix == 32))) { printf("Error: %d bit/pixel mode, but BMP has %d bit/pixel\n", bpix, colours); return -EPERM; } debug("Display-bmp: %d x %d with %d colours, display %d\n", (int)width, (int)height, (int)colours, 1 << bpix); unsigned long bmp_stride_bytes = ((width * bmp_bpix + 31) / 32) * 4; unsigned long dst_bytes_per_pixel = bpix / 8; if (!dst_bytes_per_pixel) dst_bytes_per_pixel = 1; if (align) { video_splash_align_axis(&x, priv->xsize, width); video_splash_align_axis(&y, priv->ysize, height); } if ((x + width) > pwidth) width = pwidth - x; if ((y + height) > priv->ysize) height = priv->ysize - y; bmap = (uchar *)bmp + get_unaligned_le32(&bmp->header.data_offset); start = (uchar *)(priv->fb + (y + height) * priv->line_length + x * (bpix / 8)); /* Move back to the final line to be drawn (BMP 自下而上存储) */ fb = start - priv->line_length; switch (bmp_bpix) { case 1: case 8: { unsigned long src_bpp_bytes = 1; unsigned long dst_line_bytes = width * (bpix / 8); if (!dst_line_bytes) dst_line_bytes = width; for (i = 0; i < height; ++i) { schedule(); for (j = 0; j < width; j++) { write_pix8(fb, bpix, eformat, palette, bmap); bmap++; fb += (bpix / 8) ? (bpix / 8) : 1; } bmap += bmp_stride_bytes - width * src_bpp_bytes; fb -= dst_line_bytes + priv->line_length; } break; } case 16: if (CONFIG_IS_ENABLED(BMP_16BPP)) { unsigned long src_bpp_bytes = 2; for (i = 0; i < height; ++i) { schedule(); for (j = 0; j < width; j++) { *fb++ = *bmap++; *fb++ = *bmap++; } bmap += bmp_stride_bytes - width * src_bpp_bytes; fb -= width * 2 + priv->line_length; } } break; case 24: if (CONFIG_IS_ENABLED(BMP_24BPP)) { unsigned long src_bpp_bytes = 3; for (i = 0; i < height; ++i) { for (j = 0; j < width; j++) { if (bpix == 16) { /* 16bit 565RGB format */ *(u16 *)fb = ((bmap[2] >> 3) << 11) | ((bmap[1] >> 2) << 5) | (bmap[0] >> 3); bmap += 3; fb += 2; } else if (eformat == VIDEO_X2R10G10B10) { u32 pix; pix = (u32)(*bmap++) << 2U; pix |= (u32)(*bmap++) << 12U; pix |= (u32)(*bmap++) << 22U; *fb++ = pix & 0xff; *fb++ = (pix >> 8) & 0xff; *fb++ = (pix >> 16) & 0xff; *fb++ = pix >> 24; } else if (eformat == VIDEO_RGBA8888) { u32 pix; pix = (u32)(*bmap++) << 8U; /* blue */ pix |= (u32)(*bmap++) << 16U; /* green */ pix |= (u32)(*bmap++) << 24U; /* red */ *fb++ = (pix >> 24) & 0xff; *fb++ = (pix >> 16) & 0xff; *fb++ = (pix >> 8) & 0xff; *fb++ = 0xff; } else { *fb++ = *bmap++; *fb++ = *bmap++; *fb++ = *bmap++; *fb++ = 0; } } bmap += bmp_stride_bytes - width * src_bpp_bytes; fb -= priv->line_length + width * (bpix / 8); } } break; case 32: if (CONFIG_IS_ENABLED(BMP_32BPP)) { unsigned long src_bpp_bytes = 4; for (i = 0; i < height; ++i) { for (j = 0; j < width; j++) { if (eformat == VIDEO_X2R10G10B10) { u32 pix; pix = (u32)(*bmap++) << 2U; pix |= (u32)(*bmap++) << 12U; pix |= (u32)(*bmap++) << 22U; pix |= ((u32)(*bmap++) >> 6) << 30U; *fb++ = pix & 0xff; *fb++ = (pix >> 8) & 0xff; *fb++ = (pix >> 16) & 0xff; *fb++ = pix >> 24; } else if (eformat == VIDEO_RGBA8888) { u32 pix; pix = (u32)(*bmap++) << 8U; /* blue */ pix |= (u32)(*bmap++) << 16U; /* green */ pix |= (u32)(*bmap++) << 24U; /* red */ bmap++; /* alpha (忽略) */ *fb++ = (pix >> 24) & 0xff; *fb++ = (pix >> 16) & 0xff; *fb++ = (pix >> 8) & 0xff; *fb++ = 0xff; /* opacity */ } else { *fb++ = *bmap++; *fb++ = *bmap++; *fb++ = *bmap++; *fb++ = *bmap++; } } bmap += bmp_stride_bytes - width * src_bpp_bytes; fb -= priv->line_length + width * (bpix / 8); } } break; default: break; }; /* Find the position of the top left of the image in the framebuffer */ fb = (uchar *)(priv->fb + y * priv->line_length + x * (bpix / 8)); ret = video_sync_copy(dev, start, fb); if (ret) return log_ret(ret); return video_sync(dev, false); } Best Regards, Zhiming Re: IMX8MP uboot下配置双通道lvds,显示存在彩色竖线 Hi,@Zhiming        早上好,由于手上事情较多,回复的比较晚,很抱歉!        我试了gateworks.bmp,显示效果不太好;如下列logo.png所示;查阅uboot驱动没有VIDEO_FONT_16X32这个配置选项;我做了一个验证,用1920x1080的logo图,做成1280x800的logo,分别放在uboot和kernel上面,uboot存在切斜角度的锯齿情况;而kernel显示是完全正常的;感谢您对问题的跟进! uboot_logo_H.jpguboot_logo_H.jpg Re: IMX8MP uboot下配置双通道lvds,显示存在彩色竖线 Hi @DADAXIN  这个问题还是和素材分辨率有关,拉高素材分辨率,锯齿感会少很多。附件里得logo分辨是296x72,但是实际上在屏幕得显示范围,肯定不是296x72个像素点,所以会被拉伸。你可以试试同级目录下的tools/logos/gateworks.bmp(600x93)文件,看看横向锯齿感会不会少很多。字体的话,可以试试打开VIDEO_FONT_16X32这个选项,更适用于高分辨率屏幕。 Zhiming_Liu_0-1762826615066.pngZhiming_Liu_0-1762826615066.png Best Regards, Zhiming Re: IMX8MP uboot下配置双通道lvds,显示存在彩色竖线 Hi @DADAXIN  你目前使用的logo图(上面右边图片里的)能传一份上来吗?默认的NXP logo也是双通道1080p的情况下显示的吗? Best Regards, Zhiming Re: IMX8MP uboot下配置双通道lvds,显示存在彩色竖线 你好,感谢回复!情况如下: 1、默认的NXP logo显示也有锯齿效果,如附件显示 2、有更换1920x1080的logo图,在uboot下倾斜部分存在锯齿,其余部分正常显示;在kernel下文件过大,不能显示 3、转换为1280x800的logo图,在uboot下效果依旧,kernel下显示正常 4、换成1280x800的单通道屏,uboot和kernel显示都正常 单通道显示是正常的,但双通道更换logo图,uboot显示会有异常 3.jpg3.jpg 4.jpg4.jpg Re: IMX8MP uboot下配置双通道lvds,显示存在彩色竖线 Hi @DADAXIN  你在替换logo之前,默认的logo显示以及字体有问题吗?我仔细看了上面的图,看上去像是素材本身分辨率和屏幕不匹配,不知道你那里有没有分辨率更高的图片显示,测试看看高分辨率是什么情况? 另外,内核阶段如果显示相同的logo素材也是这样吗? Best Regards, Zhiming Re: IMX8MP uboot下配置双通道lvds,显示存在彩色竖线 早上好,zhiming 按照内核的 lvds寄存器写入;我在uboot中也进行了配置;但效果没有改善:logo倾斜部分还是存在锯齿;请问还有其余操作可以优化吗;期待你的回复!? uboot_lvds.pnguboot_lvds.png lvds_define.pnglvds_define.png Re: IMX8MP uboot下配置双通道lvds,显示存在彩色竖线 Hi @DADAXIN  对应内核的这一段配置,uboot补丁里没有这段配置,因为当时只测试了单通道。你需要把值写入uboot补丁里的lvds_ctrl寄存器。 https://github.com/nxp-imx/linux-imx/blob/lf-6.12.y/drivers/phy/freescale/phy-fsl-imx8mp-lvds.c#L113 Zhiming_Liu_0-1762475137940.pngZhiming_Liu_0-1762475137940.png Zhiming_Liu_1-1762475147603.pngZhiming_Liu_1-1762475147603.png Best Regards, Zhiming Re: IMX8MP uboot下配置双通道lvds,显示存在彩色竖线 感谢跟进,logo图现象如下所示:涉及到字体和图案的倾斜部分,会存在锯齿现象 2.jpg2.jpg 1.jpg1.jpg Re: IMX8MP uboot下配置双通道lvds,显示存在彩色竖线 你好,uboot没有找到对应phy文件:"fsl,imx8mp-lvds-phy",应该在哪个地方写入寄存器呢呢;<8MP_LVDS_patch>补丁也没有这个驱动文件 Re: IMX8MP uboot下配置双通道lvds,显示存在彩色竖线 Hi @DADAXIN  你可以参考linux lvds phy驱动里的设置,设置LVDS_CTRL的这三位,驱动能力应该会好很多。 phy_write(phy, priv->devdata->lvds_ctrl, CC_ADJ(0x2) | PRE_EMPH_EN | PRE_EMPH_ADJ(0x3)); Best Regards, Zhiming Re: IMX8MP uboot下配置双通道lvds,显示存在彩色竖线 感谢回复!logo图像也有部分锯齿现象,换成1280x800单通道屏,logo显示是正常的;我调整各种panel时钟和PLL值,都不能改善;请问有什么建议吗 Re: IMX8MP uboot下配置双通道lvds,显示存在彩色竖线 Hi, LOGO部分有异常吗?如果是字的话,应该是和lvds控制器无关,和uboot里的显示字体优化有关。 Best Regards, Zhiming Re: IMX8MP uboot下配置双通道lvds,显示存在彩色竖线 你好,lvds屏显示logo还有个现象:logo部分字母存在锯齿现象,应该怎么优化呢;期待您的回复 Re: IMX8MP uboot下配置双通道lvds,显示存在彩色竖线 感谢指导,是这个问题点 Re: IMX8MP uboot下配置双通道lvds,显示存在彩色竖线 Hi, 代码里有这一行,val |= CH_EN,这里只enable了channel0,BIT0,同时需要设置BIT2。 Zhiming_Liu_0-1762150737457.pngZhiming_Liu_0-1762150737457.png Best Regards, Zhiming Re: IMX8MP uboot下配置双通道lvds,显示存在彩色竖线 你好,感谢回复;将LDB_CH1_MODE_EN_TO_DI0改动为LDB_CH1_MODE_EN_TO_DI1,显示效果依旧 Re: IMX8MP uboot下配置双通道lvds,显示存在彩色竖线 Hi @DADAXIN  你试试把LDB_CH1_MODE_EN_TO_DI0 改成LDB_CH1_MODE_EN_TO_DI1 Best Regards, Zhiming Re: IMX8MP uboot下配置双通道lvds,显示存在彩色竖线 嗨,志明 感谢您的回复以及对问题的跟进,最近工作比较繁忙,回复比较晚请见谅;我进行了替换操作 1、当前5.10.72对应的uboot2021版本,替换后会报没有video_format定义;而在6.6.52对应的uboot2024版本是有的,我同步了这部分配置: +++ b/include/video.h @@ -56,6 +56,15 @@ enum video_log2_bpp { VIDEO_BPP32, }; + +enum video_format { + VIDEO_UNKNOWN, + VIDEO_RGBA8888, + VIDEO_X8B8G8R8, + VIDEO_X8R8G8B8, + VIDEO_X2R10G10B10, +}; + 2、进一步编译,报这一部分的错,不清楚怎么解决;希望能得到你的进一步回复,感谢!!... DADAXIN_0-1765003767987.pngDADAXIN_0-1765003767987.png Re: IMX8MP uboot下配置双通道lvds,显示存在彩色竖线 HI @DADAXIN @Zhiming_Liu       您好,我与你的现象一致(锯齿),请问下,修改了这个函数(video_bmp_display)以后,显示乱码了,请问您还修改了哪里吗 Re: IMX8MP uboot下配置双通道lvds,显示存在彩色竖线 Hi,不好意思,没留意到信息,锯齿的效果没有改善
View full article
Request for S32SDK S32K1xx RTM 4.0.1 Package or Download Link Dear NXP Community Team, I am currently working with the NXP S32K1xx series board using the S32 Design Studio (S32DS) IDE. I am looking for the S32SDK S32K1xx RTM 4.0.1 package for my development work. Could you please share the ZIP package or provide an official download link from where I can obtain this SDK version? I specifically need S32SDK S32K1xx RTM 4.0.1 to ensure compatibility with my existing project and development environment. I would appreciate your assistance. Thank you. Re: Request for S32SDK S32K1xx RTM 4.0.1 Package or Download Link Hi, S32SDK S32K1xx RTM 4.0.1 was introduced in S32 Design Studio v3.4, you can refer to https://community.nxp.com/t5/S32-Design-Studio-Knowledge-Base/S32-Design-Studio-for-S32-Platform-v3-4-Windows-Linux-released/ta-p/1206337 The K1 packages can be installed on the product from the S32DS Extensions and Updates tool. S32SDK S32K1xx RTM 4.0.1  can be added to S32DS 3.5 as well. So assuming that you have fresh S32DS v3.5 installation. First step is update existing packages: image (23).pngimage (23).png When done - as a first package you need to install Development Package for S32K1xx - this is basic support for K1 devices:   Selecting the K1 dev package also install dependencies:  image (25).pngimage (25).png and last step is installing the RTD: image (26).pngimage (26).png Hope it helps. BR, Petr
View full article
debug launch fails: Timed out trying to launch GDB Hello, I am using an S32K566 board with S32 Design Studio 3.6.10 and an S32 Debug Probe. I followed the tutorial step by step. The project builds successfully, but when i start debugging i get this error. "Launching anomaly detection" has encountered a problem. Error in services launch sequence Timed out trying to launch GDB I have already tried creating a new debug configuration and checking the GDB paths, but the issue remains Could you please advise what may cause this error? Thanks,   Re: debug launch fails: Timed out trying to launch GDB Hi, The error is quite generic and can be caused by several issues. Could you please provide more information to address this?   1. Console log — the full text from the S32DS Console tab (not a screenshot). This can show exactly where the connection times out (probe found? target power? SWD/JTAG connect? reset?). 2. Verify that the S32DS installation is complete, updates and desired extensions installed 3. Hardware - Is it an NXP EVB or a custom board? How is the probe connected — USB or Ethernet? 4. Previously programmed state - Was the MCU previously programmed with anything (especially HSE/security-related firmware, or a bootloader that modifies DAP access)? Was it ever debugged successfully on this board before? 5. Simple project test — does the same failure occur with a freshly created Hello World / empty project on a clean workspace? This helps isolate whether it's project-specific or a board/probe/environment issue. 6. Debug Configuration screenshot — specifically the Debugger tab, to verify the correct device, interface speed, and connection settings.   BR, Petr
View full article
アプリケーションがDCSRレジスタの値を読み取った際に、CPUがフリーズした。 私のデバイス環境は、OSEオペレーティングシステムを実行するB4860ハードウェアチッププラットフォームで構成されており、DCSRアドレス空間マッピングタイプはSASEです。 0xf1100000 - 0xf14fffff 0x00400000 rw-r-- cio ----g- SASE dcsr 0xf1124fffから0xf1125fffの範囲内のアドレスを逆参照すると、CPUがフリーズし、ウォッチドッグタイムアウトによりリセットされました。このアドレス空間のサイズは4KBです。チップのDCSRレジスタについて知りたいのですが、DCSRレジスタの機能は何ですか?その値に直接アクセスして読み取ることはできないのでしょうか? Re: 应用程序中读取DCSR寄存器的值引发CPU停滞的问题 フリーズは、通常の読み取り可能なDCSRレジスタではなく、B4860 DCSR空間内の記録されたアクセス不能ホールにアクセスすることと一致しています。 DCSRは一つのレジスタではありません。これは、実行制御/デバッグイベント、トレース生成、イベントカウント、EPUパフォーマンスカウンタ、Nexus/トレース関連レジスタなど、デバッグ関連のハードウェアリソースに使用される4MBのメモリマップ付きデバッグ/制御/ステータスアドレス空間です。一部のDCSRリソースはデバッグや内部用途のみ使用可能であり、少なくとも1つのサポートノートではDCSR/DSCRアクセスは「内部使用のみ」と記載されており、該当する場合はDTUにはCCSRアクセスの使用を推奨しています。 マッピングについて: DCSRベース = 0xf1100000 範囲が不正です = 0xf1124fff - 0xf1125fff オフセット = 0x24fff - 0x25fff 重要な点は次のとおりです。 0xf1125000 - 0xf1125fff  > DCSR オフセット 0x25000 - 0x25fff その正確なDCSRオフセット範囲はアクセス不能スロットとして記載されており、NXPのサポート証拠ではDCSR領域で0x25000~0x25fffを読み取ると「システムハングを引き起こす」とされています。推奨される解決策は、DCSR空間のMMUウィンドウを有効にする際にその範囲を除外することです。他のB4860関連の証拠も同様に、CCSR/DCSRの未マッピング・未使用・予約領域はアクセスできず、それらにアクセスするとSC3900コアやSoCが停止する可能性があると示されています。 つまり答えは次の通りです: いいえ、DCSRマップされた範囲内の任意のアドレスを直接スキャンしたり、逆参照したりしてはいけません。 アクセスすべきは、文書化された有効なDCSRオフセットのみです。 予約済み、未使用、またはアクセス不能のDCSRスロットは、バスエラーを返す代わりにCPU/SoCをハングさせることがあります。 お客様の特定の障害発生範囲は、既知の不良DCSRオフセット0x25000~0x25fffと重複しており、これがCPUフリーズ後にウォッチドッグリセットが発生する理由です。 もう一つ追加情報として、0xf1124fffは文書化された0x25000ホールの1バイト前ですが、その非揃列アドレスでの32ビットアクセスは0xf1125000に交差する可能性があります。DCSR/レジスタアクセスは、任意のバイト/ワードプロービングではなく、アラインドされた32ビットレジスタアクセスとして扱うべきです。 推奨される処理方法:特定のデバッグ リソースが必要な場合にのみ DCSR をマッピングし、読み取り/書き込みを既知の有効なオフセットに制限し、診断ダンプまたはメモリ スキャン コードから DCSR + 0x25000 から DCSR + 0x25fff を明示的にブロック/除外します。 フリーズはそのアドレス範囲で予想されます。0xf1125000–0xf1125fffはB4860 DCSRの非アクセス可能なスロット0x25000–0x25fffにマッピングされるため、DCSR空間の任意の直接読み込みは安全ではありません。 Re: 应用程序中读取DCSR寄存器的值引发CPU停滞的问题 なるほど、この問題はチップ自体の根本的な問題だと正式に確認されたんですね?私の個人的な設定や誤った使用方法が原因ではないということですね(とはいえ、あの領域にアクセスすべきではなかったのは確かですが)。
View full article
应用程序中读取DCSR寄存器的值引发CPU停滞的问题 我的设备环境是硬件芯片平台B4860搭载ose操作系统,有一个dcsr的地址空间映射类型为SASE: 0xf1100000 - 0xf14fffff 0x00400000 rw-r-- cio ----g- SASE dcsr 我对其中的地址范围:0xf1124fff -- 0xf1125fff中任意一个地址进行解引用的时候引发了CPU停滞,之后由于芯片看门狗超时而复位。这个地址空间范围是4kb大小,我想知道关于这个芯片dcsr寄存器相关的信息。dcsr寄存器的作用是什么呢?它不能够直接访问读取寄存器值吗? Re: 应用程序中读取DCSR寄存器的值引发CPU停滞的问题 该冻结与访问B4860 DCSR 空间中已记录的不可访问的空洞一致,而不是与正常的可读 DCSR 寄存器一致。 DCSR 不是一个寄存器;它是一个4 MB 内存映射的调试/控制/状态地址空间,用于调试相关的硬件资源,例如运行控制/调试事件、跟踪生成、事件计数、EPU 性能计数器和 Nexus/跟踪相关寄存器。某些 DCSR 资源仅可用于调试/内部用途,并且至少有一份支持说明指出 DCSR/DSCR 访问“仅供内部使用”,并建议在适用情况下对 DTU 使用 CCSR 访问。 供您参考: DCSR 基址 = 0xf1100000 错误范围 = 0xf1124fff - 0xf1125fff 偏移量 = 0x24fff - 0x25fff 关键在于: 0xf1125000 - 0xf1125fff -> DCSR 偏移量 0x25000 - 0x25fff 该 DCSR 偏移范围被列为不可访问的插槽,NXP 支持证据表明,读取 DCSR 空间中的 0x25000 ~ 0x25fff “会导致系统挂起”;建议的解决方案是在为 DCSR 空间启用 MMU 窗口时排除该范围。其他与 B4860 相关的证据也表明,CCSR/DCSR 中未映射/未使用/保留的区域无法访问,访问这些区域可能会导致 SC3900 内核甚至 SoC 挂起。 所以答案是: 不,您不应该直接扫描或解引用 DCSR 映射范围内的任意地址。 仅应访问已记录/有效的 DCSR 偏移量。 预留、未使用或无法访问的 DCSR 插槽可能会导致 CPU/SoC 挂起,而不是返回总线错误。 您的特定故障范围与已知的错误 DCSR 偏移量 0x25000–0x25fff 重叠,这解释了 CPU 冻结后看门狗复位的原因。 还有一个细节:0xf1124fff 是记录在案的 0x25000 空洞前一个字节,但对该未对齐地址的 32 位访问可能会跨越到 0xf1125000。DCSR/寄存器访问应视为对齐的32位寄存器访问,而不是任意字节/字探测。 建议的处理方法:仅在需要特定调试资源时才映射 DCSR,将读/写限制在已知的有效偏移量,并明确地阻止/排除 DCSR + 0x25000 到 DCSR + 0x25fff 到任何诊断转储或内存扫描代码。 该地址范围预计会冻结:0xf1125000–0xf1125fff 映射到 B4860 DCSR 不可访问的插槽 0x25000–0x25fff,因此对 DCSR 空间的任意直接读取是不安全的。 Re: 应用程序中读取DCSR寄存器的值引发CPU停滞的问题 好的,所以这个问题是官方已经明确的属于芯片固有的问题对吧,而不是由于我个人的设置、未正确使用所导致的(尽管我确实不应该访问该区域)。
View full article
MIMXRT1175AVM8B 硬件集成支持或参考原理图 您好,NXP团队: 我们正在使用贵公司的MIMXRT1175AVM8B MCU设计一款 AV 控制器。在绘制硬件原理图的过程中,我们发现现有的数据手册和硬件设计指南对于某些硬件接口配置(例如RGMII/以太网接口和具体的 MCU 引脚连接)提供的细节不够充分。 因此,我们希望NXP 能提供硬件集成支持,或者至少提供 MIMXRT1175AVM8B 的参考原理图,以便我们用作设计参考。 请提供 以太网/RGMII 接口 所需的硬件集成指导、推荐连接或任何可用的参考原理图/设计文件 。 感谢您的支持。 谢谢! Re: MIMXRT1175AVM8B Hardware Integration Support or Referance schematic 你好@Ntn-Tech , 感谢您对 NXP MIMXRT 系列产品的关注! NXP 提供 RT1170-EVKB 的原理图作为参考设计。此外, AN14251还提供了有关 ENET 使用和引脚配置的详细信息。对于您正在使用的 RT1175,请参阅表 25“i.MX RT117x – ENET1G RGMII 焊盘”中的相关信息。在实施此操作之前,最好使用 MCUXpressoIDE 中提供的 ConfigTool 进行仔细检查。 此致, 加文
View full article
MIMXRT1175AVM8B ハードウェア統合サポートまたは参照回路図 こんにちは、NXPチームの皆様、 私たちはあなたのMIMXRT1175AVM8B MCUを使ったAVコントローラを設計しています。ハードウェア回路図の作成中、利用可能なデータシートやハードウェア設計ガイドラインには、RGMII/イーサネットインターフェースや正確なMCUピン接続など、一部のハードウェアインターフェース構成について十分な詳細が提供されていないことが分かりました。 したがって、 NXPからのハードウェア統合サポート 、あるいは設計 基準 として使える MIMXRT1175AVM8Bの参照回路図 をいただけると ありがたい です。 必要なハードウェア統合のガイダンス、推奨接続、または利用可能な参照回路図や設計ファイルをご提供くださいイーサネット/RGMII インターフェース。 再開まで今しばらくお待ちください。 よろしくお願いします。 Re: MIMXRT1175AVM8B Hardware Integration Support or Referance schematic こんにちは、@Ntn-Tech さん。 NXP MIMXRTシリーズにご関心をお寄せいただきありがとうございます! NXPはRT1170-EVKBの回路図をリファレンス・デザインとして提供しています。さらに、 AN14251では、ENETの使用方法とピン構成に関する詳細情報を提供しています。ご使用のRT1175については、表25「i.MX RT117x – ENET1G RGMIIパッド」の関連情報をご参照ください。これを実装する前に、MCUXpressoIDEに付属のConfigToolを使用して再確認することをお勧めします。 よろしくお願いします、 ギャビン
View full article
みんなが話題にしている、睡眠のための30秒チェリートリックとは? 睡眠のための30秒チェリートリックに興味が出てきたので、この就寝習慣について調べてみました。 このコンセプトは、タルトチェリーを夕食のルーティンに取り入れることに焦点を当てています。これは薬や即効性のある睡眠改善法として提示されているのではなく、健康的な睡眠習慣と併せて取り入れる人もいる、シンプルな習慣として紹介されている。 タルトチェリーは、睡眠・覚醒サイクルに関係するメラトニンをはじめとする天然化合物が含まれていることから、しばしば話題に上る。規則正しい就寝時間を守り、夜遅くのカフェイン摂取を控えることは、バランスの取れた睡眠習慣において重要な要素である。 Yu Sleepのような製品は、このトレンドとサプリメントの選択肢として結びついています。成分やお客様のレビューを確認することで、他の人が共有する配合や使い方、体験を理解する助けになります。 睡眠習慣は人それぞれ異なります。小さな変化で就寝ルーティンが良くなるかもしれませんが、個人の習慣や製品の詳細を一緒に考慮する必要があります。 30秒チェリートリックとYu Sleepに関する詳細はこちらをご覧ください。 https://bestorium.com/yu-sleep-review/
View full article
IMX8MP uboot でデュアルチャネル LVDS を構成すると、色付きの縦線が表示されます。 背景: 現在、U-BootのLVDSディスプレイはパッチに従って設定されており、1280x800のシングルチャネル画面では正常に表示されます。これに基づき、1920x1080のデュアルチャネルディスプレイが必要となり、以下の設定が実装されています。 1. LVDS 画面パラメータを設定します。 タイミングLVDS: タイミングLVDS { クロック周波数 = <141140000>; hactive = <1920>; vアクティブ = <1080>; hfront-porch = <94>; hback-porch = <92>; hsync-len = <2>; vback-porch = <18>; vフロントポーチ = <16>; vsync-len = <2>; hsync-アクティブ = <1>; vsync-active = <1>; 非アクティブ = <1>; }; 2. レジスタ設定をldbに書き込みます。 //CH1 #CH1_DATA_WIDTH_24BIT を定義します (1 << 7) #define CH1_BIT_MAPPING_JEIDA (1 << 😎 #define CH1_BIT_MAPPING_SPWG (0 << 😎 media_blk_write(priv, LDB_CTRL, LDB_CH0_MODE_EN_TO_DI0 | CH0_DATA_WIDTH_24BIT | CH0_BIT_MAPPING_JEIDA | LDB_CH1_MODE_EN_TO_DI0 | CH1_DATA_WIDTH_24BIT | CH1_BIT_MAPPING_JEIDA); 3. 次の式に従って PLL 値を計算します。 PLL_1443X_RATE(987980000U, 823, 5, 2, 20971), uboot_lvds_1920x1080.jpguboot_lvds_1920x1080.jpg ロゴは表示されているのですが、画面に色のついた縦線が表示されています。何が原因でしょうか?トラブルシューティングにご協力ください。ありがとうございます。ご返信をお待ちしております。 i.MX 8M | i.MX 8M ミニ | i.MX 8M ナノ i.MX8ULP Re: IMX8MP uboot下配置双通道lvds,显示存在彩色竖线 こんにちは@DADAXIN カーネルとU-BootのBMP表示機能が異なるため、BMP表示関連の関数に問題があると思われます。video_bmp_display関数を置き換えてみてください。 int video_bmp_display(struct udevice *dev, ulong bmp_image, int x, int y, bool align) { struct video_priv *priv = dev_get_uclass_priv(dev); int i, j; uchar *start, *fb; struct bmp_image *bmp = map_sysmem(bmp_image, 0); uchar *bmap; unsigned long width, height; unsigned long pwidth = priv->xsize; unsigned colours, bpix, bmp_bpix; enum video_format eformat; struct bmp_color_table_entry *palette; int hdr_size; int ret; if (!bmp || !(bmp->header.signature[0] == 'B' && bmp->header.signature[1] == 'M')) { printf("Error: no valid bmp image at %lx\n", bmp_image); return -EINVAL; } video_bmp_get_info(bmp, &width, &height, &bmp_bpix); hdr_size = get_unaligned_le16(&bmp->header.size); debug("hdr_size=%d, bmp_bpix=%d\n", hdr_size, bmp_bpix); palette = (void *)bmp + 14 + hdr_size; colours = 1 << bmp_bpix; bpix = VNBITS(priv->bpix); eformat = priv->format; if (bpix != 1 && bpix != 8 && bpix != 16 && bpix != 32) { printf("Error: %d bit/pixel mode, but BMP has %d bit/pixel\n", bpix, bmp_bpix); return -EINVAL; } /* * We support displaying 8bpp and 24bpp BMPs on 16bpp LCDs * and displaying 24bpp BMPs on 32bpp LCDs */ if (bpix != bmp_bpix && !(bmp_bpix == 8 && (bpix == 16 || bpix == 24 || bpix == 32)) && !(bmp_bpix == 24 && (bpix == 16 || bpix == 32))) { printf("Error: %d bit/pixel mode, but BMP has %d bit/pixel\n", bpix, colours); return -EPERM; } debug("Display-bmp: %d x %d with %d colours, display %d\n", (int)width, (int)height, (int)colours, 1 << bpix); unsigned long bmp_stride_bytes = ((width * bmp_bpix + 31) / 32) * 4; unsigned long dst_bytes_per_pixel = bpix / 8; if (!dst_bytes_per_pixel) dst_bytes_per_pixel = 1; if (align) { video_splash_align_axis(&x, priv->xsize, width); video_splash_align_axis(&y, priv->ysize, height); } if ((x + width) > pwidth) width = pwidth - x; if ((y + height) > priv->ysize) height = priv->ysize - y; bmap = (uchar *)bmp + get_unaligned_le32(&bmp->header.data_offset); start = (uchar *)(priv->fb + (y + height) * priv->line_length + x * (bpix / 8)); /* Move back to the final line to be drawn (BMP 自下而上存储) */ fb = start - priv->line_length; switch (bmp_bpix) { case 1: case 8: { unsigned long src_bpp_bytes = 1; unsigned long dst_line_bytes = width * (bpix / 8); if (!dst_line_bytes) dst_line_bytes = width; for (i = 0; i < height; ++i) { schedule(); for (j = 0; j < width; j++) { write_pix8(fb, bpix, eformat, palette, bmap); bmap++; fb += (bpix / 8) ? (bpix / 8) : 1; } bmap += bmp_stride_bytes - width * src_bpp_bytes; fb -= dst_line_bytes + priv->line_length; } break; } case 16: if (CONFIG_IS_ENABLED(BMP_16BPP)) { unsigned long src_bpp_bytes = 2; for (i = 0; i < height; ++i) { schedule(); for (j = 0; j < width; j++) { *fb++ = *bmap++; *fb++ = *bmap++; } bmap += bmp_stride_bytes - width * src_bpp_bytes; fb -= width * 2 + priv->line_length; } } break; case 24: if (CONFIG_IS_ENABLED(BMP_24BPP)) { unsigned long src_bpp_bytes = 3; for (i = 0; i < height; ++i) { for (j = 0; j < width; j++) { if (bpix == 16) { /* 16bit 565RGB format */ *(u16 *)fb = ((bmap[2] >> 3) << 11) | ((bmap[1] >> 2) << 5) | (bmap[0] >> 3); bmap += 3; fb += 2; } else if (eformat == VIDEO_X2R10G10B10) { u32 pix; pix = (u32)(*bmap++) << 2U; pix |= (u32)(*bmap++) << 12U; pix |= (u32)(*bmap++) << 22U; *fb++ = pix & 0xff; *fb++ = (pix >> 8) & 0xff; *fb++ = (pix >> 16) & 0xff; *fb++ = pix >> 24; } else if (eformat == VIDEO_RGBA8888) { u32 pix; pix = (u32)(*bmap++) << 8U; /* blue */ pix |= (u32)(*bmap++) << 16U; /* green */ pix |= (u32)(*bmap++) << 24U; /* red */ *fb++ = (pix >> 24) & 0xff; *fb++ = (pix >> 16) & 0xff; *fb++ = (pix >> 8) & 0xff; *fb++ = 0xff; } else { *fb++ = *bmap++; *fb++ = *bmap++; *fb++ = *bmap++; *fb++ = 0; } } bmap += bmp_stride_bytes - width * src_bpp_bytes; fb -= priv->line_length + width * (bpix / 8); } } break; case 32: if (CONFIG_IS_ENABLED(BMP_32BPP)) { unsigned long src_bpp_bytes = 4; for (i = 0; i < height; ++i) { for (j = 0; j < width; j++) { if (eformat == VIDEO_X2R10G10B10) { u32 pix; pix = (u32)(*bmap++) << 2U; pix |= (u32)(*bmap++) << 12U; pix |= (u32)(*bmap++) << 22U; pix |= ((u32)(*bmap++) >> 6) << 30U; *fb++ = pix & 0xff; *fb++ = (pix >> 8) & 0xff; *fb++ = (pix >> 16) & 0xff; *fb++ = pix >> 24; } else if (eformat == VIDEO_RGBA8888) { u32 pix; pix = (u32)(*bmap++) << 8U; /* blue */ pix |= (u32)(*bmap++) << 16U; /* green */ pix |= (u32)(*bmap++) << 24U; /* red */ bmap++; /* alpha (忽略) */ *fb++ = (pix >> 24) & 0xff; *fb++ = (pix >> 16) & 0xff; *fb++ = (pix >> 8) & 0xff; *fb++ = 0xff; /* opacity */ } else { *fb++ = *bmap++; *fb++ = *bmap++; *fb++ = *bmap++; *fb++ = *bmap++; } } bmap += bmp_stride_bytes - width * src_bpp_bytes; fb -= priv->line_length + width * (bpix / 8); } } break; default: break; }; /* Find the position of the top left of the image in the framebuffer */ fb = (uchar *)(priv->fb + y * priv->line_length + x * (bpix / 8)); ret = video_sync_copy(dev, start, fb); if (ret) return log_ret(ret); return video_sync(dev, false); } よろしくお願いします、 志明 Re: IMX8MP uboot下配置双通道lvds,显示存在彩色竖线 こんにちは、@Zhiming おはようございます!仕事が忙しくて返信が遅くなり申し訳ありません。 gateworks.bmp を試してみましたが、表示があまり良くありませんでした。下の logo.png をご覧ください。uboot ドライバを確認したところ、VIDEO_FONT_16X32 の設定オプションが見つかりませんでした。検証として、1920x1080 のロゴ画像を 1280x800 のロゴに変換し、uboot とカーネルの両方に配置しました。uboot のロゴは斜めの角度でギザギザのエッジが表示されましたが、カーネルは問題なく表示されました。この問題についてご報告いただきありがとうございます。 uboot_logo_H.jpguboot_logo_H.jpg Re: IMX8MP uboot下配置双通道lvds,显示存在彩色竖线 こんにちは@DADAXIN この問題は、ソース素材の解像度に関係しています。ソース素材の解像度を上げると、ギザギザが大幅に軽減されます。添付ファイルのロゴの解像度は296x72ですが、実際の画面の表示領域は296x72ピクセルではないため、引き伸ばされます。同じディレクトリにあるtools/logos/gateworks.bmp(600x93)ファイルを試して、水平方向のギザギザが軽減されるかどうかを確認してください。フォントについては、高解像度画面に適したVIDEO_FONT_16X32オプションを有効にしてみてください。 Zhiming_Liu_0-1762826615066.pngZhiming_Liu_0-1762826615066.png よろしくお願いします、 志明 Re: IMX8MP uboot下配置双通道lvds,显示存在彩色竖线 こんにちは@DADAXIN 現在使用しているロゴ画像(上記右側のもの)のコピーをアップロードしていただけますか?デュアルチャネル1080pモードでも、デフォルトのNXPロゴは表示されますか? よろしくお願いします、 志明 Re: IMX8MP uboot下配置双通道lvds,显示存在彩色竖线 こんにちは、ご返信ありがとうございます!状況は以下のとおりです。 1. 添付ファイルに示すように、デフォルトの NXP ロゴ表示にもギザギザの外観が現れます。 2. 新しい1920x1080のロゴ画像をインストールしました。U-Bootでは傾いた部分がギザギザに見えますが、残りの部分は正常に表示されます。しかし、カーネルではファイルが大きすぎて表示できません。 3. ロゴ画像を 1280x800 の解像度に変換すると、U-Boot でも同じ効果が維持され、カーネルに正しく表示されます。 4. 1280x800 シングルチャネル画面に切り替えると、uboot とカーネルの両方が正常に表示されます。 シングルチャネル ディスプレイは正常に動作しますが、デュアルチャネル モードでロゴ画像が変更されると、U-Boot が異常表示されます。 3.jpg3.jpg 4.jpg4.jpg Re: IMX8MP uboot下配置双通道lvds,显示存在彩色竖线 こんにちは@DADAXIN ロゴを差し替える前、デフォルトのロゴの表示やフォントに問題はありましたか? 上の画像をよく確認したところ、元の素材自体の解像度が画面と互換性がないようです。高解像度での表示でどうなるかテストできる、より高解像度の画像をお持ちでしょうか? また、カーネル段階で同じロゴ素材が表示された場合にも、このような現象が発生しますか? よろしくお願いします、 志明 Re: IMX8MP uboot下配置双通道lvds,显示存在彩色竖线 早上好、志明 内部コアの lvds レジスタの書き込み;私も uboot で構成を実行しました;しかし結果は改善されませんでした:ロゴの斜部分も存在します;请问その残りの操作は拡張可能です;期待してください! uboot_lvds.pnguboot_lvds.png lvds_define.pnglvds_define.png Re: IMX8MP uboot下配置双通道lvds,显示存在彩色竖线 こんにちは@DADAXIN この設定はカーネルの特定の部分に対応していますが、当時はシングルチャネルテストのみが実施されていたため、U-Bootパッチには含まれていません。U-Bootパッチでlvds_ctrlレジスタに値を書き込む必要があります。 https://github.com/nxp-imx/linux-imx/blob/lf-6.12.y/drivers/phy/freescale/phy-fsl-imx8mp-lvds.c#L113 Zhiming_Liu_0-1762475137940.pngZhiming_Liu_0-1762475137940.png Zhiming_Liu_1-1762475147603.pngZhiming_Liu_1-1762475147603.png よろしくお願いします、 志明 Re: IMX8MP uboot下配置双通道lvds,显示存在彩色竖线 ご指摘ありがとうございます。ロゴ画像の問題は、フォントとパターンの斜め部分にギザギザ感があるというものです。 2.jpg2.jpg 1.jpg1.jpg Re: IMX8MP uboot下配置双通道lvds,显示存在彩色竖线 こんにちは。U-Boot は対応する PHY ファイル「fsl,imx8mp-lvds-phy」を見つけることができません。レジスタのどこに書き込めばいいのでしょうか? <8MP_LVDS_patch> パッチにもこのドライバファイルは含まれていません。 Re: IMX8MP uboot下配置双通道lvds,显示存在彩色竖线 こんにちは@DADAXIN Linux LVDS PHY ドライバーの設定を参照して、LVDS_CTRL のこれらの 3 つのビットを調整すると、ドライバーの機能が大幅に向上するはずです。 phy_write(phy, priv->devdata->lvds_ctrl, CC_ADJ(0x2) | PRE_EMPH_EN | PRE_EMPH_ADJ(0x3)); よろしくお願いします、 志明 Re: IMX8MP uboot下配置双通道lvds,显示存在彩色竖线 ご返信ありがとうございます!ロゴ画像の縁がギザギザになっています。1280x800のシングルチャンネル画面に切り替えると問題は解決しました。パネルクロックやPLL値をいろいろ調整しても表示は改善されませんでした。何かアドバイスはありますか? Re: IMX8MP uboot下配置双通道lvds,显示存在彩色竖线 こんにちは、 ロゴに何か問題がありますか?テキストだけであれば、LVDSコントローラーではなく、U-Bootのフォント最適化に関係している可能性があります。 よろしくお願いします、 志明 Re: IMX8MP uboot下配置双通道lvds,显示存在彩色竖线 こんにちは。LVDS画面のロゴ表示に問題が発生しています。ロゴの文字がギザギザに表示されてしまいます。どうすれば改善できるでしょうか?ご返信をお待ちしております。 Re: IMX8MP uboot下配置双通道lvds,显示存在彩色竖线 ご指導ありがとうございます。それが問題の核心です。 Re: IMX8MP uboot下配置双通道lvds,显示存在彩色竖线 こんにちは、 コードには次の行が含まれています: val |= CH_EN。ここでは、チャネル0とBIT0のみが有効になっていますが、BIT2も設定する必要があります。 Zhiming_Liu_0-1762150737457.pngZhiming_Liu_0-1762150737457.png よろしくお願いします、 志明 Re: IMX8MP uboot下配置双通道lvds,显示存在彩色竖线 こんにちは。ご返信ありがとうございます。LDB_CH1_MODE_EN_TO_DI0 を LDB_CH1_MODE_EN_TO_DI1 に変更しても、表示効果は変わりませんでした。 Re: IMX8MP uboot下配置双通道lvds,显示存在彩色竖线 こんにちは@DADAXIN LDB_CH1_MODE_EN_TO_DI0 を LDB_CH1_MODE_EN_TO_DI1 に変更してみてください。 よろしくお願いします、 志明 Re: IMX8MP uboot下配置双通道lvds,显示存在彩色竖线 こんにちは、志明 感激の逆行および問題の発生、最近の動作はより混雑しており、逆行はより混雑しています;私たちは代替操作を実行しました 1、現在 5.10.72 对应的 uboot2021 バージョン、変更後の会議には video_format 定義がありません;しかし、現在 6.6.52 对应的 uboot2024 バージョンは有ります、私もこの部分の構成: +++ b/include/video.h @@ -56,6 +56,15 @@ 列挙型 video_log2_bpp { ビデオ_BPP32、 }; + +列挙型ビデオフォーマット { + ビデオ_不明、 + ビデオ_RGBA8888、 + ビデオ_X8B8G8R8、 + ビデオ_X8R8G8B8、 + ビデオ_X2R10G10B10、 +}; + 2、もう一つの輖译、この一部の错、不明確怎么解决; 希望は你のもう一つの回帰を得ることができます、感谢! DADAXIN_0-1765003767987.pngDADAXIN_0-1765003767987.png Re: IMX8MP uboot下配置双通道lvds,显示存在彩色竖线 こんにちは@DADAXIN @Zhiming_Liu こんにちは。私もあなたと同じ問題(エイリアスされたテキスト)を抱えています。この関数(video_bmp_display)を変更した後、表示が乱れるのはなぜか教えていただけますか?他に何か変更しましたか? Re: IMX8MP uboot下配置双通道lvds,显示存在彩色竖线 こんにちは、すみません、メッセージに気づきませんでした。ギザギザしたエッジは改善されていません。
View full article
The application's reading of the DCSR register value caused a CPU freeze. My device environment consists of a B4860 hardware chip platform running the OSE operating system, with a DCSR address space mapping type of SASE. 0xf1100000 - 0xf14fffff 0x00400000 rw-r-- cio ----g- SASE dcsr Dereferencing any address within the range 0xf1124fff to 0xf1125fff caused a CPU freeze, followed by a reset due to a watchdog timeout. This address space is 4KB in size. I'd like to know information about the chip's DCSR register. What is the function of the DCSR register? Can't its value be directly accessed and read? Re: 应用程序中读取DCSR寄存器的值引发CPU停滞的问题 The freeze is consistent with accessing a documented non-accessible hole inside the B4860 DCSR space , not with a normal readable DCSR register. DCSR is not one register; it is a 4 MB memory-mapped debug/control/status address space used for debug-related hardware resources such as run-control/debug events, trace generation, event counting, EPU performance counters, and Nexus/trace-related registers. Some DCSR resources are usable only for debug/internal purposes, and at least one support note states that DCSR/DSCR access is “for internal use only” and recommends using CCSR access for DTU where applicable. For your mapping: DCSR base = 0xf1100000 bad range = 0xf1124fff - 0xf1125fff offsets   = 0x24fff    - 0x25fff The key part is: 0xf1125000 - 0xf1125fff  => DCSR offset 0x25000 - 0x25fff That exact DCSR offset range is listed as a non-accessible slot , and NXP support evidence says reading 0x25000 ~ 0x25fff in DCSR space “will cause system hang”; the recommended solution is to exclude that range when enabling an MMU window for DCSR space. Other B4860-related evidence similarly says unmapped/unused/reserved regions in CCSR/DCSR are not accessible and accessing them may hang the SC3900 core or even the SoC. So the answer is: No, you should not directly scan or dereference arbitrary addresses in the DCSR-mapped range. Only documented/valid DCSR offsets should be accessed. Reserved, unused, or non-accessible DCSR slots can hang the CPU/SoC instead of returning a bus error. Your specific failing range overlaps the known bad DCSR offset 0x25000–0x25fff , which explains the watchdog reset after the CPU freezes. One additional detail: 0xf1124fff is one byte before the documented 0x25000 hole, but a 32-bit access at that unaligned address can cross into 0xf1125000 . DCSR/register accesses should be treated as aligned 32-bit register accesses, not arbitrary byte/word probing. Recommended handling: map DCSR only if you need specific debug resources, restrict reads/writes to known valid offsets, and explicitly block/exclude DCSR + 0x25000 through DCSR + 0x25fff from any diagnostic dump or memory-scan code. The freeze is expected for that address range: 0xf1125000–0xf1125fff maps to the B4860 DCSR non-accessible slot 0x25000–0x25fff , so arbitrary direct reads of DCSR space are unsafe. Re: 应用程序中读取DCSR寄存器的值引发CPU停滞的问题 Okay, so this issue is officially confirmed to be an inherent problem with the chip, right? It's not due to my personal settings or incorrect usage (although I really shouldn't have accessed that area).
View full article
IMX8MP uboot configured with dual channel lvds, showing the presence of colored vertical lines Background: Currently according to the patch <8MP_LVDS_patch > configure uboot's lvds display, using 1280x800 single-channel screen display is normal; based on this basis need to realize 1920x1080 dual-channel display, has been configured as follows: 1. Configure the screen reference of lvds: timing_lvds: timing_lvds { clock-frequency = <141140000>; hactive = <1920>; vactive = <1080>; hfront-porch = <94>; hback-porch = <92>; hsync-len = <2>; vback- porch = <18>; vfront-porch = <16>; vsync-len = <2>; hsync-active = <1>; vsync-active = <1>; de-active = <1>; } ; 2. Write the register configuration of ldb: //CH1 #define CH1_DATA_WIDTH_24BIT (1 << 7) #define CH1_BIT_MAPPING_JEIDA (1 << 😎 #define CH1_BIT_MAPPING_SPWG (0) << 😎 media_blk_write(priv, LDB_CTRL, LDB_CH0_MODE_EN_TO_DI0 | CH0_DATA_WIDTH_24BIT | CH0_BIT_MAPPING_JEIDA | LDB_CH1_MODE_EN_TO_DI0 | CH1_DATA_WIDTH_24BIT | CH1_BIT_MAPPING_JEIDA); media_blk_write(priv, LDB_CTRL, LDB_CH0_MODE_EN_TO_DI0 | CH1_DATA_ WIDTH_24BIT | CH1_BIT_MAPPING_JEIDA). 3. According to the formula, calculate the PLL value: PLL_1443X_RATE(987980000U, 823, 5, 2, 20971), the uboot_lvds_1920x1080.jpguboot_lvds_1920x1080.jpg There is a logo screen displayed, but the screen shows the presence of colored vertical lines, what could this be, please help troubleshoot, thanks; looking forward to your reply! i.MX 8M | i.MX 8M Mini | i.MX 8M Nano i.MX8ULP Re: IMX8MP uboot下配置双通道lvds,显示存在彩色竖线 Hi @dadaxin Since the bmp display in kernel and uboot is not the same function, so for now I suspect that there is something wrong with the bmp display related function, please try to replace the video_bmp_display function. int video_bmp_display(struct udevice *dev, ulong bmp_image, int x, int y, bool align) { struct video_priv *priv = dev_get_uclass_priv(dev); int i, j; uchar *start, *fb; struct bmp_image *bmp = map_sysmem(bmp_image, 0); uchar *bmap; unsigned long width, height; unsigned long pwidth = priv->xsize; unsigned colours, bpix, bmp_bpix; enum video_format eformat; struct bmp_color_table_entry *palette; int hdr_size; int ret; if (!bmp || !(bmp->header.signature[0] == 'B' && bmp->header.signature[1] == 'M')) { printf("Error: no valid bmp image at %lx\n", bmp_image); return -EINVAL; } video_bmp_get_info(bmp, &width, &height, &bmp_bpix); hdr_size = get_unaligned_le16(&bmp->header.size); debug("hdr_size=%d, bmp_bpix=%d\n", hdr_size, bmp_bpix); palette = (void *)bmp + 14 + hdr_size; colours = 1 << bmp_bpix; bpix = VNBITS(priv->bpix); eformat = priv->format; if (bpix != 1 && bpix != 8 && bpix != 16 && bpix != 32) { printf("Error: %d bit/pixel mode, but BMP has %d bit/pixel\n", bpix, bmp_bpix); return -EINVAL; } /* * We support displaying 8bpp and 24bpp BMPs on 16bpp LCDs * and displaying 24bpp BMPs on 32bpp LCDs */ if (bpix != bmp_bpix && !(bmp_bpix == 8 && (bpix == 16 || bpix == 24 || bpix == 32)) && !(bmp_bpix == 24 && (bpix == 16 || bpix == 32))) { printf("Error: %d bit/pixel mode, but BMP has %d bit/pixel\n", bpix, colours); return -EPERM; } debug("Display-bmp: %d x %d with %d colours, display %d\n", (int)width, (int)height, (int)colours, 1 << bpix); unsigned long bmp_stride_bytes = ((width * bmp_bpix + 31) / 32) * 4; unsigned long dst_bytes_per_pixel = bpix / 8; if (!dst_bytes_per_pixel) dst_bytes_per_pixel = 1; if (align) { video_splash_align_axis(&x, priv->xsize, width); video_splash_align_axis(&y, priv->ysize, height); } if ((x + width) > pwidth) width = pwidth - x; if ((y + height) > priv->ysize) height = priv->ysize - y; bmap = (uchar *)bmp + get_unaligned_le32(&bmp->header.data_offset); start = (uchar *)(priv->fb + (y + height) * priv->line_length + x * (bpix / 8)); /* Move back to the final line to be drawn (BMP 自下而上存储) */ fb = start - priv->line_length; switch (bmp_bpix) { case 1: case 8: { unsigned long src_bpp_bytes = 1; unsigned long dst_line_bytes = width * (bpix / 8); if (!dst_line_bytes) dst_line_bytes = width; for (i = 0; i < height; ++i) { schedule(); for (j = 0; j < width; j++) { write_pix8(fb, bpix, eformat, palette, bmap); bmap++; fb += (bpix / 8) ? (bpix / 8) : 1; } bmap += bmp_stride_bytes - width * src_bpp_bytes; fb -= dst_line_bytes + priv->line_length; } break; } case 16: if (CONFIG_IS_ENABLED(BMP_16BPP)) { unsigned long src_bpp_bytes = 2; for (i = 0; i < height; ++i) { schedule(); for (j = 0; j < width; j++) { *fb++ = *bmap++; *fb++ = *bmap++; } bmap += bmp_stride_bytes - width * src_bpp_bytes; fb -= width * 2 + priv->line_length; } } break; case 24: if (CONFIG_IS_ENABLED(BMP_24BPP)) { unsigned long src_bpp_bytes = 3; for (i = 0; i < height; ++i) { for (j = 0; j < width; j++) { if (bpix == 16) { /* 16bit 565RGB format */ *(u16 *)fb = ((bmap[2] >> 3) << 11) | ((bmap[1] >> 2) << 5) | (bmap[0] >> 3); bmap += 3; fb += 2; } else if (eformat == VIDEO_X2R10G10B10) { u32 pix; pix = (u32)(*bmap++) << 2U; pix |= (u32)(*bmap++) << 12U; pix |= (u32)(*bmap++) << 22U; *fb++ = pix & 0xff; *fb++ = (pix >> 8) & 0xff; *fb++ = (pix >> 16) & 0xff; *fb++ = pix >> 24; } else if (eformat == VIDEO_RGBA8888) { u32 pix; pix = (u32)(*bmap++) << 8U; /* blue */ pix |= (u32)(*bmap++) << 16U; /* green */ pix |= (u32)(*bmap++) << 24U; /* red */ *fb++ = (pix >> 24) & 0xff; *fb++ = (pix >> 16) & 0xff; *fb++ = (pix >> 8) & 0xff; *fb++ = 0xff; } else { *fb++ = *bmap++; *fb++ = *bmap++; *fb++ = *bmap++; *fb++ = 0; } } bmap += bmp_stride_bytes - width * src_bpp_bytes; fb -= priv->line_length + width * (bpix / 8); } } break; case 32: if (CONFIG_IS_ENABLED(BMP_32BPP)) { unsigned long src_bpp_bytes = 4; for (i = 0; i < height; ++i) { for (j = 0; j < width; j++) { if (eformat == VIDEO_X2R10G10B10) { u32 pix; pix = (u32)(*bmap++) << 2U; pix |= (u32)(*bmap++) << 12U; pix |= (u32)(*bmap++) << 22U; pix |= ((u32)(*bmap++) >> 6) << 30U; *fb++ = pix & 0xff; *fb++ = (pix >> 8) & 0xff; *fb++ = (pix >> 16) & 0xff; *fb++ = pix >> 24; } else if (eformat == VIDEO_RGBA8888) { u32 pix; pix = (u32)(*bmap++) << 8U; /* blue */ pix |= (u32)(*bmap++) << 16U; /* green */ pix |= (u32)(*bmap++) << 24U; /* red */ bmap++; /* alpha (忽略) */ *fb++ = (pix >> 24) & 0xff; *fb++ = (pix >> 16) & 0xff; *fb++ = (pix >> 8) & 0xff; *fb++ = 0xff; /* opacity */ } else { *fb++ = *bmap++; *fb++ = *bmap++; *fb++ = *bmap++; *fb++ = *bmap++; } } bmap += bmp_stride_bytes - width * src_bpp_bytes; fb -= priv->line_length + width * (bpix / 8); } } break; default: break; }; /* Find the position of the top left of the image in the framebuffer */ fb = (uchar *)(priv->fb + y * priv->line_length + x * (bpix / 8)); ret = video_sync_copy(dev, start, fb); if (ret) return log_ret(ret); return video_sync(dev, false); } Best Regards, Zhiming Re: IMX8MP uboot下配置双通道lvds,显示存在彩色竖线 Hi, @zhiming Good morning, sorry for the late reply due to a lot on my hands! I tried gateworks.bmp, the display is not very good; as shown in the following logo.png; check the uboot driver does not have the VIDEO_FONT_16X32 configuration option; I did a verification, with a 1920x1080 logo image, made into a 1280x800 logo, respectively, placed in uboot and kernel I did a verification with a 1920x1080 logo image, made into a 1280x800 logo, and put it on uboot and kernel respectively, uboot has a jagged situation of cutting diagonal angle; while kernel display is completely normal; thank you for following up the problem! uboot_logo_H.jpguboot_logo_H.jpg Re: IMX8MP uboot下配置双通道lvds,显示存在彩色竖线 Hi @dadaxin The problem is still related to the resolution of the material, if you increase the resolution of the material, the jaggedness will be much less. The logo in the attachment is 296x72, but in reality it is not 296x72 pixels on the screen, so it will be stretched. You can try tools/logos/gateworks.bmp (600x93) in the same directory and see if the horizontal jaggedness is much less. For fonts, try turning on the option VIDEO_FONT_16X32, which is more suitable for high resolution screens. Zhiming_Liu_0-1762826615066.pngZhiming_Liu_0-1762826615066.png Best Regards, Zhiming Re: IMX8MP uboot下配置双通道lvds,显示存在彩色竖线 Hi @DADAXIN Can you upload a copy of the logo image you're currently using (the one in the right image above)? Is the default NXP logo also displayed in dual channel 1080p? Best Regards, Zhiming Re: IMX8MP uboot下配置双通道lvds,显示存在彩色竖线 Hi, thanks for the reply! The situation is as follows: 1, the default NXP logo display also has a jagged effect, as shown in the attachment 2, there is a replacement of 1920x1080 logo image, in uboot tilted part of the presence of jagged, the rest of the display is normal; in the kernel under the file is too large, can not be displayed 3, converted to 1280x800 logo image, the effect is still the same in uboot, kernel display Normal 4, switch to 1280x800 single channel screen, uboot and kernel display are normal Single-channel display is normal, but dual-channel replacement of the logo image, uboot display will be abnormal 3.jpg3.jpg 4.jpg4.jpg Re: IMX8MP uboot下配置双通道lvds,显示存在彩色竖线 Hi @DADAXIN Did you have a problem with the default logo display as well as the fonts before you replaced the logo? I took a closer look at the image above and it looks like the resolution of the clip itself doesn't match the screen, I wonder if you have a higher resolution image displayed there to test and see what's going on with the higher resolution? Also, is it the same if the kernel stage shows the same logo material? Best Regards, Zhiming Re: IMX8MP uboot下配置双通道lvds,显示存在彩色竖线 早上好,zhiming        按照内核的lvds寄存器写入;我在uboot中也进行了配置;但效果没有改善:logo倾斜部分还是存在锯齿;请问还有其余操作可以优化吗;期待你的回复! uboot_lvds.pnguboot_lvds.png lvds_define.pnglvds_define.png Re: IMX8MP uboot下配置双通道lvds,显示存在彩色竖线 Hi @dadaxin Corresponds to this section of the kernel's configuration, which is not in the uboot patch because only a single channel was tested at that time. You need to write the value to the lvds_ctrl register in the uboot patch. https://github.com/nxp-imx/linux-imx/blob/lf-6.12.y/drivers/phy/freescale/phy-fsl-imx8mp-lvds.c#L113 Zhiming_Liu_0-1762475137940.pngZhiming_Liu_0-1762475137940.png Zhiming_Liu_1-1762475147603.pngZhiming_Liu_1-1762475147603.png Best Regards, Zhiming Re: IMX8MP uboot下配置双通道lvds,显示存在彩色竖线 Thanks for the follow up, the logo graphic phenomenon is shown below: there are jaggies involving the slanted part of the fonts and the pattern. 2.jpg2.jpg 1.jpg1.jpg Re: IMX8MP uboot下配置双通道lvds,显示存在彩色竖线 Hello, uboot did not find the corresponding phy file: "fsl,imx8mp-lvds-phy ", in which place should be written to the registers it; <8MP_LVDS_patch>patch does not have this driver file either. Re: IMX8MP uboot下配置双通道lvds,显示存在彩色竖线 Hi @dadaxin You can refer to the settings in the linux lvds phy driver, set these three bits of LVDS_CTRL and the drive capability should be much better. phy_write(phy, priv->devdata->lvds_ctrl, CC_ADJ(0x2) | PRE_EMPH_EN | PRE_EMPH_ADJ(0x3)); Best Regards, Zhiming Re: IMX8MP uboot下配置双通道lvds,显示存在彩色竖线 Thanks for the reply! The logo image is also partially jagged, switching to a 1280x800 single-channel screen, the logo display is normal; I have adjusted various panel clocks and PLL values, but none of them can be improved; any suggestions, please? Re: IMX8MP uboot下配置双通道lvds,显示存在彩色竖线 Hi, Is there any exception in the LOGO section? If it's a word, it should have nothing to do with the lvds controller and everything to do with display font optimization in uboot. Best Regards, Zhiming Re: IMX8MP uboot下配置双通道lvds,显示存在彩色竖线 Hello, lvds screen display logo there is a phenomenon: logo part of the letter there is jagged phenomenon, how to optimize it; look forward to your reply! Re: IMX8MP uboot下配置双通道lvds,显示存在彩色竖线 Thanks for the guidance, it's the point of the question Re: IMX8MP uboot下配置双通道lvds,显示存在彩色竖线 Hi, There is this line in the code, val |= CH_EN, here only channel0 is enabled, BIT0, while BIT2 needs to be set. Zhiming_Liu_0-1762150737457.pngZhiming_Liu_0-1762150737457.png Best Regards, Zhiming Re: IMX8MP uboot下配置双通道lvds,显示存在彩色竖线 Hi, thanks for the reply; change LDB_CH1_MODE_EN_TO_DI0 to LDB_CH1_MODE_EN_TO_DI1, the display still works! Re: IMX8MP uboot下配置双通道lvds,显示存在彩色竖线 Hi @DADAXIN You try changing LDB_CH1_MODE_EN_TO_DI0 to LDB_CH1_MODE_EN_TO_DI1 Best Regards, Zhiming Re: IMX8MP uboot下配置双通道lvds,显示存在彩色竖线 Hi,Zhiming     感谢您的回复以及对问题的跟进,最近工作比较繁忙,回复比较晚请见谅;我进行了替换操作 1、当前5.10.72对应的uboot2021版本,替换后会报没有video_format定义;而在6.6.52对应的uboot2024版本是有的,我同步了这部分配置: +++ b/include/video.h @@ -56,6 +56,15 @@ enum video_log2_bpp { VIDEO_BPP32, }; + +enum video_format { + VIDEO_UNKNOWN, + VIDEO_RGBA8888, + VIDEO_X8B8G8R8, + VIDEO_X8R8G8B8, + VIDEO_X2R10G10B10, +}; + 2、进一步编译,报这一部分的错,不清楚怎么解决;希望能得到你的进一步回复,感谢!! DADAXIN_0-1765003767987.pngDADAXIN_0-1765003767987.png Re: IMX8MP uboot下配置双通道lvds,显示存在彩色竖线 HI @DADAXIN @Zhiming_Liu Hello, I have the same phenomenon as you ( jaggedness ), may I ask, after modifying this function (video_bmp_display), the display is messed up, may I ask where else did you modify it? Re: IMX8MP uboot下配置双通道lvds,显示存在彩色竖线 Hi, sorry, I didn't notice the message. The jagged edges haven't been improved.
View full article
S32DS K116编译问题 NXP 工程师,你好! 我刚开始使用MCSPTE1AK116, 我安装了MCSPTE1AK116-SW;S32K11x_AMMCLIB_RTM_1_1_45_BIN;S32DS-IDE-ARM_2.2.2_D2312;以及FMASTERSW32;我在使用S32DS 导入MCSPTE1AK116_PMSM_FOC_1Sh样例工程并编译,然后把.srec直接复制E盘,并断电重启,使用freemaster连接并运行,可以通讯上,给定速度也可以运行,但是跑一会(几秒钟)就停止,并报PDB0错误。我直接把原始SW下的.srec文件拷贝到E盘,就能正常运行。是我编译的时候哪里设置有误吗? Re: S32DS K116编译问题 Hi 如果你测试原始文件夹下的.srec可以运行,但你编译后的.srec运行却遇到错误。 那么建议下载较老版本的Automotive Math and Motor Control Library Set for S32K11x试一下。 比如安装MCSPTE1AK116-SW过程中提到的版本S32K11X_AMMCLIB_RTM_1_1_29_BIN S32K116 Motor Control Development Kit AMMCLIB.pngS32K116 Motor Control Development Kit AMMCLIB.pngS32K116 Motor Control Development Kit AMMCLIB.pngS32K116 Motor Control Development Kit AMMCLIB.pngS32K116 Motor Control Development Kit AMMCLIB.pngS32K116 Motor Control Development Kit AMMCLIB.pngS32K116 Motor Control Development Kit AMMCLIB.png MCSPTE1AK116_ReleaseNotes.txt里能看到该项目是基于以下版本开发的: The Development Kit application was built and tested using the following IDE, Drivers and Tools: ===================================================================================== - S32 Design Studio (S32DS) for ARM 2.2 - S32 Software Development Kit (SDK) for S32K1xx 3.0.3 - FreeMASTER 3.1.4.5 请确认S32K1 SDK已经安装了上述3.0.3版本 Best Regards, Robin 回复: S32DS K116编译问题 很奇怪的问题,我使用配套的BLDC_6Steps和PMSM_FOC_2Sh工程直接下载和编译后下载都能正常运行,使用PMSM_FOC_1Sh工程直接下载也可以,就是编译后再下载就不行。 Re: S32DS K116编译问题 Hi Robin 我现在不知道为啥,所有的.srec都跑不起来了。。。没有办法试你的程序。 你能告诉我清空评估板的方法吗? 我这个S32K116EVB是本月才购买的,如何确认其外观? Re: S32DS K116编译问题 以下是旧版本不支持电机套件的S32K116EVB-Q048,最明显的区别是少了一排插座(J5)。 S32K116EVB-Q048.pngS32K116EVB-Q048.pngS32K116EVB-Q048.pngS32K116EVB-Q048.pngS32K116EVB-Q048.pngS32K116EVB-Q048.pngS32K116EVB-Q048.png 以下是 S32K116EVB2Q048 的截图: S32K116EVB2Q048.pngS32K116EVB2Q048.pngS32K116EVB2Q048.pngS32K116EVB2Q048.pngS32K116EVB2Q048.pngS32K116EVB2Q048.pngS32K116EVB2Q048.png 建议先拔掉套件,只测试S32K116EVB。 建议使用 P&E Recovery Utility 工具halt CPU 然后下载新程序。 Re: S32DS K116编译问题 Hi 1. 我删除了其余版本,只安装了S32K11x_AMMCLIB_v1.1.29 2. 我身边目前没有这个硬件平台测试,所以附上了基于 S32K11x_AMMCLIB_v1.1.29 编译出的.SREC 文件供你测试。(私信发给你了) 3. 如果能运行正常的话,我将向软件团队为你的账号申请S32K11x_AMMCLIB_v1.1.29 版本软件。 4. 另外可能需要检查一下硬件区别,你的S32K116EVB是S32K116EVB2Q048外观吗?   最早还有个S32K116EVB-Q048板子。 Re: S32DS K116编译问题 Hi Robin 前几天忙别的事情去了,我的是S32K116EVB2Q048。 我之前下载官方例程的.srec都是能正常跑的,现在下载官方的三个工程,运行电机都有问题,具体是下载没问题,通讯没问题,一给定速度并启动电机,电机响两声就报过流故障,这种情况也要下载 P&E Recovery Utility 工具halt CPU 然后下载新程序吗? Re: S32DS K116编译问题 更新一下故障波形。 TimLIANG_0-1787022591582.jpegTimLIANG_0-1787022591582.jpegTimLIANG_0-1787022591582.jpegTimLIANG_0-1787022591582.jpegTimLIANG_0-1787022591582.jpegTimLIANG_0-1787022591582.jpeg Re: S32DS K116编译问题 J9 J10 J11是在12位置,是PMSM 的位置。 TimLIANG_0-1787024596336.jpegTimLIANG_0-1787024596336.jpegTimLIANG_0-1787024596336.jpegTimLIANG_0-1787024596336.jpegTimLIANG_0-1787024596336.jpeg Re: S32DS K116编译问题 如果可以下载.srec只是运行电机控制程序有问题就不需要P&E Recovery Utility工具。这个工具是无法下载新程序的情况下使用的。 FreeMaster界面报过流故障能否截图我查一下。 官方例程里的.srec都能正常跑,只是你重新编译官方的三个工程后运行电机有问题?请问是否试过我给你的基于S32K11x_AMMCLIB_v1.1.29编译出来的.srec? Re: S32DS K116编译问题 Hi Robin 目前的情况是,不管是我编译的,还是官方例程的.srec,都是一启动电机响两声就报过流故障。 故障界面如下,外部设备抓的启动电流也如下: TimLIANG_0-1787020428889.pngTimLIANG_0-1787020428889.pngTimLIANG_0-1787020428889.png TimLIANG_1-1787020447511.pngTimLIANG_1-1787020447511.pngTimLIANG_1-1787020447511.png Re: S32DS K116编译问题 请先根据Get Started with the MCSPTE1AK116 的页面提示,检查硬件电路跳帽是否符合PMSM 配置。
View full article
S32SDK S32K1xx RTM 4.0.1パッケージまたはダウンロードリンクのリクエスト 親愛なるNXPコミュニティチームの皆様、 現在、 NXP S32K1xxシリーズのボード を S32 Design Studio(S32DS)IDE で 扱っています 。 開発作業のために S32SDK S32K1xx RTM 4.0.1 パッケージ を探しています 。 ZIPパッケージ を共有し ていただけるか、 この SDKバージョンを入手できる 公式 のダウンロードリンク を教えていただけませんか? 既存のプロジェクトおよび開発環境との互換性を確保するため、 S32SDK S32K1xx RTM 4.0.1が具体的に必要です。 ご協力いただければ幸いです。 よろしくお願いします。 Re: Request for S32SDK S32K1xx RTM 4.0.1 Package or Download Link こんにちは、 S32SDK S32K1xx RTM 4.0.1はS32 Design Studio v3.4を参照してください https://community.nxp.com/t5/S32-Design-Studio-Knowledge-Base/S32-Design-Studio-for-S32-Platform-v3-4-Windows-Linux-released/ta-p/1206337 K1パッケージはS32DS拡張機能とアップデートツールから製品にインストールできます。 S32SDK S32K1xx RTM 4.0.1もS32DS 3.5に追加可能です。つまり、S32DS v3.5を新しくインストールしていると仮定します。まずは既存のパッケージを更新することです: image (23).png画像(23).png 最初のパッケージとしてS32K1xxのDevelopment Packageをインストールする必要があります。これはK1デバイス向けの基本的なサポートです:   K1開発パッケージを選択すると、以下の依存関係もインストールできます: image (25).png画像 (25).png 最後のステップはRTDの取り付けです。 image (26).png画像 (26).png お役に立てば幸いです。 BR、ペトル
View full article
大家都在谈论的30秒樱桃助眠秘诀是什么? 我发现很多人对“睡前吃樱桃 30 秒”这个助眠方法很感兴趣,所以我研究了一下这个睡前习惯是怎么回事。 这个概念的核心是将酸樱桃加入到晚间日常生活中。它并非作为一种药物或快速助眠方法推出,而是一种简单的习惯,一些人将其纳入健康的睡眠习惯中。 人们经常讨论酸樱桃,是因为它含有天然成分,包括与睡眠-觉醒周期相关的褪黑激素。保持规律的作息时间和限制傍晚摄入咖啡因仍然是均衡睡眠习惯的重要组成部分。 Yu Sleep 等产品作为膳食补充剂,顺应了这一趋势。查看成分和顾客评价可以帮助人们了解配方、用法以及其他用户的使用体验。 每个人的睡眠习惯都不一样。一些小的改变或许有助于养成更好的睡前习惯,但个人习惯和产品细节应该综合考虑。 了解更多关于30秒樱桃技巧和Yu Sleep的信息,请点击这里: https://bestorium.com/yu-sleep-review/
View full article
What Is the 30-Second Cherry Trick for Sleep That Everyone Is Talking About? I've been seeing more interest in the 30-second cherry trick for sleep, so I looked into what this bedtime habit involves. The concept focuses on adding tart cherries to an evening routine. It is not presented as a medication or instant sleep fix, but as a simple habit some people include alongside healthy sleep practices. Tart cherries are often discussed for their natural compounds, including melatonin, which is associated with the sleep-wake cycle. Maintaining a regular bedtime and limiting late-day caffeine remain important parts of a balanced sleep routine. Products like Yu Sleep are connected with this trend as a supplement option. Reviewing the ingredients and customer reviews can help people understand the formula, usage, and experiences shared by others. Sleep routines are different for everyone. Small changes may support a better bedtime routine, but personal habits and product details should be considered together. Learn more about the 30-second cherry trick and Yu Sleep information here: https://bestorium.com/yu-sleep-review/
View full article
调试启动失败:启动 GDB 超时 你好, 我使用的是S32K566开发板,软件版本为S32 Design Studio 3.6.10。以及一个 S32 调试探针。 我按照教程一步一步操作。项目构建成功,但开始调试时出现此错误。 “启动异常检测”时遇到问题。 服务启动序列错误 启动 GDB 超时 我已经尝试创建新的调试配置并检查 GDB 路径,但问题仍然存在。 请问是什么原因导致了这个错误? 谢谢!   Re: debug launch fails: Timed out trying to launch GDB 您好, 这个错误相当普遍,可能由多种问题引起。请问您能否提供更多信息来解决这个问题?   1. 控制台日志 — S32DS 控制台选项卡中的完整文本(不是屏幕截图)。这可以准确地显示连接超时的位置(探测到位置?)。目标功率?SWD/JTAG 连接?RESET?)。 2. 确认 S32DS 安装完成,更新和所需扩展程序均已安装。 3. 硬件 - 是 NXP EVB 还是定制电路板?探头是如何连接的——USB还是以太网? 4. 先前编程状态 - MCU 先前是否被编程过任何内容(特别是 HSE/安全相关固件,或修改 DAP 访问权限的引导加载程序)? 之前在这个板上成功调试过吗? 5. 简单项目测试 — 在干净的工作区中创建一个全新的 Hello World / 空项目时,是否会出现同样的故障?这有助于确定问题是项目特有的,还是电路板/探针/环境的问题。 6. 调试配置截图 — 特别是调试器选项卡,以验证正确的设备、接口速度和连接设置。   BR,彼得
View full article
请求提供 S32SDK S32K1xx RTM 4.0.1 软件包或下载链接 尊敬的NXP社区团队: 我目前正在使用NXP S32K1xx 系列开发板,并采用S32 Design Studio (S32DS) IDE进行开发。 我正在寻找用于开发工作的S32SDK S32K1xx RTM 4.0.1软件包。能否请您分享ZIP 压缩包或提供官方下载链接,以便我获取此 SDK 版本? 我特别需要S32SDK S32K1xx RTM 4.0.1 ,以确保与我现有的项目和开发环境兼容。 非常感谢您的帮助。 谢谢! Re: Request for S32SDK S32K1xx RTM 4.0.1 Package or Download Link 您好, S32SDK S32K1xx RTM 4.0.1 已在S32 Design Studio v3.4 中引入,您可以参考https://community.nxp.com/t5/S32-Design-Studio-Knowledge-Base/S32-Design-Studio-for-S32-Platform-v3-4-Windows-Linux-released/ta-p/1206337 可以通过 S32DS 扩展和更新工具将 K1 软件包安装到产品上。 S32SDK S32K1xx RTM 4.0.1 也可以添加到 S32DS 3.5 中。前提是您已全新安装了 S32DS v3.5。第一步是更新现有软件包: image (23).png图片 (23).png 完成后——首先需要安装 S32K1xx 开发包——这是对 K1 设备的基本支持:   选择 K1 开发包还会安装其依赖项: image (25).png图片(25).png 最后一步是安装RTD: image (26).png图片(26).png 希望对您有所帮助。 BR,彼得
View full article
S32DS K116 compilation issues Hello, NXP engineer! I'm new to MCSPTE1AK116. I installed MCSPTE1AK116-SW; S32K11x_AMMCLIB_RTM_1_1_45_BIN; S32DS-IDE-ARM_2.2.2_D2312; and FMASTERSW32. I imported the MCSPTE1AK116_PMSM_FOC_1Sh sample project into S32DS and compiled it. Then I copied the .srec file directly to drive E, and after a power cycle, I connected and ran it using FreeMaster. It communicated and ran at a given speed, but it stopped after a few seconds and reported a PDB0 error. If I directly copied the original .srec file from the SW directory to drive E, it ran normally. Is there something wrong with my compilation settings? Re: S32DS K116编译问题 Hi Robin, 我安装了S32 Design Studio (S32DS) for ARM 2.2 UP1和UP2 也安装了S32 Software Development Kit (SDK) for S32K1xx 3.0.3 如图,我下了老的S32K11X_AMMCLIB_RTM_1_1_37_BIN,还是不行, 我找不到S32K11X_AMMCLIB_RTM_1_1_29_BIN下载链接,你能发一个给我试试吗?而且我三个工程,只有PMSM_FOC_1Sh工程编译了不行,另外两个工程编译是没有问题的。 7a6c7c4ef61e9213d789cace0810a496.png7a6c7c4ef61e9213d789cace0810a496.png7a6c7c4ef61e9213d789cace0810a496.png7a6c7c4ef61e9213d789cace0810a496.png7a6c7c4ef61e9213d789cace0810a496.png7a6c7c4ef61e9213d789cace0810a496.png7a6c7c4ef61e9213d789cace0810a496.png   Re: S32DS K116编译问题 Hi If your test file (.srec) in the original folder runs fine, but your compiled file (.srec) encounters an error, then you should be able to run it. Therefore, it is recommended to download an older version of the Automotive Math and Motor Control Library Set for S32K11x . For example, the version mentioned in the MCSPTE1AK116-SW installation process: S32K11X_AMMCLIB_RTM_1_1_29_BIN. S32K116 Motor Control Development Kit AMMCLIB.pngS32K116 Motor Control Development Kit AMMCLIB.pngS32K116 Motor Control Development Kit AMMCLIB.pngS32K116 Motor Control Development Kit AMMCLIB.pngS32K116 Motor Control Development Kit AMMCLIB.pngS32K116 Motor Control Development Kit AMMCLIB.pngS32K116 Motor Control Development Kit AMMCLIB.png The MCSPTE1AK116_ReleaseNotes.txt file shows that this project was developed based on the following version: The Development Kit application was built and tested using the following IDE, Drivers and Tools: ===================================================================================== - S32 Design Studio (S32DS) for ARM 2.2 - S32 Software Development Kit (SDK) for S32K1xx 3.0.3 - FreeMASTER 3.1.4.5 Please confirm that the S32K1 SDK has version 3.0.3 installed. Best Regards, Robin 回复: S32DS K116编译问题 It's a strange problem. I can download and download the project directly using the accompanying BLDC_6Steps and PMSM_FOC_2Sh projects, and I can also download it after compiling it. It's just that I can't download it after compiling it. Re: S32DS K116编译问题 Hi Robin I don't know why, but all the .srec files are not running... I can't try your program. Can you tell me how to clear the evaluation board? I just bought this S32K116EVB this month. How can I confirm its appearance? Re: S32DS K116编译问题 Hi 1. I removed the other versions and only installed S32K11x_AMMCLIB_v1.1.29. 2. I don't currently have this hardware platform on hand for testing, so I've attached a version based on S32K11x_AMMCLIB_v1.1.29.The compiled .SREC file is provided for your testing. (I've sent it to you via private message.) 3. If it runs normally, I will request S32K11x_AMMCLIB_v1.1.29 from the software team for your account.Version software. 4. You may also need to check the hardware differences. Is your S32K116EVB the S32K116EVB2Q048 ? There was also an earlier version called S32K116EVB-Q048. Re: S32DS K116编译问题 The following is the S32K116EVB-Q048, an older version that does not support the motor kit. The most obvious difference is that it lacks one row of sockets (J5). S32K116EVB-Q048.pngS32K116EVB-Q048.pngS32K116EVB-Q048.pngS32K116EVB-Q048.pngS32K116EVB-Q048.pngS32K116EVB-Q048.pngS32K116EVB-Q048.png The following is a screenshot of the S32K116EVB2Q048: S32K116EVB2Q048.pngS32K116EVB2Q048.pngS32K116EVB2Q048.pngS32K116EVB2Q048.pngS32K116EVB2Q048.pngS32K116EVB2Q048.pngS32K116EVB2Q048.png It is recommended to remove the kit first and only test the S32K116EVB. It is also recommended to use the P&E Recovery Utility tool to halt the CPU and then download the new program. Re: S32DS K116编译问题 Update the fault waveform. TimLIANG_0-1787022591582.jpegTimLIANG_0-1787022591582.jpegTimLIANG_0-1787022591582.jpegTimLIANG_0-1787022591582.jpegTimLIANG_0-1787022591582.jpegTimLIANG_0-1787022591582.jpegTimLIANG_0-1787022591582.jpeg Re: S32DS K116编译问题 If you can download the .srec file but there's a problem running the motor control program, then P&E is not needed.Recovery Utility. This tool is used when you are unable to download new programs. Could you please provide a screenshot of the overcurrent error message displayed on the FreeMaster interface so I can check it? The .srec files in the official example programs all run fine, but you're having problems running the motors after recompiling the three official projects? Have you tried the .srec file I gave you, compiled based on S32K11x_AMMCLIB_v1.1.29? Re: S32DS K116编译问题 J9, J10, and J11 are in position 12, which is the position of PMSM. TimLIANG_0-1787024596336.jpegTimLIANG_0-1787024596336.jpegTimLIANG_0-1787024596336.jpegTimLIANG_0-1787024596336.jpegTimLIANG_0-1787024596336.jpeg Re: S32DS K116编译问题 Hi Robin Currently, regardless of whether it's the .srec file I compiled or the official example, it reports an overcurrent fault after the motor makes two beeps upon startup. The fault interface is shown below, and the starting current captured by the external device is also shown below: TimLIANG_0-1787020428889.pngTimLIANG_0-1787020428889.pngTimLIANG_0-1787020428889.pngTimLIANG_0-1787020428889.png TimLIANG_1-1787020447511.pngTimLIANG_1-1787020447511.pngTimLIANG_1-1787020447511.pngTimLIANG_1-1787020447511.png Re: S32DS K116编译问题 Hi Robin I was busy with other things the other day. Mine is S32K116EVB2Q048. Previously, the official example .srec files I downloaded all ran normally. Now, the three official projects I downloaded all have problems running the motor. Specifically, the download and communication are fine, but as soon as I set the speed and start the motor, it makes two beeps and then reports an overcurrent fault. In this case, do I also need to download the P&E Recovery Utility tool to halt the CPU and then download a new program? Re: S32DS K116编译问题 Please first check whether the hardware circuit jumper cap conforms to the PMSM configuration according to the prompts on the Get Started with the MCSPTE1AK116 page.
View full article
デバッグ起動に失敗しました: GDB の起動中にタイムアウトしました こんにちは、 私はS32 Design Studio 3.6.10のS32K566ボードを使っていますそしてS32デバッグプローブ。 私はチュートリアルの手順を一つ一つ丁寧に実行しました。プロジェクトのビルドは正常に完了しますが、デバッグを開始するとこのエラーが発生します。 「Launching 異常検知」に問題が発生しました。 サービス起動シーケンスでエラーが発生しました GDBの起動中にタイムアウトしました 既に新しいデバッグ構成を作成し、GDBパスを確認してみましたが、問題は解決しません。 このエラーの原因について教えていただけますか? ありがとうございます   Re: debug launch fails: Timed out trying to launch GDB こんにちは、 このエラーは非常に一般的なもので、いくつかの問題によって引き起こされる可能性があります。この件について、もう少し詳しい情報を教えていただけますか?   1. コンソールログ — S32DSコンソールタブの全文(スクリーンショットではありません)。これで接続がタイムアウトした正確な場所(プローブが見つかったか?)が示せます。目標電力?SWD/JTAG接続?リセット?) 2. S32DSのインストールが完了し、アップデートと必要な拡張機能がインストールされていることを確認します。 3. ハードウェア - NXP EVBですか、それともカスタムボードですか?プローブはどのように接続されていますか?USBですか、それともイーサネットですか? 4. 以前にプログラムされた状態 - MCUは以前に何か(特にHSE/セキュリティ関連のファームウェアや、DAPアクセスを変更するブートローダー)でプログラムされていましたか? このボードで成功裏にデバッグされたことはありますか? 5. 簡単なプロジェクトテスト — クリーンなワークスペースで新しく作成したHello Worldや空のプロジェクトでも同じ失敗が起こるか?これにより、問題がプロジェクト固有のものなのか、それともボード/プローブ/環境の問題なのかを特定するのに役立ちます。 6. デバッグ設定スクリーンショット — 特にデバッガータブで、正しいデバイス、インターフェース速度、接続設定を確認します。   BR、ペトル
View full article