Close
0%
0%

Unix on your breadboard

RetroBSD on Fubarino SD board is a self-contained development system. See a demo for 6-digit LCD module.

Similar projects worth following
RetroBSD is a version of 2.11BSD Unix for microcontrollers. It can run on PIC32 in only 128 kbytes of RAM. The operating system includes nt only a set of basic Unix utilities, but also a C compiler, assembler, linker, libraries and include files sufficient to develop user applications directly on the target processor. Cross-compile is possible as well.

Fubarino SD is a small breadboad-friendly development board with PIC32MX795 processor and microSD card. It is a perfect board to run RetroBSD and use it for prototyping. Here you can see a demo for 6-digit LCD display module attached to Fubarino SD and controlled via GPIO driver.

RetroBSD can run on virtually any PIC32 board equipped with SD card. These boards are supported "out of the box":

To build a kernel for your custom board, you need to create a configuration file. Here is an example of kernel configuration: FUBARINO

Techically, RetroBSD can be ported to any 32-bit architecture, like ARM, AVR32, m68k and others. It does not require MMU, although some kind of memory protection is desirable. If you are interested in porting RetroBSD, you are welcome to join the project.

View project log

  • 1

    To build and run the LCD demo, follow these steps.

    Download the binary RetroBSD package for Fubarino from here: retrobsd-fubarino-2015-05-19.zip

    Alternatively, you can build everything from sources. Follow instructions on page: install-fubarino

  • 2

    Transfer the Unix kernel on to the Fubarino. Connect the board via microUSB cable to your computer. To enter a bootloader mode, press the PRG key first, hold it, then press the RESET key. The LED will now flash and your Fubarino is ready to accept new code. Use pic32prog utility to program the flash code. Fubarino in bootloader mode will appear as a virtual COM port on your computer. You will need to know the exact device name to specify for pic32prog (typically /dev/ACM0 on Linux, something like COM12 on Windows, /dev/tty.usbmodemfa131 on Mac OS X).

    Use proper binary for your operating system (included into above retrobsd-fubarino-2015-05-19.zip package):

    • pic32prog.exe - for Windows
    • linux32/pic32prog - for 32-bit Linux
    • linux64/pic32prog - for 64-bit Linux
    • macos/pic32prog - for Mac OS X.

    Unpack the package, go to retrobsd-fubarino-g226 directory and run command (say, for 64-bit Linux):

    linux64/pic32prog -d /dev/ttyACM0 unix.hex

    For Windows, it should be like:

    pic32prog -d COM12 unix.hex

    On Mac OS X:

    macosx/pic32prog -d /dev/tty.usbmodemfa131 unix.hex

    You should see:

    Programmer for Microchip PIC32 microcontrollers, Version 1.112
    Copyright: (C) 2011-2014 Serge Vakulenko Adapter: STK500v2 Bootloader Program area: 1d000000-1d07ffff Processor: Bootloader Flash memory: 512 kbytes Data: 153384 bytes Erase: done Program flash: ###################################### done Verify flash: ###################################### done Rate: 9307 bytes per second

    Perfect! You have installed RetroBSD on your Fubarino board.

  • 3

    Now transfer the filesystem image sdcard.img on to a SD card using a USB-to-SD reader. On Windows, use Win32DiskImager utility. On Linux or Mac OS X, run:

    sudo dd bs=32k if=sdcard.img of=/dev/XYZ

    where XYZ is a name of SD card on your computer (use lsblk or "diskutil list" to obtain).

    Once that is done remove the SD card from card reader and plug it into your Fubarino's SD slot. Your RetroBSD system is ready to run.

View all 7 instructions

Enjoy this project?

Share      

Discussions

Serge.V wrote 05/22/2015 at 08:02 point

Hi Jason,
I would be glad to add atom32 board to the list of supported targets. Waiting when a new atom32 variant will be available in our shop. 
Thanks,
--Serge

  Are you sure? yes | no

Serge.V wrote 05/21/2015 at 01:10 point

Hi Dan,

Unfortunately, DIP variants of PIC32 have not enough RAM to run RetroBSD. At least 128kbytes is needed, but mx270 has only 64kbytes. SPI SRAM cannot help, as it's not directly addressable.

Best wishes,
--Serge

  Are you sure? yes | no

Dan wrote 05/20/2015 at 21:50 point

Hi, is it possible to run RetroBSD on the 28pin DIP version of the PIC32 with an external SPI SRAM IC? 

http://www.microchip.com/wwwproducts/Devices.aspx?product=PIC32MX270F256B

Regards,

Dan

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates