Multi Source Translation Content

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

Multi Source Translation Content

Discussions

Sort by:
GTK <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 所有主板 GTK 手动 所有主板 GTK Glade 所有主板 GTK+
View full article
CodeWarriorプロジェクトをゼロから-パートI <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Codewarriorでフリーダムボード向けの基本的なプロジェクトをゼロから作成する方法。 ビデオリンクを見る:1459 (マイビデオで視聴) Re:ゼロからのCodeWarriorプロジェクト - パートI <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> ビデオ チュートリアルの完全なセットについては、「The Book of Eli - Microcontrollers, robotics and warp drives」をご覧ください。
View full article
Bluetooth LE チャネルサウンディングコンテンツ チャネル・サウンディング
View full article
RT600/1170 UAC change OUT endpoint interval methods 1.    Abstract When using the RT600 SDK USB composite example, the customer found that the default HS interval was 125us, and the code was: mimxrt685audevk_dev_composite_hid_audio_unified_bm. However, in actual applications, the 125us packet interval for data transmission will cause a large interrupt load on the CPU, so the customer hopes to change the interval to a larger during, such as 1ms. After changing interval to 1ms, it is found that the data packet can be sent to the RT chip, but there is indeed a problem with the playback on the RT side, speaker no voice. Changing it to 500us in synchronous mode is possible work, but at 500us, the customer's CPU load still reaches more than 80%, which is not convenient for subsequent application code expansion, so it is still hoped to achieve a 1ms method. This article will give the transmission of different intervals of UAC and provide a solution for 1ms intervals. 2.    Test situation    Board:MIMXRT685-AUD-EVK    SDK:SDK_2_15_000_MIMXRT685-AUD-EVK    USB Analyzer:Lecroy USB-TOS2-A01-X 2.1 Platform connection situation First, given the connection between MIMXRT685-AUD-EVK, USB analyzer and audio source. This article mainly tests the RT685 UAC speaker function, that is, USB transmits audio source data to RT685, and plays the audio source through a player (which can be headphones), or speaker. The J7 USB port of EVK is connected to the A port of Lecroy, and the B port of Lecroy is connected to the audio source, which can be a PC or a mobile phone. If using a PC, the speaker needs to be selected as USB AUDIO+HID DEMO, because the name of the board after UAC enumeration is USB AUDIO+HID DEMO. The other end of Lecroy is connected to the PC for transmitting USB bus data. The specific connection diagram is as follows:      Fig 1 EVK USB analyzer connection 2.2 Different audio interval data package situation This chapter gives the modifications under different intervals, as well as the results of USB analyzer packet capture. The clock system of the audio synchronous/isochronous audio endpoint can be synchronized through SOF. The USB 1.0 sampling rate must be locked to the 1ms SOF beat. The USB2.0 high-speed HS endpoint can be locked to the 125us SOF beat. If you want to change the interval, it is usually a multiple of 125us, that is, it can be 250us, 500us, 1ms, etc. The modification method is usually to directly modify the USB stack's usb_audio_config.h:   #define HS_ISO_OUT_ENDP_INTERVAL (0x01) The relationship between HS_ISO_OUT_ENDP_INTERVAL and the real during time is: 125us*2^( HS_ISO_OUT_ENDP_INTERVAL -1) So: HS_ISO_OUT_ENDP_INTERVAL=1 : 125us HS_ISO_OUT_ENDP_INTERVAL=2 : 250us HS_ISO_OUT_ENDP_INTERVAL=3 : 500us HS_ISO_OUT_ENDP_INTERVAL=4 : 1000us The following are the four situations mentioned above respectively through USB analyzer packet capture test. 2.2.1 125us interval packet situation #define HS_ISO_OUT_ENDP_INTERVAL (0x01) Fig 2 125us interval It can be seen that when the interval is configured to 125us, the SOF beat interval in front of each OUT packet is 125us, and the length of the OUT data packet is 24Byte. The data in this 24Byte packet is the actual audio data. In this case, the playback is normal   2.2.2 250us interval packet situation #define HS_ISO_OUT_ENDP_INTERVAL (0x02) The packet capture configured as 250us is shown in the figure below. It can be seen that the SOF beat interval in front of the two OUT packets is 250us, and the length of the OUT data packet is 48 Byte. In other words, as the interval increases, the length of the data packet also increases proportionally, that is, the transmission time is longer, but a packet contains more data packets. At this time, the RT side also needs to provide more USB receiving buffers to receive data. Fig 3 250us interval This situation, the speaker play normally, have the audio sound. 2.2.3 500us interval packet situation #define HS_ISO_OUT_ENDP_INTERVAL (0x03) Fig 4 500us interval SYNC mode At this time, you can see that the data packet has become 96 Bytes, and the data content is also normal audio data, but the playback has problems and no sound can be heard. However, if you configure: #define USB_DEVICE_AUDIO_USE_SYNC_MODE (0U) It is not the SYNC mode, it can hear the audio sound, the packet situation is: Fig 5 500us interval no SYNC mode However, the asynchronous mode also has problems. After a long period of operation, it may become out of sync and the playback may become stuck. Therefore, it is still necessary to use the 1ms method in the synchronous mode. 2.2.4 1ms interval packet situation #define HS_ISO_OUT_ENDP_INTERVAL (0x04) Fig 6 interval 1ms It can be seen that the data packet length has become 192 bytes, and the SOF beat interval in front of the OUT packet has indeed become 1ms. The audio data packet also looks like normal audio data, so the audio data here is successfully transmitted from USB to RT. However, the playback is abnormal and no sound can be heard. 3. 1ms interval solution Now let's debug the project to find the problem. Because the USB analyzer can show that the audio data of the USB bus is actually transmitted, we must first check whether the USB receives the data packet in the kUSB_DeviceAudioEventStreamRecvResponse event in USB_DeviceAudioCompositeCallback of audio_unified.c, whether the data packet length is correct, and whether the data content looks like audio data. The following is the debug result: Fig 7 data packet received situation So from this point of view, the USB interface data packet is received, and the data looks like real audio data. If it is abnormal data, it is either all 0 or irregular data that changes, but the test result cannot be played. So now to check the I2S playback function, composite.h file, TxCallback function: Fig 8 I2S play data buffer We can see, the real data transfer to the I2S data buffer are always 0, and the reality should be g_composite.audioUnified.startPlayFlag none zero, and also use: s_TxTransfer.dataSize = g_composite.audioUnified.audioPlayTransferSize; s_TxTransfer.data=audioPlayDataBuff + g_composite.audioUnified.tdReadNumberPlay; But, after testing, audioPlayDataBuff data are also 0. So the issue should be the USB received side, receive the data, but when save the data to the audioPlayDataBuff have issues, go back to audio_unified.c Fig 9 USB_DeviceAudioCompositeCallback Fig10 USB_AudioSpeakerPutBuffer After testing, in the Fig 9, audioUnified.tdWriteNumberPlay never larger than g_deviceAudioComposite->audioUnified.audioPlayTransferSize * AUDIO_CLASS_2_0_HS_LOW_LATENCY_TRANSFER_COUNT=192*6 #define AUDIO_CLASS_2_0_HS_LOW_LATENCY_TRANSFER_COUNT \ (0x06U) /* 6 means 6 mico frames (6*125us), make sure the latency is smaller than 1ms for sync mode */ The low latency here is a delay buffer. Therefore, the USB cache data must at least be able to hold the delayed data packet. Unit 1 represents an interval frame. Now it is changed to an interval of 1ms, 6 delay units, which means that the delay here is 6ms. Here, the receiving buffer size needs to be larger, which is related to the following definition: Fig 11 USB device callback g_composite.audioUnified.audioPlayBufferSize = AUDIO_PLAY_BUFFER_SIZE_ONE_FRAME * AUDIO_SPEAKER_DATA_WHOLE_BUFFER_COUNT; #define AUDIO_PLAY_BUFFER_SIZE_ONE_FRAME AUDIO_OUT_TRANSFER_LENGTH_ONE_FRAME #define AUDIO_OUT_FORMAT_CHANNELS (0x02U) #define AUDIO_OUT_FORMAT_SIZE (0x02) #define AUDIO_OUT_SAMPLING_RATE_KHZ (48) /* transfer length during 1 ms */ #define AUDIO_OUT_TRANSFER_LENGTH_ONE_FRAME \ (AUDIO_OUT_SAMPLING_RATE_KHZ * AUDIO_OUT_FORMAT_CHANNELS * AUDIO_OUT_FORMAT_SIZE) #define AUDIO_SPEAKER_DATA_WHOLE_BUFFER_COUNT \ (2U) /* 2 units size buffer (1 unit means the size to play during 1ms) */ Here, try to set larger AUDIO_SPEAKER_DATA_WHOLE_BUFFER_COUNT, let it should be at least can put 6ms data, as 1 unit is 1ms play data size, and it needs to have more than 6ms, so, set to 12 unit, the modified definition: #define AUDIO_SPEAKER_DATA_WHOLE_BUFFER_COUNT 12 Build the project and download it, now capture the USB bus data again: Fig 12 1ms interval data packet play successfully This data waveform is the data that can be played normally. Below is the video of the MIMXRT685-AUD-EVK test. The attachment provides two demos of RT685 and RT1170, both modified to 1ms interval, and the modification method of RT1170 is exactly the same 4.    Summarize Whether it is RT600, RT1170, or more precisely the UAC code of the entire RT series, if you need to modify the interval, the main focus is on the following macros in usb_audio_config.h, the following is for 1ms interval: #define HS_ISO_OUT_ENDP_INTERVAL (0x04)//(0x01)//(0X04) #define AUDIO_CLASS_2_0_HS_LOW_LATENCY_TRANSFER_COUNT \ (0x06U) /* 6 means 16 mico frames (6*125us), make sure the latency is smaller than 1ms for ehci high speed */ #define AUDIO_SPEAKER_DATA_WHOLE_BUFFER_COUNT \ (12U)//(2U) /* 2 units size buffer (1 unit means the size to play during 1ms) */ Test video: (view in My Videos) i.MXRT 106x i.MXRT 600 Re: RT600/1170 UAC change OUT endpoint interval methods Thanks so much for my colleague  @tim_wang and @jia_guo endless help!
View full article
i.Mx6 CSI Test Mode Question The customer would like to test BT.656 using Test mode. Is it supported? 38.4.3.3 Test mode in RM shows only one CSIx_SENS_CONG setting. Does it mean Test mode support only one as follows? Does Test mode support other settings? CSIx_EXT_VSYNC = 0x1 CSIx_DATA_WIDTH = 0x1 CSIx_SENS_DATA_FORMAT = 0x0 CSIx_PACK_TIGHT = 0x0 CSIx_SENS_PRTCL = 0x1 CSIx_SENS_PIX_CLK_POL = 0x1 CSIx_DATA_POL = 0x0 CSIx_HSYNC_POL = 0x0 CSIx_VSYNC_POL = 0x0 For example, customer want to know if Test mode support  CSIx_SENS_PRTCL=0x2or 0x3 instead of 0x1? customer want to know if Test mode support CSIx_SENS_DATA_FORMAT=0x1or 0x2 instead of 0x0? Answer: CSI CM TEST MODE is working as below: 1,only ungated mode. 2,data width should be configured to 8 3,data format should be configured to rgb888 It cannot be other format such as bt656. It uses CSI1_TST_CTRL register to configure {R,G,B} 24 bit value and taking it as RGB888/YUV444 format for further process.  The generated image size is due to the configured width & height in the registers. i.MX6DL i.MX6Dual i.MX6Quad i.MX6S
View full article
Video- Power management on i.MX6 Sabre SDP with WEC7 by iWave Systems Windows Embedded Compact 7 (WEC7) BSP customizations by iWave Systems for Freescale’s SABRE SDP/B platform now supports power management. Power management was successfully developed for the i.MX6 multicore platform and tested for the standard suspend and resume functionalities. The processor enters into dormant mode and consumes the least power. As of now, iWave has reduced it to consume as much power as it is currently uses in Linux and Android. i.MX6Q has four CPU cores. The suspend power state not only turns off 3 CPU cores, but also puts the primary CPU on low power mode. On resuming, all 4 cores restart successfully.The process of Power management is being intelligently handled in order to reduce the power consumption to a greater extent. The Power consumption in the idle mode is 800mA whereas in the deep sleep mode it is 380mA, which is very much lesser than in the idle mode. Power Management for multicore processors can be used in a wide variety of handheld devices like tablets, video cameras, mobile phones and other entertainment solutions.  http://www.youtube.com/watch?v=5vED0_U20Cc General
View full article
Installing and Configuring QT Creator (Ubuntu) Qt Creator can be a very good IDE in order to develop great QT applications. This IDE does not only helps with syntax highlighting, access to examples and tutorials, but also helps you to configure different toolchains Qt binary versions and target options. First download the binary installer from: For 32 bits: $ wget http://releases.qt-project.org/qtcreator/2.6.2/qt-creator-linux-x86-opensource-2.6.2.bin For 64 bits: $ wget http://releases.qt-project.org/qtcreator/2.6.2/qt-creator-linux-x86_64-opensource-2.6.2.bin execute the binary $ ./qt-creator-linux-x86_64-opensource-2.6.2.bin Follow the Installer GUI and choose a location. Default options should be OK. in my case the installation was done here: $ /home/b35153/qtcreator-2.6.2/bin Open Qt Creator (in my case from command line, use "&" to regain control of the terminal) $./qtcreator & Open Tools -> Options Choose Build & Run  on the menu of the left. and Select the Compilers Tab Here you can add the toolchain GCC compiler of your convenience. It will appear in the "Manual"  section. Now click on Qt Version Tab.  Here you can add the Qmake that you had created with your Qt installation; for example, the Qt5 installation described here: Building QT for i.MX6 It will appear in the Manual section. In my case I have Qmake for PC and Qmake for i.MX6. Now click on Kits Tab Here you can create combinations of Compilers and Qmake, and also specify where do you want the executables to go. In my case here I combined the i.MX6 toolchain and the Qmake for I.MX6 i had created. I did not set up device configuration since the sysroot is already shared to my device via NFS, but you can configure it so the files are sent via ssh to your device. And that's It! Next time you load a project you can choose which Kit you want to work on, and it will be compiled just as you need. i.MX53 i.MX6_All Multimedia Re: Installing and Configuring QT Creator (Ubuntu) That's the link which I've already seen earlier Setup QT Creator with Yocto Build I already was a bit confused that the link has changed. Ok thank you, it's clear now for me. Re: Installing and Configuring QT Creator (Ubuntu) Have a look for this Setup QT Creator with Yocto Build  Re: Installing and Configuring QT Creator (Ubuntu) The links are working, but is still 2.8   Choose You need here: http://download.qt-project.org/official_releases/qtcreator/2.8/2.8.0/ Re: Installing and Configuring QT Creator (Ubuntu) Hi, I followed your instructions but already stumbled by downloading QTCreator. Seems like QT have changed the folder structure. Files can be found with bellow Links now. x86 http://download.qt-project.org/official_releases/qtcreator/2.6/2.6.2/qt-creator-linux-x86-opensource-2.6.2.bin x64 http://download.qt-project.org/official_releases/qtcreator/2.6/2.6.2/qt-creator-linux-x86_64-opensource-2.6.2.bin All other steps was working fine for me. Regards Re: Installing and Configuring QT Creator (Ubuntu) The examples are installed when you insstall   Qt5.   you can install Qt5 for the PC  to try the examples first from here Download Qt, the cross-platform application framework | Qt Project, and then compile Qt5 for i.MX  with the guide here in the community. https://community.freescale.com/docs/DOC-94066 If you install the version for PC (ubuntu linux)   you can find the examples at:  /Home/Qt/5.1.0/gcc_64/examples If you download and compile i.MX Qt5  you can find the examples at: /opt/qt5/examples Re: Installing and Configuring QT Creator (Ubuntu) Followed your instructions.  Program ran, but there are no examples.  Do you know where I can find them? Re: Installing and Configuring QT Creator (Ubuntu) Well I can give you a consulting service if you wish, otherwise you'll need to read the docs 😉 Re: Installing and Configuring QT Creator (Ubuntu) I'm sorry to say this but to follow these instructions is the sheer horror. You start with a tab in the browser and ends after a short time at 7 tabs open and completely lose track! Any guidance expects the exact execution of another instruction, which again presupposes the execution of another instruction. :smileyconfused: Re: Installing and Configuring QT Creator (Ubuntu) You should take a look in Yocto's documentatation: http://www.yoctoproject.org/docs/current/mega-manual/mega-manual.html#using-an-existing-toolchain-tarball" title="http://www.yoctoproject.org/docs/current/mega-manual/mega-manual.html#using-an-existing-toolchain-tarball Re: Installing and Configuring QT Creator (Ubuntu) I do "bitbake meta-toolchain-qt" Results are joerg@ubuntu1204:~/yocto/rootfs_builder/build/tmp/deploy/images$ ls modules--3.0.35-r0-nitrogen6x-20130629065000.tgz    uImage--3.0.35-r0-nitrogen6x-20130629065000.bin README_-_DO_NOT_DELETE_FILES_IN_THIS_DIRECTORY.txt  uImage-nitrogen6x.bin uImage iḿ not sure what to do with that? Re: Installing and Configuring QT Creator (Ubuntu) meta-toolchain-qt Re: Installing and Configuring QT Creator (Ubuntu) Hello Otavio, QT4 should be good for me. I have to build a special image with yocto? Re: Installing and Configuring QT Creator (Ubuntu) Yocto currently is able to build a Qt toolchain for Qt4 but not yet for Qt5.     Re: Installing and Configuring QT Creator (Ubuntu) You need the qmake compiled for i.MX6 in order to create Qt5 programs that run in the i.MX6 processor. Otherwise you will create programs that run on the PC. I dont remember if the yocto build also creates this special qmake.  It should be in /opt/qt5/bin  or something similar Re: Installing and Configuring QT Creator (Ubuntu) Isn't it possible to set up QT Creator without building own make for I.MX6? It is really complicated to build it while using things building with ltib and ltib is horror !!! Qt is build on Yocto image. regards Joerg
View full article
i.MX6 D/Q L3.035_1.0.2 Patch Release The i.MX 6 D/Q L3.035_1.0.2 patch release is now available on the www.freescale.com ·         Files available # Name Description 1 L3.0.35_1.0.2_LDO_PATCH This patch release is based on the i.MX 6Dual/6Quad Linux   12.09.01 release. The purpose of this patch release is to manage the LDO and   PMIC ramp-up time correctly. i.MX6Dual i.MX6Quad
View full article
Embedded Image Processing - Color Segmentation on i.MX51 Freescale's ARM Processor General
View full article
Deploying SDK 1.3.2 In a previous document, I went through the basic steps of building SDK 1.3.2 for the first time. Now I'm ready to deploy the images onto my target, a P3041DS system. Fortunately my P3041 already has a U-boot and linux install on it. So I can just try and update the SDK from within U-boot. I boot up my trusty terminal - I use putty, and connect to my local COM port at 115200 baudrate. My Ubuntu server already has a tftp server installed, and I link my images over from the SDK build/deploy/images directory over to the /tftpboot directory. The QorIQ_SDK_Infocenter.pdf document within the install has information on the flash bank usage for the current SDK. Make sure you use the document and flash map from the current SDK, as things change. I ended up with a system that didn't boot when I used the older location for the fman uCode (from SDK 1.x) on the SDK 1.3.2 system. Here is a table from the document that shows the flash map for a couple of the QorIQ DS system. It's important to note here that this covers the NOR flash - which is what I'm currently using. You may want to experiment with using NAND or SPI based flash instead - but for my purposes I'm going to re-image NOR flash. The NOR on these development systems is banked, meaning that the most significant address line is tied to a DIP switch. So I can have multiple images in Flash at one time, and switch between them (especially helpful when I mistakenly corrupt one). I'm currently in bank0 (which is the "current bank" in the table above). From this, I see that the addresses I should be interested in are located at: Name Address rcw 0xe8000000 Linux.uImage 0xe8020000 uBoot 0xeff800000 fman uCode 0xeff40000 device tree 0xe8800000 linux rootfs 0xe9300000 To verify that this is correct, I can dump out my RCW: And I can also dump out my current U-boot (which should always start with an ASCII header identifying it): at this point I can start updating the images directly from my TFTP server. I have my tftp server already defined via the U-boot environment serverip, so I just tftp the U-boot image to a randomly picked address in RAM of 0x100000. The transfer went ok, so I can burn it into flash now. I will first erase the flash starting at 0xeff80000. Since U-boot is 0x80000 size, I'll erase from 0xeff80000 for size 0x80000. Apparently my sectors were protected. So I need to unprotect first, then erase again. And by reading the flash, I verify that it has been erased (erased NOR always reads back all 0xF's) So, now I can burn the flash: I use a binary copy. And then verify that the image was written correctly. Then we go through the same technique with the other images. I'll burn the fman ucode as well: Then for the actual images and dtb, you have an option of burning them, but I'll tftp them instead. For this I created a U-boot environment variable called ramboot, and point the image names to the paths on my server: At this point I can save the environment to flash via a saveenv command in U-boot. I'll re-boot into the new U-boot to make sure it works (if it doesn't for some reason, I can jump back to a different U-boot I had previously burned in the alternate bank, or else I'll have to use a debugger to re-burn the flash). Then, from within U-boot I can run ramboot, and if all goes well it should fetch the images and boot all the way into the new SDK. Eventually it should boot all the way to a linux prompt. QorIQ P1 Devices QorIQ P2 Devices QorIQ P3 Devices QorIQ P4 Devices QorIQ P5 Devices Re: Deploying SDK 1.3.2 1. RCW is always fetched from address 0x00000000 - this is true. When it comes to the NOR Flash, the actual address is 0xe8000000 thanks to some address bus manipulation & banking done by ngPixis. - in fact when the processor is booting up it see the NOR device only during interim state mapped from 0x0 (due of the OR0/BR0 register setting). Basically the flash contain is mapped multiple times through the SoC memory space - the same content of the flash will be visible in multiple window memory zones - just after reallocation (after the u-boot changes the OR0/BR0) you have absolute addressing. 2. You're right. 3. Up until this stage the address lines coming out eLBC onto the the processor pin is still 0xffff_fffc am I correct? - the addressing is with 0xffff_xxxx addresses - you're right Now with with external logics as well as control from ngPixis, when the address lines reach the NOR Flash, it will be 0xEFFFFFFC ? - in the first stage the u-boot re-map the u-boot zone anywhere it wants (historically the u-boot chose this 0xefxx_xxxx zone) using BR0/OR0, LAW and TLB registers. After all these settings a rfi  instruction is called (the return address - 0xEFxx_xxxx is set up in SRR0 and the MSR in SRR1). You can make also u-boot debug using CodeWarrior to see all this behavior. Regards, Marius Re: Deploying SDK 1.3.2 Marius, 1. You must select the Boot_location from RCW according with your device controller (e.g. eLBC, i2c, IFC, eSPI, eSDHC and so on). In this case should be eLBC 16bits mode -  you can see this setting more like a processorspecific setting. Regarding the RCW fetching, the processor fetches it based on the DIP SW settings from the selected boot device - whatever the device is, always the RCW is fetched from the beginning. --> ok, so RCW is always fetched from address 0x00000000  no matter what device is specified at rcw_src. When it comes to the NOR Flash, the actual address is 0xe8000000 thanks to some address bus manipulation & banking done by ngPixis. 2. According with first step you need to select from DIP SW settings and the desired boot device (NOR, NAND, SPI, SD, I2C and so on) - this is needed because you can have multiple flashes and the processor can't know from what device you want to boot up - you can see this setting more like a board specific setting. --> ok so we  have to specify the boot device at two places: in RCW and onboard switches. The onboard SW is to tell the ngPixis to select the right chip NAND/NOR, etc when processor starts fetching at CS0/OR0/BR0 am I right? 3. Now, based on the first 2 steps, the processor can boot up in a specific combination. In the case of the NOR booting up, the processor has a capability (using OR0/BR0 registers) to map the last part of the flash (this contains u-boot code) over the reset memory area (0xFFFF_FFFC). Let's say that 0xFFFF_FFFC will point to 0xXFFF_FFFC in the NOR flash (where X can be any - e.g. it can be 'E' when you flashed the u-boot starting with 0xEFF8_0000) - this is just to imagine by yourself how it works, but this space 0xEFxx_xxxx doesn't exist during reset/booting time. --> Now this is the part where I would like to clarify my understanding of what actually happens: The processor start fetching from effective address 0xffff_fffc which falls into boot window space. Before this, based on RCW which is setting BOOT_LOC to point to eLBC NOR flash, the processor already configures boot space translation registers to select eLBC ID and the translation registers high/low are still 0 by reset. Now eLBC has to use CS0/OR0/BR0 by default to access NOR Flash; the base value for BR0 is still 0 by reset, and FCM is selected. Up until this stage the address lines coming out eLBC onto the the processor pin is still 0xffff_fffc am I correct? Now with with external logics as well as control from ngPixis, when the address lines reach the NOR Flash, it will be 0xEFFFFFFC ? Re: Deploying SDK 1.3.2 Ok, let's try to reformulate this in less or more common words. 1. You must select the Boot_location from RCW according with your device controller (e.g. eLBC, i2c, IFC, eSPI, eSDHC and so on). In this case should be eLBC 16bits mode -  you can see this setting more like a processor specific setting. 2. According with first step you need to select from DIP SW settings and the desired boot device (NOR, NAND, SPI, SD, I2C and so on) - this is needed because you can have multiple flashes and the processor can't know from what device you want to boot up - you can see this setting more like a board specific setting. 3. Now, based on the first 2 steps, the processor can boot up in a specific combination. In the case of the NOR booting up, the processor has a capability (using OR0/BR0 registers) to map the last part of the flash (this contains u-boot code) over the reset memory area (0xFFFF_FFFC). Let's say that 0xFFFF_FFFC will point to 0xXFFF_FFFC in the NOR flash (where X can be any - e.g. it can be 'E' when you flashed the u-boot starting with 0xEFF8_0000) - this is just to imagine by yourself how it works, but this space 0xEFxx_xxxx doesn't exist during reset/booting time. Regarding the RCW fetching, the processor fetches it based on the DIP SW settings from the selected boot device - whatever the device is, always the RCW is fetched from the beginning. Hope that helps, Marius Re: Deploying SDK 1.3.2 Marius, I have read the answer and it is very useful. Nevertheless, I am writing here again my interpretation hopefully you can clarify with me if my understanding is correct: Say we set the RCW source to NOR flash and also within RCW we set BOOT_LOC to NOR Flash as well. At boot up, RCW is fetched from CS0 address 0x00000000 and then is decoded. Based on the BOOT_LOC value,  the value of Bootspace translation registers LCC_BSTRx (high, low, attribute) are updated accordingly to map the boot window space (from 0xFF800000 to 0xFFFFFFFF) to eLBC NOR Flash (at which  address??). From here I have no idea how is the u-boot loaded in and executed? Re: Deploying SDK 1.3.2 Hi, You can take a look to this response [1]. Regards, Marius [1] https://community.freescale.com/message/331578#331578 Re: Deploying SDK 1.3.2 Hi Paul, i have one question: For this scenario, RCW is loaded from NOR flash and then it will say BOOT_LOC is also from NOR flash. How does the processor know which address from BOOT_LOC to fetch  as this is not indicated in RCW? Re: Deploying SDK 1.3.2 Hi Ryan, I think it is mentioned on Infocenter  here http://www.freescale.com/infocenter/topic/QORIQSDK/3102519.html Freescale documentation is still fragmented anyway. Re: Deploying SDK 1.3.2 Thanks for the good article(s). You mentioned in this article: The NOR on these development systems is banked, meaning that the most significant address line is tied to a DIP switch I was wondering where the documentation is available that describes the various settings of how to changed which bank for the NOR is being used along with what the other DIP switches on the P3041DS do. All I've been able to find is the default values for the DIP switches from the SDK. Could you point me to a link to the documentation that describes the P3041DS hardware in more detail (specifically the DIP switches)? Re: Deploying SDK 1.3.2 I was just reading through the SDK 1.3.2 documentation, section 7.2.5 shows an example of how to bring up two instances of U-boot and Linux (on two separate cores). Here's a link to the document on infocenter: Freescale Technical Information Center Re: Deploying SDK 1.3.2 Good question. What I was showing here was U-boot, loading an SMP image of Linux. U-boot only runs on one core, and Linux will run across all cores. There are other options, and if you wanted to run AMP Linux, or Linux plus other OS'es (VxWorks, OSE etc...) you would need to use a hypervisor. But, what I built and ran here above was U-boot on core0 launching SMP linux. Re: Deploying SDK 1.3.2 Is this loading method will make all the cores running the same image? And for the putty output, how can we know which core is printing the content?
View full article
Qt5 QPainter vs. QML & Scene Graph. With Qt5  you will find the addition of new technologies that will make your development much easier. Qtquick2 SceneGraph Qml Qt5 is backwards compatible,  that means you can run your Qt 4.8 applications, But that doesn't mean they will have the best performance, sometimes it is better to do a porting to use the newest features. Qt5, has two options to paint components into the screen. Painting in Qt 5 is primarily done either with: The imperative QPainter API Qt’s declarative UI language, QML, and its scene graph back-end. QPainter As this document mentions  Qt5GraphicsOverview | Qt Wiki | Qt Project  The Qpainter engine uses software to paint, and is used when drawing Qimages or Qwidgets. Its  advantage over OpenGL is the high quality when antialiasing is enabled, and a complete feature set. The Qpainter can use an OpenGL engine, but as the document mentions it is more suceptible to state changes. And has to be used carefully. QML & Scene Graph. All visual QML items are rendered using the scene graph, a low-level, high-performance rendering stack, closely tied to OpenGL. Qt Quick 2 makes use of a dedicated scene graph based on OpenGL ES 2.0 or OpenGL 2.0 for its rendering. Using a scene graph for graphics rather than the traditional imperative painting systems (QPainter and similar), means the scene to be rendered can be retained between frames and the complete set of primitives to render is known before rendering starts. This opens up for a number of optimizations, such as batch rendering to minimize state changes and discarding obscured primitives. The QML scene graph is a new back-end for QML in Qt 5, and is based on OpenGL. It generally improves the performance of QML significantly over the QPainter-based back-end used in Qt 4. It achieves better performance in a number of ways: The scene graph uses OpenGL directly instead of going though a QPainter which could be using either the raster or OpenGL paint engine. This means that all the resources, like geometry, textures and shaders can be stored in a format suitable for OpenGL rather than using classes such as QPainterPath, QPixmap, QBrush, or QPen, which the QPainter would need to translate into OpenGL primitives and possibly cache. QML, being a declarative language, defines how the end result should look like, but it doesn’t define how and in which order each individual element is drawn. The drawing can therefore be reordered to reduce the number of state changes, or merged to reduce the number of draw calls. The scene graph uses a separate render thread, and synchronizes the animations with the vertical retrace on platforms where this can be supported. The render thread allows the preparation of the next frame to be done at the same time the current frame is being rendered. This has a positive effect also on single-core systems, since the render thread might block on OpenGL commands. The synchronization with the vertical retrace improves the perceived smoothness of the animations. We have tested on i.MX6 Both options, having the best results using QML Qtquick2 elements. When we tried using QtPainter via Widgets we face the problem that if not using a windowing system like X11 or Wayland the painter wont work well and will only show the QtGLWidget. With QML scene graph we are able to have an OpenGL element and a Qt element on the same environment, and there is an easy way to communicate one with the other and share variables.  Please look at the example results here: I.MX6 scene graph Qt5 - YouTube And the great advantage, the sceneGraph is all accelerated via OpenGL. Re: Qt5 QPainter vs. QML & Scene Graph. hello I am porting to iMX6 with Qt5.1 a large application, originally based on Qt4.7 and running on iMX35. My legacy application has lots of 2D drawing based on the QPainter API. I was hoping to replace QWidget with QGLWidget and get hardware accelerated QPainter API; it looks like this is not the case. I stay with QPainter I only get software rendering like with Qt 4.7 If I want hardware accelerated 2D rendering then I have to rewrite all drawing code using the gl API. Is my understanding correct? Fabio Re: Qt5 QPainter vs. QML & Scene Graph. FranciscoCarrillo, can you please move this document to the public i.MX Community so that your document there does not point to a doc in a place that external members cannot access?  And then add a post to the below public discussion that reported this problem? Linked article says "Access to this place or content is restricted..."                     This question is Not Answered.(Mark as assumed answered)      stephenlangstaff Jul 12, 2013 2:43 AM                                 I'm seeing "Access to this place or content is restricted. If you think this is a mistake, please contact your administrator or the person who directed you here." when trying to access https://community.freescale.com/docs/DOC-94234, pointed to from QT5 Demo Errors on EGLFS. Thanks, Grant
View full article
[i.MX8MP/Linux 5.4.70.2.3.0]Display abnormal during HDMI hot-plug Platform: i.MX8MP EVK BSP: Linux 5.4.70.2.3.0 Customer reported UI on HDMI monitor is abnormal and has more line on left side when doing HDMI hot-plug on i.MX8MP running with L5.4.70.2.3.0. This issue can’t be reproduced on latest BSP such as 5.10 and above, several patch for HDMI from latest BSP can fix this issue. Graphics & Display
View full article
Config Tools for i.MX v13.1 Now Available We are pleased to announce that Config Tools for i.MX v13.1 are now available. Downloads & links To download the installer for all platforms, please login to our download site via:  https://www.nxp.com/design/designs/config-tools-for-i-mx-applications-processors:CONFIG-TOOLS-IMX Please refer to  Documentation  for installation and quick start guides. For further information about DDR config and validation, please go to this  blog post. Release Notes 13.1 DDR tool     - i.MX93 support for A0 pre-production launch; sync with SW BSP release Pins tool     - Fix incomplete routing of deinit functions  
View full article
How to load the CMSIS-DSP library to the project based on the LPC55S69 Because the LPC55S69 has PowerQuad, in SDK example code, the FFT/FIR/IIR and the other DSP function are implemented by the Powerquad module instead of the Cortex-CM33 core.  This is the Powerquad example to implement the DSP function:' But if customers want to use CMSIS-DSP to implement the DSP function based on Cortex-CM33 instead of Powerquad module, customers can not import SDK example, he has to create a new project, this is the procedures: 1)Create a new project by clicking New->Create a new C/C++ Project 2)select the processor like LPC55S69 3)In the following menu,click CMSIS Driver, and check the CMSIS_DSP_Library and CMSIS_DSP_Library_Source You have to click the Driver which can select your peripherals driver you will use.  3)as the following screenshot, after completion, you can see the CMSIS-DSP source code and library have included in the project General LPC55xx
View full article
Troubleshooting: Java Error When Config Tools Used From Command Line For S32 Design Studio v3.5 and earlier, there is a known issue when the S32 Configuration Tools are invoked from command line from a location outside of the S32DS installation directory. The following error is reported: java.lang.reflect.InvocationTargetException at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) at java.base/java.lang.reflect.Constructor.newInstance(Unknown Source) at com.nxp.swtools.common.utils.runtime.SingletonProvider.getSingletonInstance(SingletonProvider.java:46) at com.nxp.swtools.common.ui.utils.swt.internal.SWTFactory.getSingletonInstance(SWTFactory.java:421) at com.nxp.swtools.common.ui.utils.swt.SWTFactoryProxy.getSingletonInstance(SWTFactoryProxy.java:448) at com.nxp.swtools.dcd.controller.DCDController.getInstance(DCDController.java:84) at com.nxp.swtools.dcd.DCDStartup.earlyStartup(DCDStartup.java:23) at com.nxp.swtools.provider.SWToolsPlatform.initializeAllTools(SWToolsPlatform.java:702) at com.nxp.swtools.framework.Application.start(Application.java:475) at com.nxp.swtools.framework.Application.start(Application.java:445) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:401) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.base/java.lang.reflect.Method.invoke(Unknown Source) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:654) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:591) at org.eclipse.equinox.launcher.Main.run(Main.java:1462) Caused by: java.lang.NoClassDefFoundError: javafx/beans/property/SimpleBooleanProperty at com.nxp.swtools.bootimage.controller.ABootController. (ABootController.java:37) at com.nxp.swtools.dcd.dcf.common.DCDCommonController. (DCDCommonController.java:90) at com.nxp.swtools.dcd.controller.DCDController. (DCDController.java:43) ... 24 more Caused by: java.lang.ClassNotFoundException: javafx.beans.property.SimpleBooleanProperty cannot be found by com.nxp.swtools.bootimage_1.0.0.202207251223 at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:519) at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:170) at java.base/java.lang.ClassLoader.loadClass(Unknown Source) Resolution: To resolve the issue: Invoke the command from within the installation directory, for example, from 'C:\NXP\S32DS.3.5\eclipse' OR Change "{S32DS Installation Folder}\eclipse\s32ds.ini" by setting the javafx path from relative to absolute. So, if default installation is used, then: Change -Defxclipse.java-modules.dir=jre/javafx-sdk-11.0.2/lib To -Defxclipse.java-modules.dir=C:/NXP/S32DS.3.5/eclipse/jre/javafx-sdk-11.0.2/lib In addition, if it is desired to suppress unimportant warning messages: go to {S32DS installation folder}\eclipse\configuration, open logging.properties file and change com.nxp.swtools.level = SEVERE
View full article
HOWTO: Create a Blinking LED application project for S32R41 using S32 RTD No AUTOSAR This document shows the step-by-step process to create a simple blinking LED application for the S32R41 device using the S32 RTD non-AUTOSAR drivers. For this example used for the S32R41 EVB, connected via ethernet connection through S32 Debugger. Preparation Setup the software tools Install S32 Design Studio for S32 Platform Install the S32R41 development package and the S32R41 RTD AUTOSAR 4.4. Both of these are required for the S32 Configuration Tools. Launch S32 Design Studio for S32 Platform Procedure New S32DS Project OR Provide a name for the project, for example 'Blinking_LED_RTD_No_AUTOSAR'. The name must be entered with no space characters. Expand Family S32R41, Select S32R418AB Cortex-M7 Click Next Now, uncheck the selection mark for other core, i.e. for Cortex-M7-1 And Click '…' button next to SDKs Check box next to PlatformSDK_SAF85_S32R41_2022_08_S32R418AB _M7_0. (or whichever latest SDK for the S32R41 is installed). Click OK Click Finish. Wait for project generation wizard to complete, then expand the project within the Project Explorer view to show the contents. To control the LED on the board, some configuration needs to be performed within the Pins Tool. There are several ways to do this. One simple way by double-click on the MEX file. The schematic for S32R41 EVB, checking for signal line for the user LED, channel 4 is connected to user LED signal, so we use channel 4 for signal line for user LED on the chip. So, we select the signal line for Dio channel Id 4 for the LED connected on the S32R41 EVB. From the Peripheral Signals tab left to the Pins tool perspective layout, locate Open the Siul2_0 from the peripheral signals tab. And from the drop down menu select “gpio,36 PC_04” option as per shown in the following image. We are using PC_04 for the GPIO usage, so we are routing SIUL2_0 GPIO signal to this pin. The Direction required! menu will appear. Select Output then OK. In Routing Details view, notice a new line has been added and highlighted in yellow. Add ‘LED’ to the Label and Identifier columns for the PC_04 pin. Code Preview Go to Peripherals tool and add Siul2_Dio to enable LED blinking, it adjacent to the Blue LED on S32R41  EVB. Click on the Peripherals Tool icon from the Eclipse Perspective navigation bar. From the Components view, click on ‘Add a new configuration component…’ button from the Drivers category. This will bring up a list of all configuration components. Locate and then select the ‘Siul2_Dio’ component from the list and click OK. Do not worry about the warning message. It is only indicating that the driver is not already part of the current project. The associated driver package will be added automatically. Note: It may be necessary to change the selection at the top from ‘Present in the tool-chain project’ to ‘All’. The DIO driver provides services for reading and writing to/from DIO Channels. Also, select the Siul2_Port tab and uncheck the checkmark against ‘Siul2 IP Port Development Error Detect’ option as below. The Gpio_Dio driver requires no further configuration. Click Save to store all changes to the .MEX file. Now the device configurations are complete and the RTD configuration code can be generated. Click ‘Update Code’ from the menu bar. To control the output pin which was just configured, some application code will need to be written. Return to the ‘C/C++’ perspective. If not already open, in the project window click the ‘>’ next to the ‘src’ folder to show the contents, then double click ‘main.c’ file to open it. This is where the application code will be added. Before the pin can be controlled, it needs to be initialized using the configuration information that was generated from the S32 Configuration tools. Initialize all pins using the Port driver by adding the following line: Insert the following line into main, after the comment 'Write your code here': /* Initialize all pins using the Port driver */ Siul2_Port_Ip_Init(NUM_OF_CONFIGURED_PINS0, g_pin_mux_InitConfigArr0); Now, add logic for the LED turn and off. To turn the pin on and off with some delays in-between to cause the LED to blink. Make the delays long enough to be perceptible. Add line to initialize variable uint8 i = 0; Change the code within the provided for loop, and add the following lines: /* logic for blinking LED 10 times for (i=0; i<10; i++) {       Siul2_Dio_Ip_WritePin(LED_PORT, LED_PIN, 1U);       level = Siul2_Dio_Ip_ReadPin(LED_PORT, LED_PIN);       TestDelay(2000000);       Siul2_Dio_Ip_WritePin(LED_PORT, LED_PIN, 0U);       level = Siul2_Dio_Ip_ReadPin(LED_PORT, LED_PIN);       TestDelay(2000000); } return (0U); And add this line above the main() function to initialize the variable volatile uint8 level; Before the 'main' function, add a delay function as follows: void TestDelay(uint32 delay); void TestDelay(uint32 delay) {    static volatile uint32 DelayTimer = 0;    while (DelayTimer    {        DelayTimer++;    }    DelayTimer=0; } Update the includes lines at the top of the main.c file to include the headers for the drivers used in the application: Remove #include "Mcal.h" Add #include "Siul2_Port_Ip.h" #include "Siul2_Dio_Ip.h" Build 'Blinking_LED_RTD_No_AUTOSAR'. Select the project name in 'C/C++ Projects' view and then press 'Build'. After the build completes, check that there are no errors. Open Debug Configurations and select 'Blinking_LED_RTD_No_AUTOSAR_Debug_RAM'. Make sure to select the configuration which matches the build type performed, otherwise it may report an error if the build output doesn’t exist. Now, you need to Select the Interface (Ethernet or USB) by which the S32 Debug Probe is connected. If connected via USB and this option is selected for interface, then the COM port will be detected automatically (in the rare event where 2 or more S32 Debug Probes are connected via USB to the host PC, then it may be necessary to select which COM port is correct for the probe which is connected to the EVB) If connected via Ethernet, enter the IP address of the probe. See the S32 Debug Probe User Manual for ways to determine the IP address. Click Debug To see the LED blink, click ‘Resume'. This code, as it is, will blink the LED 10 times, you can make changes in for loop condition to blink it infinitely.
View full article
Building QT for i.MX6 Prerequisites: The build is verified on prebuilt rootfs(based on LTIB) which can be downloaded from freescale.com EGL uses framebuffer backend libEGL.so -> libEGL-fb.so libGAL.so -> libGAL-fb.so QT4.8 1. Download the git respository for qt4.8: $ git clone http://git.gitorious.org/qt/qt.git qt $ cd qt Let us consider this as <QTDir> 2. Create /tftpboot and point your target fileystem. As like $ mkdir -p /tftpboot $ cd /tftpboot $ ln -s $(ROOTFFS) rootfs TBD:Need to work on this to use sysroot option 3. Create a build directory to install for the qt4 packages. This directory can be  in any location. For example, $ mkdir /opt/qt4 $ sudo chown -R /opt/qt4 Let us consider the the as /opt/qt4 4. Extract the attached mkspecs(linux-imx6-g++.tar.gz) to  /mkspecs/qws/ 5. Apply the attached cd 0001-add-i.MX6-EGL-support.patch attached to enable egl support for i.MX6 $ cd $ patch -p1<0001-add-i.MX6-EGL-support.patch 6. Export CROSS-COMPILE location path to PATH $ export PATH=$PATH:/opt/freescale/usr/local/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/ 7. Enter to the <QTDir>. Do configure. You can select the options as you like. Here is an example $ cd $ ./configure -qpa -arch arm -xplatform qws/linux-imx6-g++ -no-largefile -no-accessibility \ -opensource -verbose -system-libpng -system-libjpeg -system-freetype -fast -opengl es2 -egl -confirm-license \ -qt-zlib  -qt-libpng  -no-webkit -no-multimedia \ -make examples -make demos \ -release -make libs -exceptions -no-qt3support -prefix 8. When the configure summary is shown make sure the Qt has OpenGL ES 2.0 support. Do build $ make $ make install 9. Now need to build eglfs plugin $ cd /src/plugins/platforms/eglfs $ make $ make install     Now the eglfs will be installed to the QT Install directory. 10. By now all required QT files are in 11. Copy the install directory to target filesystem $ cp -rf /opt/qt4 /tftpboot/rootfs/opt/. 12. Running Qt apps on target     - Boot the target either with NFS or SD Image     - Ensure that folder is copied on target file system at “/usr/local”.     - Launch application using $ cd /opt/qt4/examples/opengl/hellogl_es2 $ ./hellogl_es2 -platform eglfs QT5 These steps are performed on the host 1. Download the git respository for qt5: $ git clone git://gitorious.org/qt/qt5.git qt5 $ cd qt5     Let us consider this as 2. Create a build directory to install for the qt5 packages. This directory can be  in any loctation. For example, $ sudo mkdir /opt/qt5 $ sudo chown -R /opt/qt5 Let us consider the the installdir as /opt/qt5 3. Enter the Qt5 directory and run the init-repository script to download all the source code for    Qt5. To download all the source code will take about an hour. $ ./init-repository Update:  In the latest Qt5 release the webkit library is included by default and there are some issues trying to compile it. use the next line to avoid problems if not desired to use webkit. $ ./init-repository --no-webkit 4. From the following path $ gedit qtbase/mkspecs/devices/linux-imx6-g++/qmake.conf 5. At the top of the qmake.conf, there is a configure line. Copy and paste the configure line into a text file located    in your build build directory. Edit the configure line to find your toolchain and filesystem. Also make sure to    include the options -no-pch, -no-opengl, -opengl es2, Here is an example of    a configure line. Update: In the latest Qt5 stable, the option to compile the examples/demos is -compile-examples, instead of -make examples -make demos If you are running into problems with webkit,  use the option -no-icu, this will disable the webkit. $ cd $ cd qtbase $ ./configure -v -opensource -confirm-license -no-pch -no-xcb -no-opengl -opengl es2  \         -make libs -device imx6 \        -compile-examples \       -device-option CROSS_COMPILE=/opt/freescale/usr/local/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/arm-fsl-linux-gnueabi- \        -sysroot -no-gcc-sysroot \       -prefix 7. Make the textfile that has the configure line and executable and run it. When the configure summary is shown make sure the Qt5 has openGL ES 2.0 support. Do build $ make $ sudo make install    When Qt5 has finished building, Qt5 will be installed in two places:            1. /            2. / This is good because now all the libraries and binaries for Qt5 are installed on the host and the target filesystem. Therefore, the target already has all the libraries and  binaries needed to run Qt5. 8. Also need to build qtjsbackend and qtdeclarative. $ cd $ cd qtjsbackend $ ../qtbase/bin/qmake -r $ make && sudo make install $ cd $ cd qtdeclarative $ ../qtbase/bin/qmake -r $ make && sudo sudo make install 9. Running Qt apps on target     - Boot the target either with NFS or SD Image     - Ensure that folder is copied on target file system at “/usr/local”.     - Launch application using $ cd /opt/qt5/examples/opengl/hellowindow $ ./hellowindow -platform eglfs FAQ: On the target file system, the location of target libaries and includes may present in arm-linux-gnueabi directory. Make sure to create soflinks to QT can find. For example $ cd $(ROOTFS)/usr/lib $ ln -s arm-linux-gnueabi/libffi.so.6 libffi.so.6 While building QT5, you may see a build error that libQt5V8.so.5 is not found. This might be some problem to be addressed in QT. Workaround is to copy all the binaries to correct path as like this $ cp  / /lib/* / /. What is coming up next: 1. QT on X is already available on Yocto filesystem. Steps to enable GPU Acceleration TDB. 2. QT with Wayland support. i.MX6_All Re: Building QT for i.MX6 I already done with it. On Fri, Aug 12, 2016 at 10:43 AM, aravinthkumarjayaprakasam < Re: Building QT for i.MX6 Hi, Post you query in Qt Form. They will give support. Home | Qt Forum Regards, Aravinth Re: Building QT for i.MX6 Hi aravinth, Yeah, you got my point. There is no target device platform for INTEGRITY in qt5.5/qtbase/mkspecs/devices/. Is there any possibility to create target platform in qt5.5/qtbase/mkspecs/devices/ by our own?? This is the full command I used to configure the target configure -embedded -xplatform qws/integrity-arm-cxarm -prefix / -qt-sql-sqlite -embedded - builds the embedded version of Qt -xplatform qws/integrity-arm-cxarm - selects the arm-cxarm mkspec for INTEGRITY -qt-sql-sqlite - links sqlite directly into the Qt library According to my task the target should be integrity-arm-cxarm On Fri, Aug 12, 2016 at 7:50 AM, aravinthkumar jayaprakasam < Re: Building QT for i.MX6 Hi bharathadwajakodanda​, In your Qt source Below location can you select which device  you want to use: ~/qt5.5/qtbase/mkspecs/devices/ After that i will give you the support. Re: Building QT for i.MX6 Hello every one, How to configure and build Qt5.5 for INTEGRITY RTOS??? Re: Building QT for i.MX6 Hi peterchiu​ in Qt 5.5 don't have qws. And also above mentioned problem i solved. Regards, Aravinth Re: Building QT for i.MX6 Hi aravinthkumar jayaprakasam, You can try to copy the qws.conf on qt4, then put the qws.conf into qt-everywhere-opensource-src-x.x.x/qtbase/mkspecs/common/  (x.x.x is your qt version). Then configure again. Re: Building QT for i.MX6 Hi All I have QT5.5.0, i want to crosscompile into imx6-linux. So i used the following configuration ./configure -v -opensource -confirm-license -no-pch -no-xcb -no-opengl -opengl es2  \         -make libs -device imx6 \        -compile-examples \       -device-option CROSS_COMPILE=/opt/freescale/usr/local/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/arm-fsl-linux-gnueabi- \        -sysroot /home/zumi/Project/Imx6q/rootfs/L3.0.35_4.1.0_130816_images_MX6/Rootfs/opt/qt -no-gcc-sysroot \       -prefix /opt/qt-vision Following error i am getting, cc1plus: error: unrecognized command line option '-fuse-ld=gold' arm-fsl-linux-gnueabi-g++ -o libtest.so -shared -Wl,-Bsymbolic-functions -fPIC bsymbolic_functions.c bsymbolic_functions.c:2:2: error: #error "Symbolic function binding on this architecture may be broken, disabling it (see QTBUG-36129)." Symbolic function binding disabled. And one more thing, QT5.5.0 didn't have qws.conf file. so in your attached qmake.conf file i remove include(../../common/qws.conf) line. If i not remove the line it shows No such a file found error. After the removing i got the above mentioned error. Regards, Aravinth Re: Building QT for i.MX6 Hi nishad I have successfully build Qt4.8.5 for imx6. But when I tried to run the sample example I got the below error: root@freescale /opt/qt4.8.5-arm-opengl$ cd examples/opengl/hellogl_es2/ root@freescale /opt/qt4.8.5-arm-opengl/examples/opengl/hellogl_es2$ ls bubble.cpp       glwidget.h       main.cpp         texture.qrc bubble.h         hellogl_es2      mainwindow.cpp glwidget.cpp     hellogl_es2.pro  mainwindow.h <-opengl/examples/opengl/hellogl_es2$ ./hellogl_es2                     bubble.cpp       glwidget.h       main.cpp         texture.qrc bubble.h         hellogl_es2      mainwindow.cpp   glwidget.cpp     hellogl_es2.pro  mainwindow.h     <-opengl/examples/opengl/hellogl_es2$ ./hellogl_es2 -platform eglfs Segmentation fault root@freescale /opt/qt4.8.5-arm-opengl/examples/opengl/hellogl_es2$ Re: Building QT for i.MX6 Hello All, is anyone able to compile QT5.5 or QT 5.6 for imx6q. This page is not helping me much because QT 5 compilation section referring the gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12 fsl tool chain whcih is not available for download because it is pretty quite old.If i am using linaro latest tolchain 4.8 or 4.7 QT doesn't compile. I would really appreciate if someone let me know which is the correct tool-chain to compile QT 5.5 or QT 5.6 version on imx6. Re: Building QT for i.MX6 Hi all PrabhuSundararaj The git url  "git://gitorious.org/qt/qt5.git qt5"  is not work. Is it new git url  for qt5 ? Because I want to use LTIB porting Qt5. Please help, thanks all. Re: Building QT for i.MX6 These patches are for Qt4 not for Qt5 right? Re: Building QT for i.MX6 Hi Nishad, Thanks for replying. I am using LTIB for building my image. yes, I built QT4.8 manually with steps as mentioned on this page. Also, the configuration script is same as given here. ./configure -qpa -arch arm -xplatform qws/linux-imx6-g++ -no-largefile -no-accessibility \ -opensource -verbose -system-libpng -system-libjpeg -system-freetype -fast -opengl es2 -egl -confirm-license \ -qt-zlib  -qt-libpng  -no-webkit -no-multimedia \ -make examples -make demos \ -release -make libs -exceptions -no-qt3support -prefix /opt/qt4. Regards, Paritosh Singh Re: Building QT for i.MX6 Hi, Sorry for the delay in reply, Could you give me more information about your problem? Are you using LTIB to build your image or Yocto? Did you manually build the QT? Also can you mail me your configuration script? There could be a possibility that the QT is not properly built. Regards, nishad Re: Building QT for i.MX6 Hi, I have successfully build Qt4.8 for imx6. But when I tried to run the sample example I got the below error: "Could not create the egl surface: error = 0x300b" Please help me out of this. Regards, Paritosh Re: Building QT for i.MX6 HI nice tutorial.... can you pls give some insights about qt webkit as well how to render a fullscreen HTML5 based webpage using that... am really new to qt... pls guide me Re: Building QT for i.MX6 Hi all, I tried build qt5 like in this doc. My configuration command is: ./configure -v -opensource -confirm-license -make libs -device imx6  -device-option CROSS_COMPILE=/home/x0158990/hdd/tools/poky/1.7/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-  -sysroot /home/x0158990/hdd/tools/poky/1.7/sysroots/x86_64-pokysdk-linux -no-gcc-sysroot  -prefix /home/x0158990/work/tools/QT5 I have got error: Precompiled-headers support enabled. /home/x0158990/hdd/tools/poky/1.7/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-g++ -c -fvisibility=hidden fvisibility.c Symbol visibility control enabled. /home/x0158990/hdd/tools/poky/1.7/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-g++ -o libtest.so -shared -Wl,-Bsymbolic-functions -fPIC bsymbolic_functions.c bsymbolic_functions.c:2:2: error: #error "Symbolic function binding on this architecture may be broken, disabling it (see QTBUG-36129)." #error "Symbolic function binding on this architecture may be broken, disabling it (see QTBUG-36129)."   ^ Symbolic function binding disabled. In QTBUG-36129 bug's description I didn't found applicable solution. Please help! Re: Building QT for i.MX6 Configuration Script: ./configure -v -opensource -confirm-license -no-sse2 -no-sse3 -no-ssse3 -no-sse4.1 -no-sse4.2 -no-avx -no-xcb -no-sql-mysql -no-sql-db2 -no-sql-ibase -no-sql-oci -no-sql-odbc -no-sql-tds -no-sql-sqlite2 -no-pch -no-opengl -opengl es2  -wayland -make libs -device imx6 -make examples -device-option CROSS_COMPILE=/opt/freescale/usr/local/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/arm-fsl-linux-gnueabi- -sysroot /home/sumeet/ltib/rootfs -no-gcc-sysroot -prefix /usr/local/QT_5 Link to be followed thoughtfully along with the procedure given on the current link above: http://qt-project.org/wiki/RaspberryPi_Beginners_guide I used the "cross-compiled-tools" to compile QT-5 and built individual modules using the link. you need to download it as use it taking reference of the script given below for setting up path. Cleaning a_config_if_compile_wrong: sudo git submodule foreach --recursive "git clean -dfx" Script for_setting_paths: ./fixQualifiedLibraryPaths /home/sumeet/ltib/rootfs /opt/freescale/usr/local/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/arm-fsl-linux-gnueabi-g++ You might get fontconfig errors, which you need to solve by analysing the error. Although i was able to install QT5 , i still have problems with fonts, i am not able to see fonts in the GUI. i am working on it. regards nishad Re: Building QT for i.MX6 Ok nishad, i'm waiting for your procedure ! thank's in advance ! Re: Building QT for i.MX6 Hi , I successfully cross compiled QT5 for my custom iMX6Q board, I used LTIB 3.0.35_4.1.0 kernel for building my u-boot, kernel and rootfs. I am attaching documents and links that i prepared to help anyone who wishes to build QT5, it might not help you directly, but the procedure should help you. regards, Nishad Re: Building QT for i.MX6 Hi all, i'm trying to build qt5 for a udoo quad board (use imx6 quad http://www.udoo.org/) but i'm blocked at ./configure. i had some errors : /home/modjo/Udoo/Qt5_build/fsl-linaro-toolchain/arm-fsl-linux-gnueabi/bin/g++ -c -pipe -march=armv7-a -mfpu=neon -DLINUX=1 -DEGL_API_FB=1 -mfloat-abi=softfp -g -Wall -W -fPIE -I../../mkspecs/devices/linux-imx6-g++ -I. -I../../../../usr/include -I../../../../usr/bin -o arch.o arch.cpp g++: error trying to exec 'cc1plus': execvp: No such file or directory Messages de l'assembleur: Erreur fatale: option -march= invalide: « armv7-a » gmake: *** [arch.o] Erreur 1 Unable to determine architecture! Could not determine the target architecture! Turn on verbose messaging (-v) to see the final report. Determining architecture... () g++ -c -pipe -g -Wall -W -fPIE -I../../mkspecs/linux-g++ -I. -o arch.o arch.cpp g++ -o arch arch.o Found architecture in binary CFG_HOST_ARCH="i386" CFG_HOST_CPUFEATURES="" System architecture: 'unknown' Host architecture: 'i386' C++11 auto-detection... () /home/modjo/Udoo/Qt5_build/fsl-linaro-toolchain/arm-fsl-linux-gnueabi/bin/g++ -c -pipe -march=armv7-a -mfpu=neon -DLINUX=1 -DEGL_API_FB=1 -mfloat-abi=softfp -O2 -std=c++0x -Wall -W -fPIE -I../../../mkspecs/devices/linux-imx6-g++ -I. -I/home/modjo/Udoo/Qt5_build/usr/include -I/home/modjo/Udoo/Qt5_build/usr/bin -o c++11.o c++11.cpp g++: error trying to exec 'cc1plus': execvp: No such file or directory Messages de l'assembleur: Erreur fatale: option -march= invalide: « armv7-a » gmake: *** [c++11.o] Erreur 1 C++11 disabled. ....... ...... ...... ...... OpenGL ES 2.x auto-detection... () /home/modjo/Udoo/Qt5_build/fsl-linaro-toolchain/arm-fsl-linux-gnueabi/bin/g++ -c -pipe -march=armv7-a -mfpu=neon -DLINUX=1 -DEGL_API_FB=1 -mfloat-abi=softfp -O2 -Wall -W -fPIE -I../../../mkspecs/devices/linux-imx6-g++ -I. -I/home/modjo/Udoo/Qt5_build/usr/include/GLES2 -I/home/modjo/Udoo/Qt5_build/usr/include -I/home/modjo/Udoo/Qt5_build/usr/bin -o opengles2.o opengles2.cpp g++: error trying to exec 'cc1plus': execvp: No such file or directory Messages de l'assembleur: Erreur fatale: option -march= invalide: « armv7-a » gmake: *** [opengles2.o] Erreur 1 OpenGL ES 2.x disabled. The OpenGL ES 2.0 functionality test failed! You might need to modify the include and library search paths by editing QMAKE_INCDIR_OPENGL_ES2, QMAKE_LIBDIR_OPENGL_ES2 and QMAKE_LIBS_OPENGL_ES2 in /home/modjo/Udoo/Qt5_build/qt5/qtbase/mkspecs/devices/linux-imx6-g++. For information the Udoobuntu file system : http://www.udoo.org/downloads/ the link for the tutorial : http://www.udoo.org/ProjectsAndTutorials/how-to-build-qt5-for-udoo/?portfolioID=1394 my qmake.conf : include(../common/linux_device_pre.conf) ROOTFS_PATH=/home/modjo/Udoo/Qt5_build TOOLCHAIN_PREFIX=/home/modjo/Udoo/Qt5_build/fsl-linaro-toolchain/arm-fsl-linux-gnueabi/bin EGLFS_PLATFORM_HOOKS_SOURCES = $$PWD/qeglfshooks_imx6.cpp QMAKE_INCDIR          += $${ROOTFS_PATH}/usr/include $${ROOTFS_PATH}/usr/bin QMAKE_LIBDIR          += $${ROOTFS_PATH}/usr/lib/arm-linux-gnueabihf $${ROOTFS_PATH}/usr/lib QMAKE_INCDIR_OPENGL_ES2 += /home/modjo/Udoo/Qt5_build/usr/include/GLES2 QMAKE_LIBDIR_OPENGL_ES2 += /home/modjo/Udoo/Qt5_build/usr/lib/GLESv2 #QMAKE_LIBS_EGL        += /home/modjo/Udoo/Qt5_build/usr/lib/GLESv2 #QMAKE_LIBS_OPENGL_ES2  += /home/modjo/Udoo/Qt5_build/usr/lib/GLESv2 #QMAKE_LIBS_OPENVG      += /home/modjo/Udoo/Qt5_build/usr/lib/OpenVG QMAKE_LIBS_EGL        += -lEGL QMAKE_LIBS_OPENGL_ES2  += -lGLESv2 -lEGL -lGAL QMAKE_LIBS_OPENVG      += -lOpenVG -lEGL -lGAL QMAKE_LFLAGS          += -Wl,-rpath-link,$$/home/modjo/Udoo/Qt5_build/lib/arm-linux-gnueabihf IMX6_CFLAGS            = -march=armv7-a -mfpu=neon -DLINUX=1 -DEGL_API_FB=1 QMAKE_CFLAGS          += $$IMX6_CFLAGS QMAKE_CXXFLAGS        += $$IMX6_CFLAGS include(../common/linux_arm_device_post.conf) load(qt_config) and my configure : ./configure -prefix /opt/qt5 -make libs -no-pch -no-opengl -device imx6 -device-option CROSS_COMPILE=/home/modjo/Udoo/Qt5_build/fsl-linaro-toolchain/arm-fsl-linux-gnueabi/bin/ -no-largefile -opengl es2 -qt-zlib -qt-libpng -qt-libjpeg -no-nis -no-cups -gui -make examples -sysroot /home/modjo/Udoo/Qt5_build/exemples -no-gcc-sysroot -opensource -confirm-license -qreal float -v Do you an idea to resolve this ? Re: Building QT for i.MX6 I'm building qt-5.1.1 from dora branch of yocto project. All fine works instead HTML5 video from simple browser in qtwebkit-examples I see player controls, but it doesn't work. On some videos i can view freeze frame of videos, but it not playing. In console gstreamer output messages like this: Qt Warning: Could not find a location of the system's Compose files. Consider setting the QTCOMPOSE environment variable. libpng warning: iCCP: Not recognizing known sRGB profile that has been edited Received finished signal while progress is still: 10 Url:  QUrl( "http://qt-project.org/" )  Aiur: 3.0.11 Core: MPEG4PARSER_06.07.04  build on Dec  5 2013 11:41:38   mime: video/quicktime; audio/x-m4a; application/x-3gp   file: /usr/lib/imx-mm/parser/lib_mp4_parser_arm11_elinux.so.3.2 Content Info:     URI:           https://r1---sn-8xb5-px8e.googlevideo.com/videoplayback?ip=212.90.165.14&require           ssl=yes&mws=yes&source=youtube&upn=4-tA0Ie6tDA&mv=m&sparams=id,ip,ipbits,itag,ra           tebypass,requiressl,source,upn,expire&key=yt5&ipbits=0&mt=1401803916&id=o-ABczKx           qqFwtM_XhBgSvGnsGqyiHL18Wy6SqK0BZepcFQ&signature=121A2CB3142FB772CD72A9F1D872603           C749A2B74.0370EDFC498A96A43C8F8A98C10184E14158A0D2&sver=3&ratebypass=yes&expire=           1401827798&ms=au&fexp=908548,912321,913434,916611,923341,926122,930008&itag=18&c           pn=VgAqvxj2iI2hp45w&ptk=youtube_none&pltype=contentugc&c=WEB&cver=html5     Seekable  : Yes     Size(byte): 32830110 Movie Info:     Seekable  : Yes     Live      : No     Duration  : 0:11:52.503360000     ReadMode  : Track     Track     : 2 Track 00 [video_000000] Enabled     Duration: 0:11:52.503360000     Language: und     Mime:           video/x-h264, parsed=(boolean)true, width=(int)640, height=(int)360, framerate=(           fraction)24000/1001 Track 01 [audio_000000] Enabled     Duration: 0:11:52.503360000     Language: und     Mime:           audio/mpeg, mpegversion=(int)4, channels=(int)2, rate=(int)44100, bitrate=(int)9           6000, framed=(boolean)true, stream-format=(string)raw, codec_data=(buffer)121000           00000000000000000000000000 Beep: 3.0.11 Core: AAC decoder Wrapper  build on Jan 22 2014 15:42:53   mime: audio/mpeg, mpegversion=(int){2,4}   file: /usr/lib/imx-mm/audio-codec/wrap/lib_aacd_wrap_arm12_elinux.so.3 CODEC: BLN_MAD-MMCODECS_AACD_ARM_03.07.00_CORTEX-A8  build on Sep 18 2013 10:29:53. [--->FINALIZE aiurdemux QtMultimedia examples working correctly. Whats wrong and how can I fix it? Re: Building QT for i.MX6 I am trying to setup a cross compiler setup for the RIOT (IMX6) on opensuse 13.21 (64),  as I would like to use qt with qws under Ubuntu Image (Must still figure out how-to disable the GUI, as this is not a 'standard' Unbuntu startup) Step 6 assumes one has a cross compiler already installed.     export PATH=$PATH:/opt/freescale/usr/local/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/ How can I install this,  where can I download it, as it seem to 'included' in some BSD package. Thanks Re: Building QT for i.MX6 Hey, I successfully installed qt 4.8 in my target. Initially i had 4.6.0 on my target, which had audio demo codes. 4.8 doesn't seem to have any multimedia demos. The existing examples execute correctly. however any example which i used to run in 4.6.0 using qws doesn't seem to execute on 4.8. It crashes with a "segmentation fault". I have qtCreater 2.7.2  with Qt 4.8.4 on my host, and any example code for instance a system call code or a mmap call doesn't seem to work. I had shifted to 4.8 assuming and expecting better audio and Serial communication support. but simple codes compiled do not work in ltib. It is very frustrating. Can anyone please help me out with that. regards, nishad Re: Building QT for i.MX6 I found out that the hellogl_es2 example is not able to run when you dont have X11 or wayland. You need a windowing system because the hellogl_es2 encapsulates an QGLWidget within another widget. Better is to use QT5 + QML. I will give it a try. And probably your error is because you have to edit the file qtbase/mkspecs/devices/linux-imx6-g++/qmake.conf and add -mfloat-abi=hard in IMX6_CFLAGS. Give it a try. Re: Building QT for i.MX6 AFAIK the qt-in-use-image only produces a rootfs for Qt 4.8 - but still the version should be good enough to compile the hellogl_es2 example. I tried to compile the application with my Qt 5.1.1 toolchain (see link in my previous comment) but it didn't work - gnu/stubs-soft.h wasn't found... I didn't recognize this error before and don't know how to handle this - so sorry, I cant help you with that Re: Building QT for i.MX6 Hey I am experimenting with Yocto and my Mx6 Board. I am using dora and I used qte-in-use-image to "bake" an image. I want to experiment with QT + OpenGL using the framebuffer. I disable X11 and Wayland with the flag: DISTRO_FEATURES_remove = "x11 wayland" on my local.conf I am able to run the vivante vdk examples but I have not being able to run the hellogl_es2 example from OpenGL. I get a pitch black rendering. Have you being able to run the OpenGL examples from QT? Re: Building QT for i.MX6 Hello Bradley, I'm starting with IMX6 and Qt. I followed the instructions but I'm having the same issue as yours. I have the same directories after the install, nothing more, and some errors during "make" and "make install". Did you find a solution to build Qt4.8 for the IMX6? Nicolas Re: Building QT for i.MX6 Hi, I solved that issue. It would be a good choice to comment out those code which reports “EGLFS: OpenGL windows cannot be mixed with others”, that would make it fine. Kind regards Richard Chen Re: Building QT for i.MX6 I would suggest everyone who uses already YOCTO for their images to also use it to compile Qt See for a working Qt5 tutorial here: Everyone who doesn't use YOCTO not 'til now: DO IT :smileygrin: read more about it in the Yocto Training - HOME If you want to use Qt4, you can do this even easier because of the different layers that YOCTO delivers... for the board: qt-in-use-image or qte-in-use-image as toolchain: meta-toolchain-qt or meta-toolchain-qte Have fun! Re: Building QT for i.MX6 Hi, xicai chen. I have the same problem with hellowindow application in Qt 5 (EGLFS: OpenGL windows cannot be mixed with others) You solved it? Re: Building QT for i.MX6 As I noticed that there is a patch file 0001-add-i.MX6-EGL-support.patch for Qt 4.8, however, there is not such a patch for QT5. Did you miss it? There might be a similar patch to Qt5. As I tried the hellowindow application in Qt 5.1, I got error log as follow. Do you have any hints? QIconvCodec::convertFromUnicode: using Latin-1 for conversion, iconv_open failed QIconvCodec::convertToUnicode: using Latin-1 for conversion, iconv_open failed QEglFSImx6Hooks will set environment variable FB_MULTI_BUFFER=2 to enable double buffering and vsync. If this is not desired, you can override this via: export QT_EGLFS_IMX6_NO_FB_MULTI_BUFFER=1 EGLFS: Unable to query physical screen size, defaulting to 100 dpi. EGLFS: To override, set QT_QPA_EGLFS_PHYSICAL_WIDTH and QT_QPA_EGLFS_PHYSICAL_HEIGHT (in millimeters). EGLFS: OpenGL windows cannot be mixed with others. Aborted Re: Building QT for i.MX6 First: I'm a very beginner in developing software for Linux Embedded. So may be my questions are very basic. I'm sorry for that. I need to cross-compile a QT 5 program from a PC based Ubuntu system to a i.MX6 board. I already built the O.S. for the board following the instructions of the page "https://github.com/Freescale/fsl-community-bsp-platform". Now I'm trying to set up QT following the https://community.freescale.com/docs/DOC-94066 document, i.e. this page. I did step 1, 2, 3 and 4. At step 5 gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12 is referenced. Where can I find it? I looked for it on http://www.linaro.org/ site but I didn't find it. Thanks! Re: Building QT for i.MX6 Hi, I would like to cross compile tool chain and prebuilt rootfs based on ltib to cross compile Qt5.x for IMX6 Sabre AI board. Please let me know where can I download the same so that I can use the same cross compiler tool chain and rootfs used in this thread. Thanks, Ramakanth Re: Building QT for i.MX6 Thanks Juha, It seems with latest version of qtdeclarative this issue is fixed Thanks again Re: Building QT for i.MX6 That's a real bug in Qt, see workaround in: https://bugreports.qt-project.org/browse/QTBUG-34065 (I would guess you are actually compiling post 5.1 version, 5.1.1 should compile just fine. If you cloned the qt5 sources remember to checkout the appropriate git tag to get 5.1.1) Re: Building QT for i.MX6 Hello, I have following problem during build of latest Qt5.1 compiler/qv4isel_masm_p.h: In member function 'void QQmlJS::MASM::Assembler::storeUInt32(JSC::AbstractMacroAssembler<:armassembler>::RegisterID, QQmlJS::MASM::Assembler::Pointer)': compiler/qv4isel_masm_p.h:1212:63: error: 'convertUInt32ToDouble' was not declared in this scope compiler/qv4isel_masm_p.h: In member function 'void QQmlJS::MASM::InstructionSelection::convertUIntToDouble(QQmlJS::V4IR::Temp*, QQmlJS::V4IR::Temp*)': compiler/qv4isel_masm_p.h:1491:18: error: 'class QQmlJS::MASM::Assembler' has no member named 'convertUInt32ToDouble' compiler/qv4isel_masm_p.h:1493:18: error: 'class QQmlJS::MASM::Assembler' has no member named 'convertUInt32ToDouble' compiler/qv4isel_masm.cpp: In member function 'virtual void QQmlJS::MASM::InstructionSelection::visitRet(QQmlJS::V4IR::Ret*)': compiler/qv4isel_masm.cpp:1978:22: error: 'class QQmlJS::MASM::Assembler' has no member named 'convertUInt32ToDouble' compiler/qv4isel_masm.cpp: In member function 'JSC::AbstractMacroAssembler<:armassembler>::Jump QQmlJS::MASM::InstructionSelection::genTryDoubleConversion(QQmlJS::V4IR::Expr*, JSC::MacroAssemblerARM::FPRegisterID)': compiler/qv4isel_masm.cpp:2172:14: error: 'class QQmlJS::MASM::Assembler' has no member named 'convertUInt32ToDouble' Qt5 git version commit cb2d850b479fed9fed3c4a9fea698f924be942ef Author: Qt Submodule Update Bot <[email protected]> Date:   Tue Oct 15 22:00:06 2013 +0300 LTIB 4. Kindly let me know if you have solution? Thanks & Regards Re: Building QT for i.MX6 Hi,    My QT4.8 had been built success,but when I test the example in my target board,it shows error:    root@freescale /opt/qt4.8-arm-elink/examples/opengl/hellogl_es2$ ./hellogl_es2 -platform eglfs ./hellogl_es2: error while loading shared libraries: libQtOpenGL.so.4: cannot open shared object file: No such file or directory       what can I do to solve it? Re: Building QT for i.MX6 Hello, Building seems to work fine for me but when I try to start one of the example project I get this error: root@freescale /opt/qt5/examples/opengl/hellowindow$ ./hellowindow -platform eglfs QIconvCodec::convertFromUnicode: using Latin-1 for conversion, iconv_open failed QIconvCodec::convertToUnicode: using Latin-1 for conversion, iconv_open failed idr_remove called for id=2126092104 which is not allocated. [<8004f72c>] (unwind_backtrace+0x0/0x138) from [<8024d930>] (idr_remove+0x1f8/0x208) [<8024d930>] (idr_remove+0x1f8/0x208) from [<802bb51c>] (drm_ctxbitmap_free+0x24/0x30) [<802bb51c>] (drm_ctxbitmap_free+0x24/0x30) from [<802bba28>] (drm_rmctx+0x5c/0x10c) [<802bba28>] (drm_rmctx+0x5c/0x10c) from [<802bc064>] (drm_ioctl+0x2d0/0x3b4) [<802bc064>] (drm_ioctl+0x2d0/0x3b4) from [<8010b344>] (do_vfs_ioctl+0x80/0x558) [<8010b344>] (do_vfs_ioctl+0x80/0x558) from [<8010b854>] (sys_ioctl+0x38/0x5c) [<8010b854>] (sys_ioctl+0x38/0x5c) from [<80048600>] (ret_fast_syscall+0x0/0x30) Segmentation fault root@freescale /opt/qt5/examples/opengl/hellowindow$ Any clue about what this can be? Re: Building QT for i.MX6 Hi, all. When i test qt5 example on target board, (./hellogl_es2) I have below error. "This application failed to start because it could not find or load the Qt platform plugin "eglfs"." Please share any tip about this eglfs error. thank you. jessie. Re: Building QT for i.MX6 Hi Michael, If you're running under X, you really want X to be accelerated, not Qt, and you should probably just use apt-get to install it. Re: Building QT for i.MX6 Hi Michael, eglvivante.h is included by eglplatform.h, which is included by egl.h. Do you have the configuration patches:      qt4: Enable OpenGL ES2 support for i.MX6 · edcd4a6 · Freescale/meta-fsl-arm · GitHub Re: Building QT for i.MX6 Eric, still question: I have a SABRElite board, which runs freescale Ubuntu image with X-window desktop. Now I want to run a QT application on X-window of my devboard. This manual (Building QT for i.MX6) Is suitable for my task? Thanks! Regards, Michael Re: Building QT for i.MX6 Hi Eric! Thanks for your answer. Yes, I have these declarations in  EGL/eglvivante.h, but in my qt-4.8.4/src/plugins/platforms/eglfs/qeglfsscreen.cpp (after EGL support patch) I have no link to EGL/eglvivante.h Where I need to add the reference to EGL/eglvivante.h, in qeglfsscreen.cpp, in qeglfsscreen.h or in eglfs.pro? I added everywhere, but the effect isn't present, there is the same compilation error. >> Did you include gpu-viv-bin-mx6q in your LTIB configuration? I don't use a LTIB, I use a ready freescale Ubuntu rootfs image L3.0.35_4.0.0_UBUNTU_RFS from https://community.freescale.com/docs/DOC-94809 How to solve this problem? Thanks again! Regards, Michael Re: Building QT for i.MX6 Hi Michael, These declarations should be in EGL/eglvivante.h : ~/ltib4-nox/rootfs/usr/include$ grep -r fbGetDisplayByIndex * EGL/eglvivante.h:fbGetDisplayByIndex( Did you include gpu-viv-bin-mx6q in your LTIB configuration? Re: Building QT for i.MX6 Hi all! I followed the instructions to build QT4.8 for my target, Boundary's SABRElite board. Unexpectedly, in step 9 (Now need to build eglfs plugin), I got the compiling error qeglfsscreen.cpp: In constructor 'QEglFSScreen::QEglFSScreen(EGLNativeDisplayType)': qeglfsscreen.cpp:109:43: error: 'fbGetDisplayByIndex' was not declared in this scope qeglfsscreen.cpp:110:57: error: 'fbGetDisplayGeometry' was not declared in this scope qeglfsscreen.cpp: In member function 'void QEglFSScreen::createAndSetPlatformContext()': qeglfsscreen.cpp:181:95: error: 'fbCreateWindow' was not declared in this scope make: *** [.obj/release-shared/qeglfsscreen.o] Error 1 Any help? Regards, Michael Re: Building QT for i.MX6 Yeah, I am also thinking to build it using QT5 now, Anyway thanks for your replies cheers Regards, Sarjoon Re: Building QT for i.MX6 Sorry, no, hopefully there will be an update with build in QT5 support... I also tried to work out things with Qt4, but not much success there either... = ( with Regards, Zoltan Re: Building QT for i.MX6 rossdehmoobed Re: Building QT for i.MX6 Oh.. you have any idea regarding that. With Regards, Sarjoon Re: Building QT for i.MX6 Anyway thanks for the replay Zoltan Re: Building QT for i.MX6 No, I don't have those solved yet unfortunately... with Regards, Zoltan Re: Building QT for i.MX6 U mean you also had that input issue.. The issue I am facing is once after I run the demo application ./hellowindow -platform eglfs.. i cant give any input(I want to use touch). Nothing is working regarding touch.. I exported all the necessary Tslib variables and all. Did the library files which u found is anything to do with the touch issue.. You also mentioned "unfortunately they didn't solve all the problems" Re: Building QT for i.MX6 Hi I found some libs, https://github.com/zOrg1331/fsl-gpu-viv-mx6q/tree/master/usr/lib, but those are old, and unfortunately they didn't solve all the problems. Incompatibility issues remain. with Regards, Zoltan Re: Building QT for i.MX6 I also have the same problem, Did U find any solution ragarding this Re: Building QT for i.MX6 edit the build/conf/local.conf Re: Building QT for i.MX6 Thanks. Yes, I am running Ubuntu. I followed the article from the "Yocto With Boundary Device's Nitrogen6x: 5 steps only!" . I did not install all the necessary software on my system. I will do the installation as you point to me. Thanks again. Re: Building QT for i.MX6 Hi squirem, I got run bitbake fsl-image-gui, but I found the MACHINE=imx6qsabresd is not I wanted. My board is Nitrogen6x board from Boundary. How to change it to MACHINE=nitrogen6x? Could you please help? By the way, I need Qt4.8.4 libraries on the image. Does the building image has been added Qt4.8.4? Thanks, Re: Building QT for i.MX6 Are you sure you followed the steps outlined here: https://github.com/Freescale/fsl-community-bsp-platform Also, are you sure you have all the necessary software installed on your system. See the Yocto Project Quick Start Guide and look under packages: https://www.yoctoproject.org/docs/current/yocto-project-qs/yocto-project-qs.html I'm guessing you're running Ubuntu, which means this command would install the software you need: sudo apt-get install gawk wget git-core diffstat unzip texinfo \   build-essential chrpath libsdl1.2-dev xterm Re: Building QT for i.MX6 Hi, I followed the instructions and when I ran "bitbake core-image-minimal". It pop up following error. Pseudo is not present but is required, building this first before the main build ERROR: OE-core's config sanity checker detected a potential misconfiguration. Either fix the cause of this error or at your own risk disable the checker (see sanity.conf). Following is the list of potential problems / advisories: Please install the following missing utilities: gawk,chrpath Then I ran "apt-get install gawk  chrpath". It pop up info as below. The following packages were automatically installed and are no longer required: libp11-kit-dev libgpg-error-dev comerr-dev libqt3-headers libgnutls-openssl27 libkrb5-dev liblcms1-dev libgnutlsxx27 libgssrpc4 libxt-dev libxmu-dev libtasn1-3-dev libcups2-dev libqt3-compat-headers qt3-dev-tools libgcrypt11-dev libkadm5clnt-mit8 libaudio-dev libkadm5srv-mit8 libxmu-headers libkdb5-6 libgnutls-dev krb5-multidev Do I have to remove them using "apt-get autoremove     ......."? Re: Building QT for i.MX6 Hi Zoltan, i am having the same issue, also with another MPUs from several vendors. I have not solved it yet, but it looks like its a problem related with the rootfs, specifically with simlinks and lib paths. There is a nice guide for a raspberry-pi device which i tried, and worked nice, but only with the rootfs image they specified (raspbian wheezy image): http://qt-project.org/wiki/RaspberryPi_Beginners_guide When i tried to use my own rootfs, i have the problem you have had. Looks like the fix they propose could be the solution. That is to run a script to fix symlinks and libpaths, included in the croos-compiled-tools they provide. I tried that but with no succes. Eventhough, everywhere in the web looks like that old configures files, can be a really headache, so it's really important to clean the files generated in the configure. Here it's very important to say, that the only actual way to do that, is cleaning the repository with:     git submodule foreach --recursive "git clean -dfx" because "make confclean" doesn't really work in Qt5 and "make clean" only cleans ol the .o and others files, but no all the configurations generated with ./configure. So, to download a tar.gz and use this a source code, should not be an option for Qt5. Would really love to solve this problem with the imx6, using my own rootfs generated with buildroot (in my case). Any help? Regards, Santiago Re: Building QT for i.MX6 No @ -no-gcc-sysroot vs. -sysroot This was made for the freescale-linaro toolchain from ltib, because it doesn't allow you to set -sysroot as all the basic posix building-blooks were located within the toolchain and setting -sysroot in for gcc ruins it. So the combination  of '-sysroot' and '-no-gcc-sysroot' results in Qt5 to do some magic in the background (e.g. PKG variables) but doesn't result in adding '--sysroot' to the gnu flags Re: Building QT for i.MX6 Hi Joerg, Thanks for your replying my question. Currently I need to build QT4.8 on my image in LTIB. We shall late on consider the Yocto image since it has QT built in.  I googled and looked at the relate posts that mentioned needing to install libjpeg-dev. I wonder if any one in this thread knows how to fix? Re: Building QT for i.MX6 Hallo Bill, no need to do that for 4.8 Have a look at this https://community.freescale.com/message/339555#339555 Joerg Re: Building QT for i.MX6 Hi, I followed the instructions to build QT4.8 for my target, Boundary's Nitrogen6x board. Unfortunately, in step 8, when it was building, I got the compiling error "fatal error: jpeglib.h: No such file or directory". I wonder if you guys have any comment about the error listing below. cd "/home/byang/qt/./src/plugins/imageformats/jpeg" make Makefile make[4]: Entering directory `/home/byang/qt/src/plugins/imageformats/jpeg' make[4]: `Makefile' is up to date. make[4]: Leaving directory `/home/byang/qt/src/plugins/imageformats/jpeg' make[3]: Leaving directory `/home/byang/qt/src/plugins/imageformats/jpeg' make[3]: Entering directory `/home/byang/qt/src/plugins/imageformats/jpeg' arm-fsl-linux-gnueabi-g++ -c -pipe -O2 -O2 -march=armv7-a -mfpu=neon -DLINUX=1 -DEGL_API_FB=1 -fvisibility=hidden -fvisibility-inlines-hidden -D_REENTRANT -Wall -W -fPIC -DQT_NO_DEBUG -DQT_PLUGIN -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I../../../../mkspecs/qws/linux-imx6-g++ -I. -I../../../../include/QtCore -I../../../../include/QtNetwork -I../../../../include/QtGui -I../../../../include -I../../../gui/image -I.moc/release-shared -I/home/byang/ltib/rootfs/usr/include -I/tftpboot/rootfs/usr/include/arm-linux-gnueabi/ -o .obj/release-shared/qjpeghandler.o ../../../gui/image/qjpeghandler.cpp ../../../gui/image/qjpeghandler.cpp:71:21: fatal error: jpeglib.h: No such file or directory compilation terminated. make[3]: *** [.obj/release-shared/qjpeghandler.o] Error 1 Re: Building QT for i.MX6 Hi, I was recently trying to build QT5 for iMX6 board using the instructions above. rootfs: L3.0.35_4.0.0_UBUNTU_RFS configure: ./configure -v -opensource -confirm-license -no-pch -no-xcb -no-opengl -opengl es2 -make libs -device imx6 -device-option CROSS_COMPILE=/opt/gcc-linaro-arm-linux-gnueabihf-4.8-2013.06_linux/bin/arm-linux-gnueabihf- -sysroot /home/max/Dev/rootfs -no-gcc-sysroot -prefix /opt/Qt5-imx6 unfortunately I have the following error: /opt/gcc-linaro-arm-linux-gnueabihf-4.8-2013.06_linux/bin/../lib/gcc/arm-linux-gnueabihf/4.8.2/../../../../arm-linux-gnueabihf/bin/ld: error: opengles2 uses VFP register arguments, opengles2.o does not /opt/gcc-linaro-arm-linux-gnueabihf-4.8-2013.06_linux/bin/../lib/gcc/arm-linux-gnueabihf/4.8.2/../../../../arm-linux-gnueabihf/bin/ld: failed to merge target specific data of file opengles2.o ... /home/max/Dev/rootfs/usr/lib/libGAL.so: undefined reference to `XMapRaised' /home/max/Dev/rootfs/usr/lib/libGAL.so: undefined reference to `pthread_setspecific@GLIBC_2.4' /home/max/Dev/rootfs/usr/lib/libGAL.so: undefined reference to `_XReadPad' /home/max/Dev/rootfs/usr/lib/libGAL.so: undefined reference to `dlopen@GLIBC_2.4' /home/max/Dev/rootfs/usr/lib/libGAL.so: undefined reference to `pthread_key_delete@GLIBC_2.4' /home/max/Dev/rootfs/usr/lib/libGAL.so: undefined reference to `XPending' collect2: error: ld returned 1 exit status make: *** [opengles2] Error 1 OpenGL ES 2.x disabled. The OpenGL ES 2.0 functionality test failed! You might need to modify the include and library search paths by editing QMAKE_INCDIR_OPENGL_ES2, QMAKE_LIBDIR_OPENGL_ES2 and QMAKE_LIBS_OPENGL_ES2 in /home/max/Dev/repository/qt5/qtbase/mkspecs/devices/linux-imx6-g++. Then if I take out ES, I have: "Could not determine the target architecture!" Can somebody comment on this? Any help? Does the attached patch suppose to fix that? Thanks! Max Re: Building QT for i.MX6 Hello Brad, I will be the best someone who knows write a new Howto "Setup QT Creator" with Yocto based QT, rootfs and toolchain. But slowly I believe that no one really knows how to do that 😉 Joerg Re: Building QT for i.MX6 OK.  I used a link to ~/imx6/ltib/rootfs since I'm only doing NFS boot and I've already created a rootfs with LTIB. Running configure generates several errors. However, I am able to make and make install most of the files into /opt/qt4. But the second bullet in Step #12 makes no sense. Furthermore, there is no opt/qt4/examples directory.  Here is what is what is there: root@freescale /$ ls opt/qt4 bin      include  lib      plugins Any ideas of where I might be having problems.  I've followed the directions very carefully. Brad Re: Building QT for i.MX6 you  have to place  "/media/NameOfMountedRootFs"  as ROOTFFS Re: Building QT for i.MX6 I am trying to build Qt4 as per the instructions above. In Step #2 is this command: $ ln -s $(ROOTFFS) rootfs When I try to run it, it states that the variable "ROOTFFS: command not found." Any idea why this failed?  I tried ROOTFS and still had the same error. Is ROOTFFS the qt install directory?  Where is it defined?  It's not in my environment. Re: Building QT for i.MX6 It's on the master-next branch, so it's not ready quite yet. Re: Building QT for i.MX6 sure that Qt5 is added?  Witch repo to check out? dylan  and what to build? Joerg Re: Building QT for i.MX6 Follow the instructions that are in the documentation.  You can download the documentation package from freescale site. Re: Building QT for i.MX6 I have downloaded the Image (L3.0.35_4.0.0_130424_images_MX6)  How to put it on SD? Re: Building QT for i.MX6 I just checked what machines are supported in the BSP I linked to. It seems that your board nitrogen6x is supported, and there does appear to be a set of Qt4 recipes for the demo image you are referring to: Photo Album - Imgur Re: Building QT for i.MX6 So I can use a Image build with yocto? like fsl-image-gui-nitrogen6x.sdcard Re: Building QT for i.MX6 He is referring to the prebuilt images which can be found under the "Operating System Software - Board Support Packages" section of whatever chip you're using. In my case, for the SabreSD board: L3.0.35_4.0.0_DEMO_IMAGE You are right about LTIB and Yocto. Freescale is moving towards Yocto and the LTIB platform can be buggy. Use the Freescale community BSP instead: Freescale/fsl-community-bsp-platform · GitHub The instructions are in the link. After compilation, an SD card image is generated that can be directly copied to an actual SD card and will run on whatever board you're using. There is already full Qt4 support and Qt5 support is only recently being added (added about a week ago). Re: Building QT for i.MX6 Hi, what is the meaning of "The build is verified on prebuilt rootfs(based on LTIB) which can be downloaded from freescale.com"  I have to build it with ltib or can i download it?  When I can download it, please explain how to use it on host. To use LTIB makes little sense, because Yocto is preferred. I try now to do LTIB for a couple of days without success. regards Joerg Re: Building QT for i.MX6 Here's my configure script: #!/bin/sh ./configure -v -opensource -confirm-license -no-pch -no-xcb -opengl es2 \   -make libs -device imx6 \   -make examples -make demos \   -device-option CROSS_COMPILE=/home/squirem/Desktop/poky-dylan-9.0.0/build/tmp/sysroots/x86_64-linux/usr/bin/armv7a-vfp-neon-poky-linux-gnueabi/arm-poky-linux-gnueabi- \   -sysroot /home/squirem/Desktop/poky-dylan-9.0.0/build/tmp/deploy/images/mountpoint \   -prefix /opt/qt5 Notice I removed the -no-opengl and -no-gcc-sysroot options. I think the -no-opengl option conflicts with the -opengl es2 option and the -no-gcc-sysroot option conflicts with the -sysroot option. You may also notice I added the -no-xcb option since xcb wasn't working for me. As a side note, I think you can add more options to remove SQL support. Run ./configure -h to look at your options. Re: Building QT for i.MX6 Question: I follow the instruction as above to build QT5, but I found the configure command is incorrect to my environment. so I change the configure command as below: ./configure -v -opensource -confirm-license -system-sqlite -no-sse2 -no-sse3 -no-ssse3 -no-sse4.1 -no-sse4.2 -no-avx -no-xcb -no-sql-mysql -no-sql-db2 -no-sql-ibase -no-sql-oci -no-sql-odbc -no-sql-tds -no-sql-sqlite2  -no-pch -no-opengl -opengl es2  -wayland -make libs -device imx6 -make examples -make demos -device-option CROSS_COMPILE=/opt/freescale/usr/local/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/arm-fsl-linux-gnueabi- -sysroot /media/new-version/build/L3.0.35_4.0.0/ltib/rootfs -no-gcc-sysroot -prefix /usr/local/Trolltech/Qt5-imx6-1 It pass but I got problem when I run 'make' /opt/freescale/usr/local/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/arm-fsl-linux-gnueabi-g++ -Wl,-rpath-link,/media/new-version/build/L3.0.35_4.0.0/ltib/rootfs/usr/lib -Wl,--no-undefined -Wl,-O1 -Wl,-rpath,/usr/local/Qt-5.0.0/Qt5-imx6-1/lib -shared -o libqsqlmysql.so .obj/release-shared/main.o .obj/release-shared/qsql_mysql.o .obj/release-shared/moc_qsql_mysql_p.o  -L/media/new-version/build/L3.0.35_4.0.0/ltib/rootfs/usr/lib -L/usr/lib -Wl,-Bsymbolic-functions -rdynamic -L/usr/lib/mysql -lmysqlclient_r -L/media/new-version/build/ltib/rpm/BUILD/qt5/qtbase/lib -lQt5Sql -lQt5Core -lpthread  /opt/freescale/usr/local/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../lib/gcc/arm-fsl-linux-gnueabi/4.6.2/../../../../arm-fsl-linux-gnueabi/bin/ld: skipping incompatible /usr/lib/libpthread_nonshared.a when searching for libpthread_nonshared.a /opt/freescale/usr/local/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../lib/gcc/arm-fsl-linux-gnueabi/4.6.2/../../../../arm-fsl-linux-gnueabi/bin/ld: skipping incompatible /usr/lib/libc_nonshared.a when searching for libc_nonshared.a .obj/release-shared/qsql_mysql.o: In function `QMYSQLDriver::open(QString const&, QString const&, QString const&, QString const&, int, QString const&)': qsql_mysql.cpp:(.text+0x2cb4): undefined reference to `mysql_set_character_set' collect2: ld returned 1 exit status I have cancel the option of the mysql when configure the QT5! How to solve this problem? thanks! Re: Building QT for i.MX6 FAQ: Question: But I can not build qtdeclarative… ../qtbase/bin/qmake -r Project WARNING: Unknown build part(s): demos Reading /home/hp-lablinux/ltib_imx6solo_duallite/qt5/qtdeclarative/src/src.pro Reading /home/hp-lablinux/ltib_imx6solo_duallite/qt5/qtdeclarative/src/qml/qml.pro Project MESSAGE: /home/hp-lablinux/ltib_imx6solo_duallite/qt5/qtbase/bin/syncqt -module QtQml -version 5.1.0 -outdir /home/hp-lablinux/ltib_imx6solo_duallite/qt5/qtdeclarative /home/hp-lablinux/ltib_imx6solo_duallite/qt5/qtdeclarative = /home/hp-lablinux/ltib_imx6solo_duallite/qt5/qtdeclarative = /home/hp-lablinux/ltib_imx6solo_duallite/qt5/qtdeclarative Project ERROR: Unknown module(s) in QT_PRIVATE: v8 Not sure what the problem is? I have looked around but not find any useful hints. Do you have an idea? Solution: “modify this file qtbase/bin/qt.conf and add the correct prefix, the one given on cofigure *configure Re: Building QT for i.MX6 After running the configure command,  in the summary of supported features, OpenVG appears as not supported, is this normal or it means some library is missing on my side? Re: Building QT for i.MX6 Works like a charm. Thank you! My only issue is that my mouse or keyboard doesn't work when running with eglfs. does eglfs support user input?
View full article
i.MX Yocto Project: What Can I Do if I Run Into a Compilation Error? 1. When reusing the build directory, sometimes compilation errors are seen; to overcome these, a fast solution is to clean the Share State Cache of the particular recipe/package $ bitbake -c cleansstate 2. Re-run the recipe $ bitbake 3. Re-run the bitbake command you were running, before getting into trouble. For example: $ bitbake fsl-image-gui In case the problem persists, please send the log into the mailing list or check if this issue has been reported previously. Yocto Project Re: i.MX Yocto Project: What Can I Do if I Run Into a Compilation Error? Thanks Leonardo As a matter of fact, danny is not working on imx6 q sabre lite.  We write on another post saying that the compiled image has errors on start and they said to us that we must use dylan. We create a new directory and it will end compiling in a few miuntes ... I hope Thanks again  and best regards 08/13 dylan working. thanks Re: i.MX Yocto Project: What Can I Do if I Run Into a Compilation Error? Hi Diego, AFAIK, Danny branches are not updated anymore. In case you want the most update & stable branch, use Dylan branches (there must be a way to jump from branchs A to branches B using the repo command. In case there is no way, you need to 'repo -init -b dylan' again) Leo Re: i.MX Yocto Project: What Can I Do if I Run Into a Compilation Error? Hello I felt very sad about having to delete tmp directory. So I renamed it to tmp_no instead of deleting it. Then do the bitabke fsl-image-gui. The build process give us this warnings: WARNING: The recipe is trying to install files into a shared area when those files already exist. Those files are:    /home/dgg/rootfs_buider/build/tmp/sysroots/imx6qsabrelite/usr/include/GL/glx.h    /home/dgg/rootfs_buider/build/tmp/sysroots/imx6qsabrelite/usr/include/GL/glext.h    /home/dgg/rootfs_buider/build/tmp/sysroots/imx6qsabrelite/usr/include/GL/glu.h    /home/dgg/rootfs_buider/build/tmp/sysroots/imx6qsabrelite/usr/include/GL/gl.h WARNING: The recipe is trying to install files into a shared area when those files already exist. Those files are:    /home/dgg/rootfs_buider/build/tmp/sysroots/imx6qsabrelite/usr/include/GL/glxtokens.h and end the buiild process correctly ... and soon :smileyshocked: . After it, I understand that rename is not the same that delete. The process must be using yet the tmp_no directory and has been able to do something in the new directory. I am going to delete now the tmp_no directory and see what happens. Thanks Re: i.MX Yocto Project: What Can I Do if I Run Into a Compilation Error? Hello Leonardo Sorry. I forgot to answer your second question. danny is the branch we are compiling. We got a succesful compilation on a virtual machine but when we do, apparently, the same thing in a real linux, it failed. Thanks Re: i.MX Yocto Project: What Can I Do if I Run Into a Compilation Error? if the '-c cleansstate xserver-xorg' did not help, I think the next step is to remove the whole tmp folder (yes, it hurts ) . Regarding the colour question, somewhere on the setup this question is done, and I do not know who to change this setting. Again, what image are you building? if this issue happening on dylan branches? Re: i.MX Yocto Project: What Can I Do if I Run Into a Compilation Error? Hello and thanks Leo I think I can remember a cuestion about coloring test during installation process. I fear I have difficulty with some obscure letters and I answered 'No colors'. Do you think I can get back the cuestion? Testing and looking deeper I find that the directory containing the tmp\log.do_compile* files seems to be the recipe name: xserver-xorg-2_1.11.2-r11, in this case. But I did the cleanstate option and not get solved the problem. So I also wrote to the mailing list with the error. I can not find how to attach the log with the errors. These are the lines where the error comes: arm-poky-linux-gnueabi-libtool: compile:  arm-poky-linux-gnueabi-gcc -march=armv7-a -mthumb-interwork -mfloat-abi=softfp -mfpu=neon -mtune=cortex-a9 --sysroot=/home/dgg/rootfs_buider/build/tmp/sysroots/imx6qsabrelite -std=gnu99 -DHAVE_CONFIG_H -I. -I../include -I../hw/xfree86/os-support -I../hw/xfree86/os-support/bus -I../hw/xfree86/common -I../hw/xfree86/dri -I../mi -I../hw/xfree86/dri2 -DHAVE_DIX_CONFIG_H -Wall -Wpointer-arith -Wmissing-declarations -Wformat=2 -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Wbad-function-cast -Wold-style-definition -Wdeclaration-after-statement -Wunused -Wuninitialized -Wshadow -Wcast-qual -Wmissing-noreturn -Wmissing-format-attribute -Wredundant-decls -Werror=implicit -Werror=nonnull -Werror=init-self -Werror=main -Werror=missing-braces -Werror=sequence-point -Werror=return-type -Werror=trigraphs -Werror=array-bounds -Werror=write-strings -Werror=address -Werror=int-to-pointer-cast -Werror=pointer-to-int-cast -fno-strict-aliasing -D_BSD_SOURCE -DHAS_FCHOWN -DHAS_STICKY_DIR_BIT -I/home/dgg/rootfs_buider/build/tmp/sysroots/imx6qsabrelite/usr/include/pixman-1 -I/home/dgg/rootfs_buider/build/tmp/sysroots/imx6qsabrelite/usr/include/freetype2 -I../include -I../include -I../Xext -I../composite -I../damageext -I../xfixes -I../Xi -I../mi -I../miext/sync -I../miext/shadow -I../miext/damage -I../render -I../randr -I../fb -fvisibility=hidden -I/home/dgg/rootfs_buider/build/tmp/sysroots/imx6qsabrelite/usr/include/libdrm -I/home/dgg/rootfs_buider/build/tmp/sysroots/imx6qsabrelite/usr/include/libdrm -I/home/dgg/rootfs_buider/build/tmp/sysroots/imx6qsabrelite/usr/include/X11/dri -DGLX_USE_TLS -DPTHREADS -O2 -pipe -g -feliminate-unused-debug-types -c glxscreens.c  -fPIC -DPIC -o .libs/glxscreens.o In file included from ../include/privates.h:145:0,                  from ../include/pixmapstr.h:53,                  from ../include/windowstr.h:52,                  from glxscreens.c:37: ../include/dix.h:532:22: warning: redundant redeclaration of 'ffs' [-Wredundant-decls] In file included from ../include/dixstruct.h:28:0,                  from glxserver.h:42,                  from glxdricommon.c:38: ../include/dix.h:532:22: warning: redundant redeclaration of 'ffs' [-Wredundant-decls] In file included from ../include/privates.h:145:0,                  from ../include/cursor.h:54,                  from ../include/scrnintstr.h:54,                  from glxdriswrast.c:42: ../include/dix.h:532:22: warning: redundant redeclaration of 'ffs' [-Wredundant-decls]In file included from ../include/privates.h:145:0,                  from ../include/pixmapstr.h:53,                  from ../include/windowstr.h:52,                  from glxdri.c:40: ../include/dix.h:532:22: warning: redundant redeclaration of 'ffs' [-Wredundant-decls] In file included from ../include/dixstruct.h:28:0,                  from glxserver.h:42,                  from glxcmds.c:38: ../include/dix.h:532:22: warning: redundant redeclaration of 'ffs' [-Wredundant-decls] In file included from ../include/privates.h:145:0,                  from ../include/pixmapstr.h:53,                  from ../include/windowstr.h:52,                  from glxdri2.c:39: ../include/dix.h:532:22: warning: redundant redeclaration of 'ffs' [-Wredundant-decls] glxdricommon.c: In function 'createModeFromConfig': glxdricommon.c:141:32: error: 'GLX_RGBA_BIT' undeclared (first use in this function) glxdricommon.c:141:32: note: each undeclared identifier is reported only once for each function it appears in glxdricommon.c:143:32: error: 'GLX_COLOR_INDEX_BIT' undeclared (first use in this function) glxdricommon.c:147:33: error: 'GLX_NON_CONFORMANT_CONFIG' undeclared (first use in this function) glxdricommon.c:149:33: error: 'GLX_SLOW_CONFIG' undeclared (first use in this function) glxdricommon.c:151:33: error: 'GLX_NONE' undeclared (first use in this function) glxdricommon.c:156:42: error: 'GLX_TEXTURE_1D_BIT_EXT' undeclared (first use in this function) glxdricommon.c:158:42: error: 'GLX_TEXTURE_2D_BIT_EXT' undeclared (first use in this function) glxdricommon.c:160:42: error: 'GLX_TEXTURE_RECTANGLE_BIT_EXT' undeclared (first use in this function) Thanks again and best regards Re: i.MX Yocto Project: What Can I Do if I Run Into a Compilation Error? Usually when there is an error, the message is in red and it contains the name of the recipe/package. Can you post your log? What image are you building? Leo Re: i.MX Yocto Project: What Can I Do if I Run Into a Compilation Error? Hello I have bad luck and I run into a compilation error. The error comes at xserver compilation. How can I know the exact for that recipe? Thanks
View full article
Use LCD_D11 pin for enet reset in iMX28 Dear All,       Our board is designed based on both EVK and HEG (Adeneo Embedded Home Energy Gateway), the ENET_FEC_RESET_B on EVK is replaced by LCD_D11 as it on HEG. We have re-config all pins based on i.mx28 BSP and successfully built by ltib. However, eth0 is not working due to "PHY is not found"! and we are still trying to figure it out.       The changes we apply on the BSP are(in mx28evk_pins.c): in static struct pin_desc mx28evk_fixed_pins[]:       the definition of LCD_D11 change to { .name = "LCD_D11", .id = PINID_LCD_D11, /* PHY reset pin*/ .fun = PIN_GPIO,      .voltage    = PAD_3_3V,      .strength = PAD_8MA,      .output     = 0, },      and replace all "PINID_ENET0_RX_CLK" in mx28evk_pins.c by "PINID_LCD_D11"      To prevent any possible interrupt, we also disable all LCD pins in both mx28_pins.h and mx28evk_pins.c since we don't have LCD.      Any comment/suggestion is highly appreciate! BR, TF
View full article
AdeneoEmbeddedのCongatec WEC7 OpenGL Cube Demo(コンガテック WEC7 OpenGL キューブデモ) <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> ねえ君たち!これは、Adeneo EmbeddedのCube OpenGLのWEC7 Congatecボードのデモです。   楽しむ! (マイビデオで視聴)
View full article