ACCount36 an hour ago

The thing I loathe the most about embedded work is dealing with silicon vendors and their boneheaded refusal to publish the fucking documentation and tooling.

  • junon 40 minutes ago

    Microchip in particular is very bad at developer experience and tooling. The only vendor I actually enjoy working with to any degree is ST, and only design boards using their uC's for that reason.

    I've heard good things about Nordic, though. Might try them out at some point.

    Microchip's own IDE and project generator spit out a hello world project that didn't even compile. NXP wouldn't even let me download their tooling even after their obfuscated sign up flow.

    • ACCount36 26 minutes ago

      True, and Microchip is still good when compared to the likes of Broadcom and Qualcomm.

anitil 11 hours ago

I'm really enjoying this series, and this one is a good example of how working with hardware can be really difficult as manufacturers aren't always fully open (or honest) about device's capabilities. But typically you don't find that out until you're already a long way through bring-up.

This was an impressive amount of research to get what he wanted out of the device!

  • Xss3 9 hours ago

    The same is common in software. A real nightmare for me was a client insisting their entire library was single threaded only to discover one small but aspect wasn't deep into development and debugging. Had to refactor a huge chunk of the project.

gregfjohnson 5 hours ago

On the topic of Microchip and secrecy: I downloaded and installed their IDE, MPLAB X IDE v6.20. It is for a pic3mx chip. The compiler looks like a completely generic gcc, built to cross-compile on a Windows host. However, they want a $1000.00 “licensing fee” in order to enable any optimization level above -O0. This seems wrong. Wouldn’t this be a violation of the copyleft license covering gcc? I’m guessing there’s some loophole, since otherwise EFF and folks would be going after them. Or perhaps they don’t know about this situation? Should I alert EFF to this situation

  • Tuna-Fish an hour ago

    The GPL in no way forbids that. However, if they are obeying GPL you can ask them for the source code and then remove that limit yourself. If you ask for the source and they don't give it to you, then alert GNU.

  • extraduder_ire 2 hours ago

    How much does it look like gcc? Can you run it on its own with a --version argument, or run it through strings to get the text out of it.

    If it's actually gcc, a copy of the GPL should have come with the software. A bunch of other compilers mimic a lot of its interface for compatibility’s sake.

  • stephen_g 2 hours ago

    Yeah I’m really not a fan - we had some designs with PICs on them and ended up switching to NXP micros (MCX-A and i.MX-RT) instead, partly because of MPLAB and also because the Microchip ones had some annoying quirks. NXP’s documentation I find a lot better too. I literally try to avoid Microchip where I can from the experience…

  • Cerium 5 hours ago

    It's been this way forever... They do distribute source (but last time I checked it is with incomplete build info). I think there is also some BS fine print about the licensing fee being for the provided header files.

  • msgodel 2 hours ago

    That's such a weird thing to do. MPLab used to be completely free to encourage people to use their chips.

  • fragmede 4 hours ago

    The GPL doesn't say you can't charge money for things. Do they provide patches for their changes to the source?

    • znpy an hour ago

      I think that the issue here is the following:

          - you can charge money for things
          - anything that's not built with the "official compiler" is not "supported"
      
      I've interviewed for a junior embedded software engineer when i was in university and when i started mentioning i had experience building cross-compilers i was immediately stopped by the guy interviewing me (he literally didn't even let me finish the sentence) and told me "Absolutely no. We don't want to maintain our own toolchain and we want everything to be coming from the BSP [Board support package] and integrated nicely with the vendor's IDE.

      They used ARM chips, so not even anything strange...

      The real issue would come if they did not provide the source code for the gcc build they sell you, though.

lttlrck 6 hours ago

Token ring was old in 1996 when my masters thesis focused on error handling behavior and simulation thereof.

I wonder if there are certain elements in certain "industrial complexes" that need to maintain or interface with legacy TR systems and that's why it's still hanging around in "dark silicon".

  • wokkel 3 hours ago

    What i know from the past is for realtime guarantees ethernet does not cut it. So you might be right.

    • MrBuddyCasino 2 hours ago

      AFAIK Ethernet is used for realtime audio distribution, so that can't be completely correct.

      • rbanffy 2 hours ago

        There is audio distribution real-time and nuclear reactor (or avionics, medical, etc) real-time. I assume the people doing (or certifying) the latter will want better guarantees.

  • badgersnake 5 hours ago

    There were still using it for the desktops at IBM when I was there in 2001, although they were starting to phase it out.

userbinator 6 hours ago

Microchip seems to be reasonably good at opening stuff up that it's bought from other companies; various Atmel security ICs which were previously very secretive now have full datasheets freely downloadable from their site.

kragen 8 hours ago

This is amazing.

Oh, no wonder this is so comprehensive and fearless. It's Andrew Zonenberg.

Taniwha 6 hours ago

This has generally been my experience of PHYs in general, lots of twisty passages all different

nemo8551 3 hours ago

I adore this series and other deep dives like it.

If anyone can suggest others I would be grateful.

RainyDayTmrw 7 hours ago

In perhaps a feat of nominative determinism, both the website and the feature are named serdes.

  • kmeisthax 6 hours ago

    SERDES is an acronym, it means serializer / deserializer, in the same way that MODEM is modulator / demodulator.