Forum Replies Created
-
AuthorPosts
-
support
KeymasterHi,
Please check the Output window for further details on the error. If this does not help, please share the contents of the Output window here so that we could help you.
support
KeymasterGood to know. Let us know if you encounter further problems.
support
KeymasterHi,
Yes, please change the function declaration as follows:
static inline void __attribute__((__optimize__(0, "omit-frame-pointer"))) bootloader_util_reset(uint32_t start_addr)
support
KeymasterHi,
Sorry, but OpenOCD is quite fragile and we only support the Windows binaries that we built and tested ourselves. You are welcome to experiment with Linux builds of the ESP8266 of OpenOCD, but you’ll have to do trial-and-error to figure out what’s wrong.
support
KeymasterNo problem!
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?
-
AuthorPosts