Forum Replies Created
-
AuthorPosts
-
March 28, 2021 at 12:27 in reply to: Add option to add newlib-nano/syscalls.c for stm32cubemx projects without FreeRT #30264dave93cabParticipant
If I create an STM32CubeMX project, what is the easiest way to enable semihosting to use printf etc.? You don’t get the options for newlib-nano, generate system call stubs etc. with this project type
Thanks
EDIT: totally forgot I made a simalar post the other week, saw your reply and installed the 4073 build, thanks for that!
After installing that, if I enable Support Semihosting, I can include stdio and printf works, but if I enable fast semihosting I still get the errors about _sbrk etc. With both enabled I get the “multiple definition of _isatty” error like in the tutorial, so I will keep this post for that.
dave93cabParticipantFound a GPO to allow creation of symlinks, and it’s working. Thanks again
dave93cabParticipantThat worked but I am assuming that running VS as Administrator is not usually required? I will look into it further, thanks for the help
dave93cabParticipantThere’s not much in the log when I try to build it
Attachments:
You must be logged in to view attached files.dave93cabParticipantAh ok so when I created a new project without ccache enabled I see the cyan, and that does export the command to batch file. I was clicking on the red error line, there is no cyan when ccache is enabled
dave93cabParticipantWhere does the dump to batch file save the file? Doesn’t appear to do anything and I checked in the project folder. Thanks
dave93cabParticipantWasn’t using the ARM toolchain, manually selecting that fixed it.
EDIT: no it didn’t, sorry. will follow your advice above
- This reply was modified 3 years, 10 months ago by dave93cab.
dave93cabParticipantDid you install libusb driver for your debugger
dave93cabParticipantFYI updated to 20190603 ESP32 debug package and it doesn’t work.
Thanks
dave93cabParticipantHere is output from openocd as provided by espressif:
PS C:\msys32\home\dave\esp\openocd-esp32> .\bin\openocd.exe -s .\share\openocd\scripts\ -f interface/ftdi/tumpa.cfg -f board/esp-wroom-32.cfg Open On-Chip Debugger v0.10.0-esp32-20190313 (2019-03-13-09:57) Licensed under GNU GPL v2 For bug reports, read http://openocd.org/doc/doxygen/bugs.html none separate adapter speed: 20000 kHz Info : Configured 2 cores esp32 interrupt mask on Info : Listening on port 6666 for tcl connections Info : Listening on port 4444 for telnet connections Info : ftdi: if you experience problems at higher adapter clocks, try the command "ftdi_tdo_sample_edge falling" Info : clock speed 20000 kHz Info : JTAG tap: esp32.cpu0 tap/device found: 0x120034e5 (mfg: 0x272 (Tensilica), part: 0x2003, ver: 0x1) Info : JTAG tap: esp32.cpu1 tap/device found: 0x120034e5 (mfg: 0x272 (Tensilica), part: 0x2003, ver: 0x1) Info : esp32: Debug controller 0 was reset (pwrstat=0x5F, after clear 0x0F). Info : esp32: Core 0 was reset (pwrstat=0x5F, after clear 0x0F). Info : esp32: Debug controller 1 was reset (pwrstat=0x5F, after clear 0x0F). Info : esp32: Core 1 was reset (pwrstat=0x5F, after clear 0x0F). Info : Detected debug stubs @ 3ffb26a4 on core0 of target 'esp32' Info : Listening on port 3333 for gdb connections
And here is same command executed is visualgdb folder:
PS C:\Users\dave\AppData\Local\VisualGDB\EmbeddedDebugPackages\com.sysprogs.esp32.core\bin> cd .. PS C:\Users\dave\AppData\Local\VisualGDB\EmbeddedDebugPackages\com.sysprogs.esp32.core> .\bin\openocd.exe -s .\share\openocd\scripts\ -f interface/ftdi/tumpa.cfg -f board/esp-wroom-32.cfg Open On-Chip Debugger 0.9.0 (2019-01-11) Licensed under GNU GPL v2 For bug reports, read http://openocd.org/doc/doxygen/bugs.html none separate adapter speed: 20000 kHz esp32 interrupt mask on PS C:\Users\dave\AppData\Local\VisualGDB\EmbeddedDebugPackages\com.sysprogs.esp32.core> .\bin\openocd.exe -s .\share\openocd\scripts\ -f interface/ftdi/tumpa.cfg -f target/esp32.cfg Open On-Chip Debugger 0.9.0 (2019-01-11) Licensed under GNU GPL v2 For bug reports, read http://openocd.org/doc/doxygen/bugs.html none separate Info : auto-selecting first available session transport "jtag". To override use 'transport select '. esp32 interrupt mask on PS C:\Users\dave\AppData\Local\VisualGDB\EmbeddedDebugPackages\com.sysprogs.esp32.core>
replacing bin and share in visualgdb folder seems to have worked. Any issues running this way?
Thanks
- This reply was modified 5 years, 6 months ago by dave93cab.
dave93cabParticipantI also get this when I try to use the regular embedded project wizard:
I can’t help but think my install is borked or something..
VisualGDB version: 5.4.105.3154
------------------ hb+q ------------------
hb+q: Failed to start process (C:\SysGCC\esp32\opt\xtensa-esp32-elf\bin\make.exe -v): The system cannot find the file specified ---> System.ComponentModel.Win32Exception: The system cannot find the file specified
at System.Diagnostics.Process.StartWithCreateProcess(ProcessStartInfo startInfo)
at System.Diagnostics.Process.Start()
at hb.n()
--- End of inner exception stack trace ---
at hb.n()
at pm1.l1(gf1 e, String c, String b, String a, ExpandedEnvironment d, CommandFlags f)
at he.v1(String c, String b, String a, ModifiedEnvirionment e, lq1 d, Int32 f, CommandFlags g)
at er1.b(he g, String c, ModifiedEnvirionment h, Regex i, Regex e, Int32 d, lq1 a, Boolean f, String b)
at er1.e(he c, String a, ModifiedEnvirionment e, lq1 b, Boolean d)
at ji1.n(bd1 a, Dictionary`2 b)
at xm1.g(bd1 a)
at VisualGDB.Common_GUI.WPF.ItemizedProgressWindow.<>c__DisplayClass2_2`1.<RunAction>b__0()
------------------ Inner exception ------------------
------------------ System.ComponentModel.Win32Exception ------------------
System.ComponentModel.Win32Exception (0x80004005): The system cannot find the file specified
at System.Diagnostics.Process.StartWithCreateProcess(ProcessStartInfo startInfo)
at System.Diagnostics.Process.Start()
at hb.n()
Attachments:
You must be logged in to view attached files.dave93cabParticipantSorry for being spammy, I can’t seem to edit my posts. I updated the makefile manually like so:
$(BINARYDIR)/main.o : Src/main.c $(all_make_files) |$(BINARYDIR)
$(CC) $(CFLAGS) -x c++ -c $< -o $@ -MD -MF $(@:.o=.dep)
If someone has a better solution let me know. I know I should be declaring my classes outside of main.c, am a bit of a noob just messing around. Cheers
dave93cabParticipantDisabled resharper and that solved the uint32_t issue.
Renaming main.c to main.cpp solved the adding a class issue. Regenerating with stm32cubeMX creates a brand new main.c file though instead of merging with the existing one..
-
AuthorPosts