4 ms·
DiscoBSD: 2.11BSD-Based OS for STM32 and PIC32 Microcontrollers
- guestbest 4y agoWith they had something like this for the esp32-cam. With a touchscreen, you could make a wireless pda
- yjftsjthsd-h 4y ago> This microcontroller-focused operating system is the continuation of RetroBSD, a 2.11BSD-based OS targeting only the MIPS-based PIC32MX7. DiscoBSD is multi-platform, as it also supports Arm Cortex-M4 STM32F4 devices. So is RetroBSD inactive, or is this an extension/fork to add more hardware targets?
- caned 4y agoSeems like a bit of both. Serge Vakulenko of RetroBSD has responded recently to issues filed on RetroBSD, but has stated that he has limited time to work on adding ports for other architectures. https://github.com/RetroBSD/retrobsd/issues/87 https://github.com/RetroBSD/retrobsd/issues/87
- dbuder 4y agoThis is great - I like RTEMS but I was looking for something like DiscoBSD when I found it Any comments on developing with either would be most appreciated
- nix23 4y ago> I like RTEMS Samesame ;)
- somat 4y agoFor them that are confused 2bsd is best thought of as 16 bit bsd, and as such it's development carried on for far longer than would be thought. I have to admit I am not sure why you need a 16 bit os for a 32 bit processer like the pic32. Best I can come up with is that because 16 bit is such a constrained memory space it runs well on small microcontrollers.
- actionfromafar 4y agoIt's not 16-bit as such. But since it's small enough to fit in 16-bit, it's small enough to fit on the small memory available on pic32. It's like what if you have an 80386. It can run Linux (which is 32 bit). But your 80386 only has 1 megabyte of RAM. Then you can run Minix! Minix is available both in 32 bit and 16 bit versions. You could run the 16 bit, but then you get all the 16-bit limitations, so you can run the 32 bit version of Minix. Still small, but you get the added benefits of larger integers and larger address space.
- caned 4y agoThe latter, but also 2.11bsd does not have virtual memory, and thus does not require an MMU. It was written with the segmentation features of a PDP-11 in mind, which so happen to adapt to PIC32 as it has kernel/user separation and memory protection via a kseg/useg segmentation (as opposed to a TLB with individual page protections).
- unwind 4y agoWow this is really cool! Seems to use flash and some ram for the kernel, and run userspace code from ram. But iiih it's K&R C: long strtol(nptr, endptr, base) const char *nptr; char **endptr; register int base; { Is this expected given the heritage? I know nothing about BSDs basically. Edit: code formatting.
- nix23 4y agoIt's based on BSD 2.11, released in 1991 ;) https://en.wikipedia.org/wiki/Berkeley_Software_Distribution#/media/File:Unix_history-simple.svg https://en.wikipedia.org/wiki/Berkeley_Software_Distribution...
- pjmlp 4y agoTo make it even more explictly how much it took for UNIX world to catch up with ANSI/ISO C89, while coding on HP-UX 11 back in 1999 - 2001, I still had to write K&R C as the aC compiler installed on the system wasn't fully compliant.
- caned 4y agoNote the included PIC32 simulator in tools/virtualmips, inherited from RetroBSD: https://github.com/RetroBSD/retrobsd#simulator https://github.com/RetroBSD/retrobsd#simulator