HN user

kbeckmann

46 karma
Posts1
Comments31
View on HN

64DD is something we would like to support fully eventually. Since the cart code is all written in C (+PIO), it opens up a lot of flexibility for implementations like this. Not everyone is well-versed in verilog/HDL, but there's plenty of C-coders out there, and iteration time is really fast (build-depoly-test cycle).

The project has just started. I made the proof of concept, and now I am building the full project. There's tons of work left to do. We are building a small community around this and any help is appreciated, be it programming, testing or just ideas/discussion. If you're interested to join in, just come by and say hi in the discord. Everything is, and will stay, open source (BSD-2-Clause).

You could swap the flash to 16MB, or use a third party (almost) pin compatible clone with 16MB flash if you really want. I implemented a very simple compression scheme as well so you can load 16MB ROMs that compress to a few kilobytes less than that, leaving room for the firmware.

Aha! Makes sense. The docs are usually great for git, but it wasn't clear to me that the args were passed on to git format-patch, where the -v parameter indeed is properly documented.

In the e-mail reply that you get when following the guide you get something to copy paste that looks like this:

    git send-email -v2 ... 
I tried to find documentation regarding the -v[0-9]+ parameter but couldn't find it at all. What am I missing in the docs? Seems a lot of guides recommend people to use this feature, however there is not a word regarding it in the git docs. It seems that it takes a positive integer as a parameter and adds it to the [PATCH v1] prefix in the subject.

Great guide but there seems to be a typo/mistake regarding how to save the smtp password in step 2/gmail: should use sendemail.smtpPass instead of the non existing sendemail.password.

Thanks for your quick reply!

This sounds like a good solution. I was trying to solve this problem on my own as well and ended up making a minimal kernel+afl image that I then boot multiple times using deduplication features in order to save RAM (I don't have 256 gig ram like you do in a proper server). Each instance ends up eating quite a lot of RAM even with a limited root filesystem so that's why I wanted to keep it low. I'm on a 2990wx rig which was kind of a disappointment from a fuzzing perspective because of the limited memory bandwidth, but that's for another discussion.

Do think it would be worth trying out that snapshot approach that I linked in the parent comment or it might not be worth it? I was thinking of rebasing their patch onto the latest master and getting it to work again - sadly the authors seem to have abandoned the project, at least there hasn't been any public changes since a year back.

This is awesome! I wish you all the best and hope that this takes off.

I am curious about how you use AFL under the hood - how do you scale? Do you use a shared kernel and run a worker process for each physical core, or do you do some virtualization or perhaps run with a kernel patch such as https://github.com/sslab-gatech/perf-fuzz/ ? My experience is that you will hit a wall pretty quickly unless you start multiple kernels by using virtualization, or simply having a very slow binary so you don't get a high number of execs/s to start with.

I miss this. I'm working with embedded C and we always end up nitpicking formatting in review. Using checkpatch helps, but is there something like Prettier for C? I'm aware of the tool called indent but it seems a bit arcane.

As far as I know, only the Freedom E310[1] chip is available for purchase by normal consumers. It's a microcontroller and only has 16kB of RAM so it's probably not really what you are looking for. But if you are still interested in it, you can pick up a HiFive1 devkit at crowdsupply[2] and possibly elsewhere. There's also the cheaper LoFive[3] which is a very bare breakout board for this chip, but I'm not sure if it's possible to buy it anymore.

[1] https://www.sifive.com/products/freedom-e310/

[2] https://www.crowdsupply.com/sifive/hifive1/

[3] https://groupgets.com/campaigns/353-lofive-risc-v

The zipcpu blog posts never ceases to amaze me, the content is so good. As a sw developer who plays around in verilog on my free time, the posts are extremely helpful to me. I just want to tip my hat to the author(s?), thanks!

Not a silly question at all. I would also like to know this. Would be a fun way to play around with assembly without the need of a tool chain etc. Maybe even on your phone while on the train. If this doesn't exist already, I'd be happy to start working on something like this.

Paper Planes 10 years ago

Same here, no matter how many planes i make, it always says 0 planes.

A new Curl logo 10 years ago

While on the subject, what is the difference between file:/path/to/file and file:///path/to/file ? Usually I only see the latter being used.