Hacker News new | ask | show | jobs
by timemachine 1292 days ago
I’m not happy that this change has happened; however, since learning about how the BOOTSEL mode works under the hood I’ve been expecting news like this from one of the big two OS vendors.

While a sleek looking use case on the surface, mounting the PI as a fake, non-standards compliant, mass storage device is just a hack.

2 comments

I'm not sure which part of the standard you think they're violating but the Pi is presenting itself as a USB device. One that accepts a (limited) number of blocks of data, and can respond with blocks of data.

Drag and drop to program isn't the same thing as flashing an EPROM on a chip burner like we're still back in the 80's, but that's because time's moved on since then.

> I'm not sure which part of the standard you think they're violating

The part where you're not supposed return a successful Command Status claiming a write succeeded, when actually, you're dropping writes — to anything but a few specific blocks, and only if you see those writes in the order you expect — on the floor.

Oh whew, that's just some layer 7 concerns. I'd be interested in seeing where that's (that it must actually write those blocks) actually defined by in the spec and what language they use. I was worried my Pico was sending invalid blocks that didn't properly parse and was relying on undefined behavior to implement flashing.
It may be a hack but it isn’t a new idea. MBed DAPlink has had drag and drop programming for a long time. The STlink programmer also does this, so do the Segger J-links.