<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic 回复： imxrt1052 emwin pxp 显存起点出现偏移 in i.MX RT Crossover MCUs</title>
    <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/imxrt1052-emwin-pxp-%E6%98%BE%E5%AD%98%E8%B5%B7%E7%82%B9%E5%87%BA%E7%8E%B0%E5%81%8F%E7%A7%BB/m-p/2341866#M36420</link>
    <description>主ram是dtcram，显示buff是写回不共享，无缓存的也试过了，没作用， *((volatile uint32_t *)0x41044100) = 11;&lt;BR /&gt;*((volatile uint32_t *)0x41043100) = 5; // 15;总线的优先级也设置了，不知道该如何来解决了</description>
    <pubDate>Mon, 30 Mar 2026 01:12:43 GMT</pubDate>
    <dc:creator>ccc_clive</dc:creator>
    <dc:date>2026-03-30T01:12:43Z</dc:date>
    <item>
      <title>imxrt1052 emwin pxp 显存起点出现偏移</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/imxrt1052-emwin-pxp-%E6%98%BE%E5%AD%98%E8%B5%B7%E7%82%B9%E5%87%BA%E7%8E%B0%E5%81%8F%E7%A7%BB/m-p/2341513#M36418</link>
      <description>&lt;P&gt;当前pxp可以显示GUI_DRAW_BMPM8888I的图片，GUI_DRAW_BMP8888的图片显示异常。&lt;/P&gt;&lt;P&gt;但调用pxp后疑似显存起点发生偏移，且偏移位置随机。如下，图片的白色部分为特意去掉的&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Snipaste_2026-03-28_12-03-08.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/380739i5274E8ED2E332D1A/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Snipaste_2026-03-28_12-03-08.png" alt="Snipaste_2026-03-28_12-03-08.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Snipaste_2026-03-28_12-03-51.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/380740iED51191C2FB9B757/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Snipaste_2026-03-28_12-03-51.png" alt="Snipaste_2026-03-28_12-03-51.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;如图，左右出现随机的偏差，但垂直方向偏差几乎很小。&lt;/P&gt;&lt;P&gt;不用pxp绘图，则不会出现偏移的现象。应该是pxp的绘图时出现问题。&lt;/P&gt;&lt;P&gt;请问该如何来解决这个问题呢&lt;/P&gt;&lt;P&gt; &lt;/P&gt;</description>
      <pubDate>Sat, 28 Mar 2026 04:17:53 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/imxrt1052-emwin-pxp-%E6%98%BE%E5%AD%98%E8%B5%B7%E7%82%B9%E5%87%BA%E7%8E%B0%E5%81%8F%E7%A7%BB/m-p/2341513#M36418</guid>
      <dc:creator>ccc_clive</dc:creator>
      <dc:date>2026-03-28T04:17:53Z</dc:date>
    </item>
    <item>
      <title>回复： imxrt1052 emwin pxp 显存起点出现偏移</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/imxrt1052-emwin-pxp-%E6%98%BE%E5%AD%98%E8%B5%B7%E7%82%B9%E5%87%BA%E7%8E%B0%E5%81%8F%E7%A7%BB/m-p/2341866#M36420</link>
      <description>主ram是dtcram，显示buff是写回不共享，无缓存的也试过了，没作用， *((volatile uint32_t *)0x41044100) = 11;&lt;BR /&gt;*((volatile uint32_t *)0x41043100) = 5; // 15;总线的优先级也设置了，不知道该如何来解决了</description>
      <pubDate>Mon, 30 Mar 2026 01:12:43 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/imxrt1052-emwin-pxp-%E6%98%BE%E5%AD%98%E8%B5%B7%E7%82%B9%E5%87%BA%E7%8E%B0%E5%81%8F%E7%A7%BB/m-p/2341866#M36420</guid>
      <dc:creator>ccc_clive</dc:creator>
      <dc:date>2026-03-30T01:12:43Z</dc:date>
    </item>
    <item>
      <title>回复： imxrt1052 emwin pxp 显存起点出现偏移</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/imxrt1052-emwin-pxp-%E6%98%BE%E5%AD%98%E8%B5%B7%E7%82%B9%E5%87%BA%E7%8E%B0%E5%81%8F%E7%A7%BB/m-p/2346208#M36463</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/216319"&gt;@ccc_clive&lt;/a&gt;&amp;nbsp;,&lt;/P&gt;
&lt;P&gt;感谢您提出的问题，抱歉我回复迟了。&lt;/P&gt;
&lt;P&gt;您提到的这个问题更像是一个系统的问题，我没办法一一确定，但是我查看了您提供的源码，发现了几个问题点，可能需要注意：&lt;/P&gt;
&lt;P&gt;1. _Malloc()中存在一个逻辑错误：&lt;/P&gt;
&lt;DIV class="scriptor-paragraph"&gt;&lt;SPAN&gt;if (NumBytes &amp;gt; sizeof(_pxp_buffer))&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV class="scriptor-paragraph"&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV class="scriptor-paragraph"&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; _pBuffer = NULL;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV class="scriptor-paragraph"&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV class="scriptor-paragraph"&gt;&lt;SPAN&gt;_pBuffer = _pxp_buffer;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;P&gt;&lt;LI-WRAPPER&gt;&lt;/LI-WRAPPER&gt;&lt;/P&gt;
&lt;P&gt;这里应当写为如下逻辑：&lt;/P&gt;
&lt;P&gt;static void *_Malloc(U32 NumBytes)&lt;BR /&gt;{&lt;BR /&gt;#if USE_PXP_BUFFER&lt;BR /&gt;if (NumBytes &amp;gt; sizeof(_pxp_buffer))&lt;BR /&gt;{&lt;BR /&gt;_pBuffer = NULL;&lt;BR /&gt;return NULL;&lt;BR /&gt;}&lt;BR /&gt;_pBuffer = _pxp_buffer;&lt;BR /&gt;#else&lt;BR /&gt;...&lt;BR /&gt;#endif&lt;BR /&gt;return _pBuffer;&lt;BR /&gt;}&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;2.&amp;nbsp;block size 配成 8x8，但 &lt;CODE&gt;_PXP_CheckSizes()&lt;/CODE&gt; 却按 16x16 做补偿，需要统一；&lt;/P&gt;
&lt;P&gt;3.&amp;nbsp;GUI_DRAW_BMP8888 进入了错误的 PXP 输入路径&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class="language-javascript"&gt;&lt;SPAN&gt;&lt;SPAN class="token"&gt;_LCD_PXP_SetAlphaSurface&lt;/SPAN&gt;&lt;SPAN class="token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="token"&gt;void&lt;/SPAN&gt; &lt;SPAN class="token"&gt;*&lt;/SPAN&gt;&lt;SPAN class="token"&gt;)&lt;/SPAN&gt;p&lt;SPAN class="token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="token maybe-class-name"&gt;BytesPerLine&lt;/SPAN&gt;&lt;SPAN class="token"&gt;,&lt;/SPAN&gt; xSize&lt;SPAN class="token"&gt;,&lt;/SPAN&gt; ySize&lt;SPAN class="token"&gt;,&lt;/SPAN&gt; kPXP_AsPixelFormatARGB8888&lt;SPAN class="token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="token"&gt;;&lt;/SPAN&gt;
&lt;/SPAN&gt;&lt;SPAN&gt;&lt;SPAN class="token"&gt;_LCD_PXP_AlphaBlending&lt;/SPAN&gt;&lt;SPAN class="token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="token"&gt;-&lt;/SPAN&gt;&lt;SPAN class="token"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="token maybe-class-name"&gt;Mode&lt;/SPAN&gt; &lt;SPAN class="token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token"&gt;BLEND_MODE_NORMAL&lt;/SPAN&gt;&lt;SPAN class="token"&gt;;&lt;/SPAN&gt;
&lt;/SPAN&gt;&lt;SPAN&gt;pCtx&lt;SPAN class="token"&gt;-&lt;/SPAN&gt;&lt;SPAN class="token"&gt;&amp;gt;&lt;/SPAN&gt;pProcessSurface &lt;SPAN class="token"&gt;=&lt;/SPAN&gt; pPS &lt;SPAN class="token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token"&gt;&amp;amp;&lt;/SPAN&gt;_PXP_aBuffer&lt;SPAN class="token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="token"&gt;BUFFER_TYPE_PROCESS_SURFACE&lt;/SPAN&gt;&lt;SPAN class="token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="token"&gt;;&lt;/SPAN&gt;
&lt;/SPAN&gt;&lt;SPAN&gt;&lt;SPAN class="token"&gt;*&lt;/SPAN&gt;pPS &lt;SPAN class="token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token"&gt;*&lt;/SPAN&gt;pCtx&lt;SPAN class="token"&gt;-&lt;/SPAN&gt;&lt;SPAN class="token"&gt;&amp;gt;&lt;/SPAN&gt;pOutputBuffer&lt;SPAN class="token"&gt;;&lt;/SPAN&gt;
&lt;/SPAN&gt;&lt;SPAN&gt;pPS&lt;SPAN class="token"&gt;-&lt;/SPAN&gt;&lt;SPAN class="token"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="token maybe-class-name"&gt;Format&lt;/SPAN&gt;&lt;SPAN class="token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token property-access maybe-class-name"&gt;Ps&lt;/SPAN&gt; &lt;SPAN class="token"&gt;=&lt;/SPAN&gt; kPXP_PsPixelFormatRGB565&lt;SPAN class="token"&gt;;&lt;/SPAN&gt;
&lt;/SPAN&gt;&lt;SPAN&gt;&lt;SPAN class="token"&gt;_LCD_PXP_DrawBitmap&lt;/SPAN&gt;&lt;SPAN class="token"&gt;(&lt;/SPAN&gt;pCtx&lt;SPAN class="token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="token"&gt;;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;需要确认 GUI_DRAW_BMP8888 是3Bpp还是4Bpp。&lt;/P&gt;
&lt;P&gt;如果是&amp;nbsp;3Bpp：它更像 packed RGB888，不能直接喂给 PXP 的 PS/AS RGB888 输入。&lt;BR /&gt;正确做法是：先用 CPU 展开成 4Bpp（ARGB8888 或 unpacked RGB888），再喂给 PXP。&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;
&lt;P&gt;如果是 4Bpp：那它可能适合走 kPXP_PsPixelFormatRGB888 或 kPXP_AsPixelFormatARGB8888 之类 32-bit slot 路径。&amp;nbsp;&lt;/P&gt;
&lt;P&gt;另外，需要考虑把“带 alpha”和“不带 alpha”的 32bpp 图彻底分流&lt;BR /&gt;带透明 → 走 AS / ARGB8888&lt;BR /&gt;不带透明 → 优先考虑走 PS&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;
&lt;P&gt;Best regards,&lt;BR /&gt;Gavin&lt;/P&gt;</description>
      <pubDate>Tue, 07 Apr 2026 09:45:46 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/imxrt1052-emwin-pxp-%E6%98%BE%E5%AD%98%E8%B5%B7%E7%82%B9%E5%87%BA%E7%8E%B0%E5%81%8F%E7%A7%BB/m-p/2346208#M36463</guid>
      <dc:creator>Gavin_Jia</dc:creator>
      <dc:date>2026-04-07T09:45:46Z</dc:date>
    </item>
  </channel>
</rss>

