Forum Replies Created
-
AuthorPosts
-
CrzyRndmParticipant
Back after a few more experiments
- Figured out the intellisense issue: The ARM installer has spaces in the default install directory (both in the location, and the folder it creates). You definitely want to warn about that one (and preferably look at improving your tools to be agnostic to this. It’s not the first time I’ve run into weird bugs because of it). I had previously installed GCC8 in default location and when it linked me to the download page I just reused my existing install without thinking too hard about it.
- Installing mbed “out of source” (i.e. shared code location) doesn’t work (at least on a fresh install). You get to the page where it asks to choose toolchain and target, but the target list never populates. I hope however that is supposed to work co-exists with mbedignore (a clean build with all features takes about 3x longer to complete).
- The find/refresh toolchain button didn’t detect any of my GCC installs (GCC8 in default location, GCC8 under “C/SysGCC/8-2018-q4-major”, or GCC7 under “C/SysGCC/7.2.0”). GCC8 installs are “official”, GCC7 is one of the Sysprogs distributions.
- I can’t add the GCC7 install as a target toolchain. I select it’s …gdb.exe, but it never shows up in the list of selectable toolchains (GCC8 was added first. I suspect some ID is being duplicated)
- GCC8 discovery ran into a few issues when manually selected. GDB version is reported as “GCC (“, and the toolchain file is a LOT smaller than the GCC7 one (not sure how much is intended).
- Python 2.7 was forcibly installed, promptly displaying deprecation warnings on every action (newer version of mbed-cli are apparently 3.x compatible: https://github.com/ARMmbed/mbed-cli/issues/601)
More general feedback
- I can’t find an obvious location to change the project target. I can’t find an obvious way to manage the mbed repo without git directly. (mentioned here: https://sysprogs.com/w/introducing-advanced-mbed-project-subsystem/)
- Having to duplicate build settings (in the profile.json for mbed, again for intellisense in visualGDB) is quite irritating. It would be great if the json profile could be generated when settings are changed (I tweak build settings *a lot* to get the effects I need. Testing the impact of various optimisations, <dis/en>abling warnings and various other features (e.g. -flto). Having to think about what needs to be duplicated will slow down iteration)
- Project refreshes are quite slow, and seem to occur multiple times after project settings are modified (this is probably partly on mbed tooling)
- Build with no/minimal work is much slower (again, I blame mbed tooling for this. Just noting downsides to the change)
- Warnings when compile flags are missing for various support tooling (e.g. the “-g” above). IIRC, the embedded project would detect and prompt a change & rebuild if the relocatable functions flag wasn’t enabled with some tool (probably memory explorer, I use that a lot)
- More configuration warnings in general would be nice, it’s easy to miss something small and end up without an obvious solution (e.g. __cplusplus not set for intellisense, dissasembly only when debugging, no file names in memory explorer, no targets in project creation, …)
I am hopeful about this direction, and will continue to experiment and provide feedback.
CrzyRndmParticipantThe embedded memory explorer was initially displaying all of the allocations without any file links. I believe the cause was missing the “-g” in the command line arguments (also caused debugging to be disassembly only) but cannot be sure at the moment as I was tweaking many build args when it started working again. Are there any other build flags that would assist this tool?
RE: Release/Debug
The automatic switch worked fine, but it only works with the default mbed build profiles. I want to provide my own custom build profile (more warnings, lang versions, etc.), so I have to provide extra command line args and those appeared to be being shared (requiring me to manually change the args to switch between debug / release).
RE: __cpluplus
I will check and get back to you. I was tweaking the command line a lot that day, so it’s quite possible I got a bad cache
- This reply was modified 5 years, 8 months ago by CrzyRndm.
CrzyRndmParticipantI also can’t figure out how to fully set the C++ standard version for the intellisense engine. Defining -std=c++14/17 as an extra flag in the intellisense enables constexpr and friends, but still leaves “__cplusplus == 199711L” (C++98) which makes std::string_view and other library types show errors.
-
AuthorPosts