top | item 37895370

Semihosting with VS Code on RP2040

57 points| chrsw | 2 years ago |mcuoneclipse.com | reply

22 comments

order
[+] theanonymousone|2 years ago|reply
> We and our 721 advertising partners store and/or access information on your device and also process personal data, like unique identifiers, browsing activity, and other standard information sent by your device including your IP address.

And then there is no Decline or Settings button, but only "Learn More". I do not consider myself particularly sensitive about such stuff, but this one was too bold!

[+] isoprophlex|2 years ago|reply
I don't get it. You write a blog, likely for the joy of writing & showcasing your projects. Maybe as a vehicle to sell consulting services, books, or to spice up a resume. Hosting something with some text and pictures costs you pennies. People want to get in touch with you for some reason? Great. There's an email address at the bottom of the page.

Nowhere does this need bullshit analytics, ads, or worst of all selling visitor data to 721 adtech parties. Yet here we are...

[+] satoqz|2 years ago|reply
There is a "Disagree to all" button if you click "Learn More", but you only really find out about that after reading the entire popup. Quite hostile overall, yet I find the emphasis on the exact number of 721 advertising partners amusing.
[+] chrsw|2 years ago|reply
Sorry, I'm not aware of this issue. I submitted the link but I'm not the author of the blog. I work in embedded systems and I've been using reading Erich's blog for years. Semihosting is one of those less well known topics I thought I'd share. Is there a problem with the blog? I'm in the US and use Brave browser. I didn't notice a privacy issue.
[+] Pako|2 years ago|reply
Not just hostile but also illegal to be served to EU citizens under the GDPR.
[+] slau|2 years ago|reply
For folks not into embedded development, semihosting is sort of like remote debugging.

The application runs on the microcontroller, and the output is displayed in your IDE/terminal. Depending on the capabilities of the microcontroller and its development environment, value interpolation might not be fully operational, and step by step debugging can go from fully supported to barely able to support breakpoints.

[+] MrBuddyCasino|2 years ago|reply
Semihosting is afaik an ARM specific term. The advantage over UART & JTAG is performance I think, printing text is usually blocking & slow, while semihosting is using a ring-buffer I think?
[+] pjerem|2 years ago|reply
That’s what I guessed from the article, especially when I read that it only works with breakpoints but in this case is there a reason to not call this "debug mode" ? Because it sounds confusing.

Or maybe there are other usages than just debugging ?

[+] dazhbog|2 years ago|reply
After using Segger's RTT and SWO and stuff, nothing beats a plain old high speed UART pin for "basic" debugging. You can start up the UART, send your message and if there is inactivity after X milliseconds close the UART and the power consumption is back to microamps. It works with any micro and usb-serial chip so no lock-in with ARM or Segger related tools.

However for some tasks such as proper debugging, stepping, or inspecting interrupt vectors while printing messages fast, native tools are the way to go.

[+] zwirbl|2 years ago|reply
RTT can be used without SEGGER tools, I've used it with cargo embed and deferred formatting, so the logging has minimal impact on the overall system. Properly using UART with DMA is very close to the RTT experience though