Giter Club home page Giter Club logo

baremetalisp's Introduction

baremetalisp

CI

demo

Serial Console

  • baud rate: 115200
  • no parity
  • 1 stop bit
$ screen /dev/tty.usbserial-0001 115200
ctrl-a d (detach)
$ screen -r (attach)
ctrl-a k (kill)

Dependencies

Trusted Firmware binary

and customized BL31 image, which is compiled from ATF

$ make PLAT=sun50i_a64 SPD=opteed bl31

BLisp

A statically typed programming language.

synctools

A library for synchronization.

memalloc

A memory allocator crate, which uses buddy and slab allocator.

Boot Image

Under Construction

SCP

$ export PATH="$PATH:/path/to/or1k-linux-musl-cross/bin/
$ git clone https://github.com/crust-firmware/crust
$ cd crust
$ export CROSS_COMPILE=or1k-linux-musl-
$ make pinephone_defconfig
$ make scp
$ ls build/scp/scp.bin
scp.bin

u-boot

For x86-64.

$ export CROSS_COMPILE=aarch64-linux-gnu-
$ export ARCH=arm64
$ git clone https://gitlab.com/pine64-org/u-boot.git
$ cd u-boot
$ git fetch origin v2021.04
$ git checkout v2021.04
$ cp /path/to/bl31.bin .
$ cp /path/to/scp.bin .
$ make distclean
$ make pinephone_defconfig
$ make all

Run on Qemu

Install qemu.

$ brew install qemu

Compile and run.

$ cd kernel
$ make BSP=raspi3
$ qemu-system-aarch64 -M raspi3b -kernel kernel8.img -serial stdio

baremetalisp's People

Contributors

nknk290854 avatar ytakano avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

baremetalisp's Issues

Typing Error: `data` is not defined

I've successfully compiled and run baremetalisp on QEMU using the steps specified in the README.
It displays the REPL prompt on the serial console and everything looks to be working fine, except I'm not able to define new ADTs.

Example:

(pid: 256) >> (factorial 10)
3628800
(pid: 256) >> (data (Maybe t) (Just t) Nothing)
1:2: Typing Error: data is not defined 5

Is there some limitation that I'm not aware of? Thanks!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.