• For those unfamiliar with this project:

    Baochip is a license-free RISCV implementation with MMU. It is custom CPU logic hitchhiked on another company's SOC. The SOC is dual CPU like the rp2340, but with the other CPU fused off.

    Xous is a an operating system that runs on the Baochip and an FPGA version of it.

    Precursor is a prototype mobile hardware secrets device. It has an FPGA that runs Xous and costs around $600. One of the core goals of the project is to make inspectable hardware.

    This baochip is the next step is to make prototype devices cheaper by running xous on the baochip instead of FPGA. The baochip is inspectable using a technique called IRIS.

    Bunnie is leading this project.

    • His talk at Teardown last year was excellent; I’m glad to see development is still going strong.
    • Is the case that captures all RF still planned for the productised Baochip?
    • Almost. SoC is a 1+4 design, with a vexriscv main core (350MHz), and 4 tiny "Baochip IO" PicoRV cores (700MHz) (somewhat akin to the ultra-puny Programmable IO/PIO cores on rp2350). The crowdsupply for this board just opened. For on vexriscv, which has been around: https://hn.algolia.com/?q=vexrisc

      This is an embedded chip, not a full on application core like an arm cortex A78. No GPU, 2mb+256k onboard ram + psram external. But like a rp2350 there are graphics drivers. It has a ridiculously fast for its class internal execute-in-place flash. A rather featureful MMU for a device of its small size, to support it's rust based borrow-checked memory OS. Tons of security & encryption features such as sha256/512, blake2/3, ECC ram, TRNG, etc. 22nm doesn't sound impressive by modern standards but is pretty good for a small embedded chip; rp2350 is 40nm.

      The BIO is going to be ridiculous. Fully cross barred to output and just ridiculously fast.

      Previous discussion from 47d ago on Xous, with Baochip X1 mentions, https://news.ycombinator.com/item?id=46619059 (183 points, 69 comments, nice)

      I want Oxide to start an RFD for evaluate changing their base processor to this ("Gimlet"). Much higher security than anything else available. Switching off Hubris is probably a non-starter, it probably lacks some nice/necessary peripherals, and major supply chain risk, but also, an incredible open source chip you could go deeper on.

  • https://youtu.be/DaWkfSmIgRs

    This talk from 3c explains the hardware and operating system side of the project.

  • Interesting: https://baochip.com/.

    I didn't know the concept of "Warrant Canary". [0]

    [0]: https://en.wikipedia.org/wiki/Warrant_canary

  • This is a really interesting project IMO, especially the BIO programmable IO system (similar to RPi's PIO but open).
  • Two cores and 22nm doesn't scream performance if this is a general purpose CPU.
    • Depends on your definition of general-purpose. It is much closer to RP2350 than to a Ryzen.

      Edit: except it has a MMU…

      • ..which is a huge thing because AFAIK most Cortex-A SoCs on the market are full of undocumented peripherals. Cortex-Ms are usually sufficiently documented that you can bring them up from scratch. Once you want a MMU it's either "use our mainlined Linux drivers full of dark magic" (if you are very lucky - perfect if you want Linux, less so if you are developing your own OS), "use our Linux kernel full of binary blobs" (if you are less lucky) or, as a rule, "sign a NDA and don't even bother us if you aren't a billion-dollar corporation".

        (Started it as a minor edit, then decided to elaborate so moved it to a new comment).

    • focus on Security over performance
    • It's not general purpose. The comparison section of the crowdsupply compares versus: https://www.crowdsupply.com/baochip/dabao#comparisons

        rpi rp2350 (2x cortex-m3)
        espressif esp32 (2x xtensa lx6)
        espressif esp32-c3 (riscv)
        nxp imxrt1062 (cortex m7) (from teensy 4.1)
        microchip samd21 (cortex m0+)
        microchip samd51 (cortex m4f)
        nordic nrf52833 (cortex-m4f)
      
      It is probably closest in spirit to a rp2350, which also famously has multiple powerful interesting i/o co-processors. rp2350 is 2+2 cpu+io-processor, baochip-1x is 1+4.

      baochip's bao io (BIO) coprocessors use a very slim risc-v core (picorv), compared to a very small bespoke state machine for the rp2350. Baochip also has an exceedingly capable set of hardware security peripherals. And a full MMU, which definitionally does make it something more than an regular embedded chip!!

      22nm doesn't sound like "much" I agree for a general purpose CPU. But rp2350 for example is 40nm. This is pretty ok for a embedded chip.