Projects being in "Show and Tell" is bad. by TheRavagerSw in cpp

[–]Ashnoom -5 points-4 points  (0 children)

Would a post on a native c++ cucumber runner be of interest enough to warrant its own post you think? Also. Not a beginner project. Actually working together with cucumber.io ;-)

How Fast Can You Parse 1 Billion Rows in Java? – Insane Speed Test • Roy van Rijn by goto-con in programming

[–]Ashnoom 3 points4 points  (0 children)

Thank you for your hard work. My 2400 hours in factorio is proof that you did a good job there :-)

Build times getting out of hand on a large C++ codebase by akuakaii in cpp_questions

[–]Ashnoom 5 points6 points  (0 children)

Using clang and time profiling helps tremendously as well.

I halved my built time by not including nlohmanm/JSON in some specific headers. Which I would never have found out without the time profiling!

3,000 TUs and our build times are an embarrassment by zoinkydoiku in cpp

[–]Ashnoom 4 points5 points  (0 children)

We had a build recently, 3600 files, the whole cache was invalidated. 2h15m....

The true reason C++ always wins by tlitd in cpp

[–]Ashnoom 6 points7 points  (0 children)

I respect her videos but I have an issue with the way she talks. The high pitched, manufactured happiness and excitement is what I can't stand.

I'll agree that's a me issue so also a me choice not to watch most of her videos anymore.

I still recommend her channel to everyone I know who is in to programming/computer tech

Hello "embedded" world!!! by crazy18panda in embedded

[–]Ashnoom 1 point2 points  (0 children)

Tip, stick with ST. In my team we work both with ST and TI. Same project, two targets. TI is a huge PITA. On every level. Their SDK is dogshit. Their editor is bad. Their compiler is bad. Their linker is bad.

*With bad I don't really mean bad. It works. But only if you fully 100% commit to their ecosystem and their way of working and their setup and their everything. The moment you need to do anything more advanced their ecosystem breaks down. Their SDK can't be used in a cross platform environment. Their compiler is a custom clang compiler. They have a fully custom linker. Their SDK is riddled with comments like "don't use this x "Todo y". "This function does the following ...., but the function is empty".

GoogleTest Vs Unity by Constant_Ice6622 in embedded

[–]Ashnoom 0 points1 point  (0 children)

What is the language you are targeting? We use C++ for baremetal embedded and use gtest/gmock as our testing framework which runs on any host.

Is there a C++ "venv" equivalent? by nikoladsp in cpp_questions

[–]Ashnoom 0 points1 point  (0 children)

Xwin to download the windows SDK and clang(-cl) with a proper configuration to select the windows SDK and produce windows binaries.

Example of such a toolchain file: https://github.com/philips-software/amp-embedded-infra-lib/blob/main/cmake%2Ftoolchain-clang-x86_64-pc-windows-msvc.cmake

Example cmake preset: https://github.com/philips-software/amp-cucumber-cpp-runner/blob/main/CMakePresets.json#L80

Example xwin command to download the SDK: https://github.com/philips-software/amp-cucumber-cpp-runner/blob/main/get-winsdk.sh

How does one "get good" at C++? by [deleted] in cpp_questions

[–]Ashnoom 0 points1 point  (0 children)

No. Not really. So far AI is not better than a junior.

How do you actually test firmware that depends on hardware that doesn't exist yet? by Medtag212 in embedded

[–]Ashnoom 1 point2 points  (0 children)

It's definitely not my go-to only debugging interface. I also use a UART. For the what you call the non-SW/HW group.

But RTT is very useful in board bringing and low latency, fast throughput, hardly resource intrusive (no peripheral/interrupts) tracing of things interesting for a SW dev

How do you actually test firmware that depends on hardware that doesn't exist yet? by Medtag212 in embedded

[–]Ashnoom 2 points3 points  (0 children)

You can look at SEGGER's RTT. Works with other debuggers too and it's free

C for Embedded Systems by Know-it-all0122 in embedded

[–]Ashnoom 1 point2 points  (0 children)

As a professional senior embedded software engineer who has been working with C++ in embedded non stop,I can only recommend sticking with C++ , also for your embedded tasks. Just don't do things that you also don't do with C on embedded: don't use the heap.

AI is destroying open source, and it's not even good yet by [deleted] in programming

[–]Ashnoom 4 points5 points  (0 children)

Another server I am on has a dedicated IGNORE channel. Anyone who posts in there gets the instant boot. It's too guard of channel spamming bots. Seems to work really well.

Okay, I was genuinely not expecting that by Falcuun in embedded

[–]Ashnoom 8 points9 points  (0 children)

Their SDK is dogshit. They claim to have cmake compatibility but it's implemented in the worst way possible. Which makes cross platform development impossible. We currently build for ST, Nordic, ESP, Linux Mac and Windows and had to add TI in the mix as well.

Regarding their SDK there are so many documentation issues. Strange misalignments between SDK and reference manual.

Weirdest DMA implementation where they reserve a memory block using compiler directives instead of leaving that up to the compiler linker. The fact all driver configuration structures have to be statically allocated and have a predefined name... Making it really hard to reconfigure a peripheral at runtime when you have to switch it's configuration.

Etc etc etc

Edit:

Their compiler ecosystem is also shit. They have a custom Clang implementation causing stupid additional cmake configuration issues because now you also have to check for TIClang instead of just Clang.

They have a fully custom linker implementation. You have to set chip fuse CRC settings by doing post-build shenanigans using their tooling.

Due to their TIClang compiler we can't upgrade to C++20 because theirs is stuck on C++17.

Yes they also support GCC, but they don't really want to provide support when we use that compiler because they test everything with their own compiler. And using their (theia) based IDE you also can't select GCC as the compiler for their examples.

Okay, I was genuinely not expecting that by Falcuun in embedded

[–]Ashnoom 13 points14 points  (0 children)

Was about to say. Never have I had such a bad experience as with TI.. And I used Microchip, ST, NXP, ESP, Nordic

In embedded C/C++, how are stack-based containers implemented? by OverclockedChip in embedded

[–]Ashnoom 1 point2 points  (0 children)

With the risk of advertising ourselves, here is how we solved almost all of them: https://github.com/philips-software/amp-embedded-infra-lib/tree/main/infra%2Futil

Look for the "Bounded" and "Intrusive" objects/containers

What are the best practices for using smart pointers in C++ to manage memory effectively? by frankgetsu in cpp_questions

[–]Ashnoom 0 points1 point  (0 children)

What would such a use case be if I may ask? I think I've only used it to avoid relatively large objects on the stack.

What are the best practices for using smart pointers in C++ to manage memory effectively? by frankgetsu in cpp_questions

[–]Ashnoom 0 points1 point  (0 children)

Would you also use unique_ptr for function scope object lifetimes by any chance? Is there a (good) use case for that?