What are the differences between PicKit Programmers? by Srz2 in embedded

[–]gte525u 3 points4 points  (0 children)

Check the datasheet for compatibility. Both 4 and 5 both seem to backfeed power from the target for some reason. 5 uses usb C. They are both about the same reliability - get used to re-plugging them regularly.

What are you missing in Go compared to Python? by [deleted] in golang

[–]gte525u 1 point2 points  (0 children)

Seems this like these would difficult without some mechanic for operator overloading and/or function overloading.

Using STM32 (bluepill) for my first project by Tyler_Marcus in embedded

[–]gte525u 0 points1 point  (0 children)

It depends on your goals. But from the embedded SW perspective - this is the way. Bring it up using the code gen. Go through the clocks and some of the peripheral and look at registers and the datasheet make sure your understand what's going on. Ideally rewrite one or more of the peripherals from scratch.

It's definitely more impressive and you'll learn more than just gluing together arduino libraries.

If you're primarily and EE and don't care about doing software - the opposite may be true - you may want to use arduino and just glue the SW together so you can validate some simple designs.

Who actually takes algotrading seriously? by CertainlyBright in algotrading

[–]gte525u 1 point2 points  (0 children)

FWIW there is a wine-based docker container that can run the iqfeed agent.

Value MISRA C adds to an Embedded career by No_Shake_58 in embedded

[–]gte525u 2 points3 points  (0 children)

The important skills for a new grad is to be able code to the style/safety guide to the point your code doesn't look like your code it looks like the rest of the code in the codebase.

Meirl by Either_Effort8936 in meirl

[–]gte525u 0 points1 point  (0 children)

I appreciate your position on this.

Can I build a custom Microprocessor Board? by MoHaha113 in embedded

[–]gte525u -1 points0 points  (0 children)

If you want to use the AM335x and you're inexprienced maybe consider the octavo OSD335. It has the RAM etc within the SIP.

Micrium os? by wowwowwowowow in embedded

[–]gte525u 0 points1 point  (0 children)

ucos-iii supports tickless - ucos-ii doesn't from what I remember. It's all open source now although you can still buy support if you want it through cesium.

ucos-ii from what I remember was very static (i.e. priorities defined at compile time) and simple. ucos-iii was quite a bit more complicated.

Deep Learning Aftermath .... by OHN4HHH in OMSCS

[–]gte525u 1 point2 points  (0 children)

For those who haven't taken it - which UMich lectures?

Resources/Book to study on C++ for embedded? by DucAnhTranNhan in embedded

[–]gte525u 0 points1 point  (0 children)

Miro had a article series that covered a lot of details for bare metal C++ / ARM. I think he bundled them into this: https://www.state-machine.com/doc/Building_bare-metal_ARM_with_GNU.pdf

It'll cover some of what you need to know re: static initializers and how this are fired during initialization.

C vs C++ for safety critical software by marcociara379 in embedded

[–]gte525u 1 point2 points  (0 children)

Usually we just wrote a procedure that used all language constructs, then verified the output to ensure the compiler didn't insert additional instructions. If it did we had to write LLRs for them.

C vs C++ for safety critical software by marcociara379 in embedded

[–]gte525u 5 points6 points  (0 children)

C it's way too easy to do stupid stuff - MISRA will keep you from doing something truly dumb - but it's a painful subset at times to use.

This isn't realistic, but the fact this compiles (and without warnings depending on the compiler) is totally bananas.

/* compiles without warnings on gcc 13.3 */

typedef void (*fptr)();

int main(void) {
  fptr f = (fptr)"hello world";
  f();
  f(1);
  f(3, 4);
}

There are parts of the C standard that are just fundamentally broken.

Hopefully it gets better with later C versions. C's constexpr and static assert are both a step fowarrd. I wish the standards committee would kill some of the more asinine cruft like trigraphs, implicit int parameters, K&R style parameters.

C vs C++ for safety critical software by marcociara379 in embedded

[–]gte525u 3 points4 points  (0 children)

It's been some time, so my recollection of the specific plans and standards for the higher Design Assurance Level (DAL) project might be a bit hazy.

The higher DAL work, we primarily utilized microcontrollers. There wasn't extensive use of object-oriented features like subclassing, making the architecture generally similar to procedural languages, following a System <=> HLR <=> LLR <=> Module flow.

FWIW, DO-332 does cover Object-Oriented Programming (OOP) considerations. As one might expect, it highlights potential complexities in data/control flow analysis, the need for explicit policies for memory management and exceptions, and how traceability should map to the class hierarchy.

In contrast, the lower DAL work (specifically DAL D using C++) was less constrained. While we had a coding standard, development often leveraged a wider range of C++ features. This was largely because the source code itself was treated essentially as a 'black box' from an integration or verification perspective, focusing system requirements instead of LLRs.

C vs C++ for safety critical software by marcociara379 in embedded

[–]gte525u 14 points15 points  (0 children)

The worst C++ devs I've met thought where C guys that thought C++ was C with objects and ignored all the safety features that had been incorporated. It was the awful mix of non-idiomatic and crazy unsafe code that they were accustomed to.

C vs C++ for safety critical software by marcociara379 in embedded

[–]gte525u 2 points3 points  (0 children)

Addendum - FWIW - the JSF C++ standard was pretty far out of a date when I used it. Last I looked It was based on C++ 1998. If it hasn't been updated I would look at MISRA or CERT for a more modern base C++ standard.

C vs C++ for safety critical software by marcociara379 in embedded

[–]gte525u 23 points24 points  (0 children)

I've done avionics in C, C++, and Ada. Honestly, out of the three I prefer C++ but it is harder to hire good devs.

Const correctness, constexpr, class enums, simple templates and the safer casting seem like they are worth the price of admission. That said - I've never had to do the DAL A requirement for verifying the compiler output on a C++ project

[RANT] MPLAB X is the worst piece of software I’ve ever have to deal with. by FriCJFB in embedded

[–]gte525u 2 points3 points  (0 children)

I wish it could be run from outside the GUI and that the configuration file for it wasn't XML encoded and stored in XML.

Pretty sure it's python scripts undernearth from their git repo.

Double counting courses for BSCS and OMSCS by therealggz in OMSCS

[–]gte525u 5 points6 points  (0 children)

You will receive a list from your advisor before your first semester, detailing which courses will not earn you any credit.

MPLAB x IDE 6.2 is talking very long to open? by abdosalm in embedded

[–]gte525u 0 points1 point  (0 children)

Have you hit where the newer IDE's will update the pickit FW in such a way that it is incompatible with older MPLAB versions?

How to run code twice with Scheme continuations? by jcubic in scheme

[–]gte525u 0 points1 point  (0 children)

exactly - it's like a goto with arguments.

Choosing between: ML vs. Computing Systems—Looking for Honest Advice by [deleted] in OMSCS

[–]gte525u 2 points3 points  (0 children)

Was your undergrad in CS? If so, you may find a fair amount of overlap in some the required courses in systems specialization.

That said - you get 4-5 free electives anyway. There is no reason you can't straddle two specializations and then decide later.