imx6 vxworks7.0绘图

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

imx6 vxworks7.0绘图

627 Views
dingcy010
Contributor I

使用imx6q的gpu绘制两屏画面输出,极其偶发的出现程序错误,触发data abort异常,操作系统使用的是vxworks7.0,请问可能和什么有关?有哪些已知的bug?

Labels (2)
0 Kudos
Reply
3 Replies

591 Views
Bio_TICFSL
NXP TechSupport
NXP TechSupport

Hello,

When using VxWorks 7.0 for dual-screen GPU rendering on the i.MX6Q platform, extremely rare Data Abort exceptions occur, typically related to memory inconsistency, resource contention, or timing vulnerabilities in the Vivante GPU driver in multi-display controller (IPU) environments. The following are common causes and troubleshooting directions for this type of problem:

Memory Inconsistency and Cache Coherency This is the most common cause of Data Aborts in real-time operating systems such as VxWorks: 

GPU and CPU cache misalignment: The i.MX6Q's GPU is not within the ARM's Snoop Control Unit. If the application layer updates the video memory data but does not manually execute cacheFlush(), or if the CPU immediately accesses the region after the GPU finishes drawing and does not execute cacheInvalidate(), it may result in illegal address offsets or data corruption, triggering an abort

 

Regards

0 Kudos
Reply

565 Views
dingcy010
Contributor I
Thank you. We have encountered similar issues several times since 2022: the program crashes, leading to a failure of watchdog feeding and a hardware watchdog reset. Have other users reported similar problems? What are the known defects of the GPU driver for i.MX6Q under the VxWorks 7.0 operating system? Is it safe to enable two tasks for dual-screen rendering? If not, how can dual-screen display be implemented for i.MX6Q under the VxWorks 7.0 operating system?
0 Kudos
Reply

406 Views
Bio_TICFSL
NXP TechSupport
NXP TechSupport

Hi,

You better enter a support request to VXworks.

Regards

0 Kudos
Reply
%3CLINGO-SUB%20id%3D%22lingo-sub-2290707%22%20slang%3D%22zh-CN%22%20mode%3D%22CREATE%22%3Eimx6%20vxworks7.0%20drawing%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2290707%22%20slang%3D%22zh-CN%22%20mode%3D%22CREATE%22%3E%3CP%3EUsing%20imx6q's%20gpu%20to%20draw%20two%20screen%20outputs%2C%20extremely%20occasional%20program%20error%20triggering%20data%20abort%20exception%2C%20operating%20system%20is%20using%20vxworks%207.0%2C%20what%20could%20it%20be%20related%20to%3F%20What%20are%20the%20known%20bugs%3F%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-LABS%20id%3D%22lingo-labs-2290707%22%20slang%3D%22zh-CN%22%20mode%3D%22CREATE%22%3E%3CLINGO-LABEL%3EGraphics%20%26amp%3B%20Display%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3Ei.MX6Quad%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2291184%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20imx6%20vxworks7.0%E7%BB%98%E5%9B%BE%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2291184%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3EThank%20you.%20We%20have%20encountered%20similar%20issues%20several%20times%20since%202022%3A%20the%20program%20crashes%2C%20leading%20to%20a%20failure%20of%20watchdog%20feeding%20and%20a%20hardware%20watchdog%20reset.%20Have%20other%20users%20reported%20similar%20problems%3F%20What%20are%20the%20known%20defects%20of%20the%20GPU%20driver%20for%20i.MX6Q%20under%20the%20VxWorks%207.0%20operating%20system%3F%20Is%20it%20safe%20to%20enable%20two%20tasks%20for%20dual-screen%20rendering%3F%20If%20not%2C%20how%20can%20dual-screen%20display%20be%20implemented%20for%20i.MX6Q%20under%20the%20VxWorks%207.0%20operating%20system%3F%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2291083%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20imx6%20vxworks7.0%E7%BB%98%E5%9B%BE%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2291083%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHello%2C%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22Y2IQFc%22%3EWhen%20using%20VxWorks%207.0%20for%20dual-screen%20GPU%20rendering%20on%20the%20i.MX6Q%20platform%2C%20extremely%20rare%20Data%20Abort%20exceptions%20occur%2C%20typically%20related%20to%20memory%20inconsistency%2C%20resource%20contention%2C%20or%20timing%20vulnerabilities%20in%20the%20Vivante%20GPU%20driver%20in%20multi-display%20controller%20(IPU)%20environments.%20The%20following%20are%20common%20causes%20and%20troubleshooting%20directions%20for%20this%20type%20of%20problem%3A%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22Y2IQFc%22%3EMemory%20Inconsistency%20and%20Cache%20Coherency%20This%20is%20the%20most%20common%20cause%20of%20Data%20Aborts%20in%20real-time%20operating%20systems%20such%20as%20VxWorks%3A%26nbsp%3B%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22Y2IQFc%22%3EGPU%20and%20CPU%20cache%20misalignment%3A%20The%20i.MX6Q's%20GPU%20is%20not%20within%20the%20ARM's%20Snoop%20Control%20Unit.%20If%20the%20application%20layer%20updates%20the%20video%20memory%20data%20but%20does%20not%20manually%20execute%20cacheFlush()%2C%20or%20if%20the%20CPU%20immediately%20accesses%20the%20region%20after%20the%20GPU%20finishes%20drawing%20and%20does%20not%20execute%20cacheInvalidate()%2C%20it%20may%20result%20in%20illegal%20address%20offsets%20or%20data%20corruption%2C%20triggering%20an%20abort%3C%2FSPAN%3E%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CP%3ERegards%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2291775%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20imx6%20vxworks7.0%E7%BB%98%E5%9B%BE%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2291775%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%2C%3C%2FP%3E%0A%3CP%3EYou%20better%20enter%20a%20support%20request%20to%20VXworks.%3C%2FP%3E%0A%3CP%3ERegards%3C%2FP%3E%3C%2FLINGO-BODY%3E