5 ms·
I find it very hard to believe NXP will open source their design, given that many of the logic blocks are probably used across their whole company. At best mayb
by veltas 5y ago
I find it very hard to believe NXP will open source their design, given that many of the logic blocks are probably used across their whole company. At best maybe they'll share code with Oxide under a hefty NDA.
- bcantrill 5y agoWell, we just want them to open the ROM, but yes. For whatever it's worth, they won't even let us look at the code, let alone share it: not that it's our preferred model (at all!), but we offered to review the code offsite in a disconnected room, etc. They were... not amenable.
- veltas 5y agoThe fact they're not willing to share it raises eyebrows... security through obscurity eyebrows.
- p_l 5y agoOr there are licensing issues - in some cases there might be non-transferable licenses for bits of things in the ROM that are held by NXP but which are problematic to show to someone not employed by NXP. Sometimes it also happens that company finds out they broke a license and there's no way to fix it silently...
- dboreham 5y agoMore likely just bureaucracy. All the agreements I've been involved with negotiating were worded to cover disclosure to contractors, third party security review, etc, provided such parties were covered transitively by the same disclosure restrictions as the licensee.
- R0b0t1 5y agoIt gets even worse. MS can't open source Windows because there's licensed third party components. A lot of silicon vendors can't open source their design for the same reason.
- mmoskal 5y agoI would think that the bootloader code wouldn't use any funky IP blocks - it's not some sort of driver code into which applications call, it's just a special application that runs before anything else. It has to be able to talk UART (or some other interface), check signatures, and write flash. All of these the user code can do as well. There are many "user-space" bootloaders as well for various chips. The factory bootloader is only different in that it sits in ROM. For example, RP2040 ROM bootloader is here https://github.com/raspberrypi/pico-bootrom https://github.com/raspberrypi/pico-bootrom