support

Forum Replies Created

Viewing 15 posts - 6,346 through 6,360 (of 7,815 total)
  • Author
    Posts
  • in reply to: ESP8266 iram1_0_seg too Large #8097
    support
    Keymaster

    Sure, but please note that you do it at your own risk. Doing this may result in random crashes, bugs and strange behavior in production code.

    1. Enable the generation of a .map file in VisualGDB Project Properties
    2. Identify a particular symbol that you want to move to FLASH (json.a does not get included anywhere, so we’ll move ets_timer_arm_new that does). You can find the biggest symbols via Embedded Memory Explorer.
    3. Build the project and locate the symbol in the linker script:
       .text          0x4010016c      0x3d8 f:\SysGCC\esp8266\esp8266-bsp/IoT-SDK/lib\libmain.a(ets_timer.o)
                                      0x450 (size before relaxing)
                      0x40100244                ets_timer_setfn
                      0x40100328                ets_timer_disarm
                      0x401003d8                ets_timer_arm_new
    4. Copy libmain.a to libmain_fixed.a
    5. Run the following commands to extract ets_timer.o from libmain_copy.a, rename .text to .irom0.text and put it back:
      xtensa-lx106-elf-ar x libmain_fixed.a ets_timer.o
      xtensa-lx106-elf-objcopy --rename-section .text=.irom0.text ets_timer.o
      xtensa-lx106-elf-ar r libmain_fixed.a ets_timer.o
    6. Replace “main” with “main_fixed” in esp8266.mak (it will get reverted back once you edit anything in VisualGDB Project Properties, so you can instead rename libmain.a to libmain_orig.a and edit libmain.a).
    7. Check the map file to see how it got moved to ROM:
       .irom0.text    0x40240000      0x3e4 f:\SysGCC\esp8266\esp8266-bsp/IoT-SDK/lib\libmain_fixed.a(ets_timer.o)
                                      0x450 (size before relaxing)
                      0x402400dc                ets_timer_setfn
                      0x402401c4                ets_timer_disarm
                      0x40240278                ets_timer_arm_new
    support
    Keymaster

    The Output tab contains the error messages formatted so that Visual Studio can understand them. VisualGDB reads the messages from the compiler, recognizes them using regexes and prints them back using the format used by Microsoft’s compiler, so VS can display them.

    If you want to see the raw messages, simply run ‘make > log.txt 2>&1’ from the command prompt in your project directory and then look into the log file.

    Let us know if you need more details.

    in reply to: CLang intellisense bug? #8094
    support
    Keymaster

    OK, perhaps this is VS-specific? Which VS version are you using?

    in reply to: Raw terminal line ending style not saved #8093
    support
    Keymaster

    Hi,

    We are aware of that and will include a fix in the next maintenance release. If this is critical, we can also upload a daily build with this fix.

    in reply to: ESP8266 iram1_0_seg too Large #8092
    support
    Keymaster

    Hi,

    Yes, the libraries we provide (that come straight from the Espressif’s SDK) are compiled in a way that occupies most of the RAM. You can try hacking them (with extracting individual objects from .a files to .o files and renaming sections) to move some rarely functions from RAM to the IROM section.

    We have also heard people disabling the instruction cache and successfully using another 32K block of RAM after the first 32K, but we have not tried it ourselves and are not aware of the potential performance or stability impact.

    in reply to: ESP8266 non-os SDK or RTOS SDK #8091
    support
    Keymaster

    Hi,

    The ESP8266 is not very reliable and often needs some experimenting to get it to work. It’s also very sensitive to the power supply quality. In our tests it generated random problems when powered from the same USB port as the JTAG debugger and started working more reliably when we connected it to a separate 5V 2A power supply.

    As an alternative you can try the CC3200 microcontroller from TI. It is more expensive, but much more reliable.

    in reply to: Switch between debuggers #8090
    support
    Keymaster

    Hi,

    The easiest would be to create a copy of your configuration and configure different debugging settings there. Then you can simply switch between the Debug and Debug_JLink configurations in Visual Studio. You can modify the second configuration to have the same output folder name as the first one – then you will avoid the necessity to build everything twice.

    in reply to: Compression issue #8078
    support
    Keymaster

    Hi,

    No problem. Enjoy VisualGDB 🙂

    in reply to: ESP8266 #8076
    support
    Keymaster

    Hi,

    Cool. Thanks for the link. It currently looks like just a development build rather than an official release, so we are a bit hesitant to replace the previous RTOS libraries in the toolchain as it may introduce more bugs, especially given that it’s very easy to replace those manually after the installation. Once there is an official release from Espressif, we will gladly include it in our toolchain.

    in reply to: Compression issue #8075
    support
    Keymaster

    Hi,

    Yes, this makes sense. Normally if you are using a newer gdb version, the -thread-select should be automatically replaced with the –thread argument passed to -stack-list-frames, so you’ll get 3 commands. If you disable the “show arguments” and other similar settings in the call stack window, you’ll get only 2 commands that is pretty much the absolute minimum.

    in reply to: Automatic Installation of Raspberry Pi Toolchain #8074
    support
    Keymaster

    Hi,

    The toolchain is quite large, but it should normally download/install within minutes. Please try downloading it manually from http://gnutoolchains.com/.

    support
    Keymaster

    OK, VisualGDB now fully supports the OTA mechanism. It will automatically generate the OTA binaries, program them, configure the bootloader and can even serve the binaries over HTTP to the ESP8266 device. Read this tutorial for more details: http://visualgdb.com/tutorials/esp8266/ota/

    in reply to: Yocto-Linux #8065
    support
    Keymaster

    Hi,

    Then you should be able to configure VisualGDB similarly to the Edison tutorial. Let us know if you encounter any problems.

    in reply to: Yocto-Linux #8063
    support
    Keymaster

    Hi,

    Yes, as long as you have a cross-toolchain for your distro. E.g. see the Intel Edison tutorial: http://visualgdb.com/tutorials/linux/edison/

    You can also compile your code directly on the device or order a cross-toolchain from us if you don’t have one.

    in reply to: ESP8266 #8062
    support
    Keymaster

    Hi,

    Thanks for letting us know. We actually used the latest SDK from Espressif. Could you post a link to the update you have used so that we could include it in our toolchain as well?

Viewing 15 posts - 6,346 through 6,360 (of 7,815 total)