Forum Replies Created
-
AuthorPosts
-
support
KeymasterPlease try adding the -fvisibility options to COMMONFLAGS, not CFLAGS.
support
KeymasterThis should already be supported. If it does not work, can you reproduce it on a “Hello, World” project and send the project archive to us?
support
KeymasterPlease try adding -Wl,-verbose to the LDFLAGS and build your project again. Then check the build log for clues. If nothing helps, please try the black box approach – pick a project that links successfully and try eliminating the differences between that project and your current project one by one (source files, flags, softdevice, linker script) to see which one is causing the bug.
December 15, 2015 at 20:00 in reply to: Cross-compiling Qt Embedded 5.5 for Raspberry Pi 2 – libicui18n.so.48 not found #7358support
KeymasterHi,
We understand your frustration with the build. However the problem is that there are many libraries and platforms supported by VisualGDB, so if we wanted to ship prebuilt versions of various libraries, we would have to rise the VisualGDB license price or switch it to a subscription model, making it unacceptable for many users. Hence we decided to provide free cross-toolchains (that are especially tough to build), but leave building of third-party libraries not included in the distros to our users.
Regarding the “48” suffix, most likely some of the headers is hardcoding this version and it did not get updated during sysroot resync. You can pinpoint it as follows:
- Search the object files (.o) for the ucnv_getStandardName_48 function name
- Once located one file, delete it and build Qt again with verbose mode on
- Find an copy the command line used to build the .o file
- Replace the -c with -E and .o with .E and run the command line manually
- The .E file will contain preprocessed .cpp file (having all macros expanded). Search for ucnv_getStandardName_48 in the .E file to see where it comes from.
- Use the comments in the preprocessed file to pinpoint which header is causing this.
support
KeymasterHi,
Can you try hardwiring GPIO0 to ground so that it’s always set to 0? Does that fix the bootloader synchronization?
support
KeymasterHi,
Sure. If you encounter any problems, feel free to let us know.
December 15, 2015 at 01:59 in reply to: Cross-compiling Qt Embedded 5.5 for Raspberry Pi 2 – libicui18n.so.48 not found #7352support
KeymasterHi,
The Qt build does usually take a lot of time and multi-threaded build usually hangs due to a bug in MinGW. Sorry, this is a limitation of the MinGW-based toolchain and does not come from us.
We do offer a service of building tricky libraries and tools for our customers. If you want to sponsor building and testing a Qt5 build for the latest Raspberry Pi image, please contact our sales for a quote. Otherwise feel free to share any problems you encounter while building it and we will help you overcome them.
December 13, 2015 at 23:16 in reply to: Cross-compiling Qt Embedded 5.5 for Raspberry Pi 2 – libicui18n.so.48 not found #7346support
KeymasterHi,
It looks like you compiled your program against libicu18n version 48 and then updated your Raspberry PI image to libicu18n version 52.
Please delete the cross-compiled Qt, resynchronize the sysroot and build it again so that it is linked against version 52, not version 48.
support
KeymasterHi,
Strange. The boot mode should be “1,7” for the bootloader. Can you put breakpoints on the Sleep() calls after _Port.EscapeFunction() calls in the bootloader test program and check the state of GPIO0, GPIO2, GPIO15 and RESET at each sleep() call? Does it perform a device reset and does it hold the “UART Download Mode” (0/1/0) once reset is released?
support
KeymasterHi,
We don’t support it directly. However you can import a Ninja Build project to VisualGDB by selecting “Import a project built with other tools” in the wizard and specifying the build command line and the path to the built executable. VisualGDB will then invoke the command line you specified to build your project.
support
KeymasterOK, no problem. Let us know if you encounter problems with the arm-eabi toolchain.
support
KeymasterNo problem. Enjoy VisualGDB!
support
KeymasterHi,
The Qt framework has a bad habit of hardcoding various paths in the executables like qmake.exe, hence moving the toolchain to a different location would break everything.
The easiest workaround would be to make a symlink from c:\SysGCC to d:\SysGCC:
mklink /d c:\SysGCC d:\SysGCC
This way your files will be physically located in d:\, but you can still use the c:\SysGCC path to access them.
support
KeymasterHi,
Based on the log you provided it looks like the linker eliminates all code and data from the output image as it assumes it is all unused.
You can resolve this by adding a KEEP statement to the declaration of the interrupt vector table in your linker script. This will mark the vector table as used and will in turn bring in the reset handler, main(), and the functions called by it. You will also need to explicitly specify the entry point in your linker script so that gdb can jump to it automatically after programming your FLASH.
Please refer to our STM32 linker scripts for examples on the KEEP() statement and the entry point definition.
support
KeymasterHi,
Sorry to hear that. Building the kernel can be indeed tricky, but we tried to cover all the complexities in our kernel building tutorial. Did you encounter problems not mentioned there?
-
AuthorPosts