Forum Replies Created
-
AuthorPosts
-
support
KeymasterHi,
Thanks for the project, we have fixed the problem. Please try this build: http://sysprogs.com/files/tmp/VisualGDB-5.1.0.612.msi
support
KeymasterOK, we’ve compared our bootloader to the esptool.py once again and it looks like the only difference is that esptool.py retries the sync several times after each reset. Can you try replacing the Sync() method in the bootloader test tool with this:
public void Sync() { _Port.SetTimeouts(500, 1, 500, 0, 0); List<byte> syncMagic = new List<byte> { 0x07, 0x07, 0x12, 0x20 }; for (int i = 0; i < 32; i++) syncMagic.Add(0x55); for (int i = 0; ; i++) { try { if (i % 5 == 0) { _Port.EscapeFunction(SerialPortStream.CommFunction.CLRDTR); _Port.EscapeFunction(SerialPortStream.CommFunction.SETRTS); Thread.Sleep(5); _Port.EscapeFunction(SerialPortStream.CommFunction.SETDTR); _Port.EscapeFunction(SerialPortStream.CommFunction.CLRRTS); Thread.Sleep(5); _Port.EscapeFunction(SerialPortStream.CommFunction.CLRDTR); Thread.Sleep(5); } _Port.Purge(); RunCommand(Command.ESP_SYNC, syncMagic.ToArray()); for (int j = 0; j < 7; j++) RunCommand(Command.ESP_NO_COMMAND); _Port.SetTimeouts(5000, 0, 5000, 0, 0); return; } catch (Exception ex) { if (i >= 20) throw; Console.WriteLine("Exception: " + ex); Console.WriteLine("Extra output from COM port:"); for (;;) { byte[] data = new byte[512]; int done = _Port.Read(data, 0, data.Length); if (done == 0) break; Console.Write(Encoding.ASCII.GetString(data, 0, done)); } Console.WriteLine("-----------------------"); } } }
If this does not help, please try running this version of esptool.py and attach its output. It should show what is sent to the device and when the device replies.
support
KeymasterHi,
Thanks for the feedback, we will investigate the complexity of checking out .vgdbsettings and Makefiles prior to modification and add this feature to either 5.1 or 5.2.
Note that you can disable the creation of the .old files via Tools->Options->VisualGDB->General->Tweaking->Create .old files.
support
KeymasterYes, please refer to the following post: http://stackoverflow.com/questions/2222162/how-to-apply-gcc-fvisibility-option-to-symbols-in-static-libraries
December 16, 2015 at 21:01 in reply to: Cross-compiling Qt Embedded 5.5 for Raspberry Pi 2 – libicui18n.so.48 not found #7370support
KeymasterNo problem. We always try to be transparent about things we support and don’t support and we always welcome feedback.
Feel free to share your findings on the _48 problem and do not hesitate to ask for further advice if you get stuck.
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.
-
AuthorPosts