Tarides Research Project: OCaml bytecode running on the nRF52 embedded platform, using the standard OCaml runtime with RIOT OS.
  • C 90.1%
  • C++ 3.6%
  • Makefile 2.3%
  • Python 2%
  • Linker Script 1%
  • Other 0.9%
Find a file
2021-09-30 14:22:48 +02:00
.circleci .circleci: use riot/static-test-tools Docker image 2021-01-14 19:08:15 +01:00
.github gh_actions: add step for riotboot_serial 2021-07-20 22:51:59 +02:00
boards Merge pull request #16694 from benpicco/boards/saml21-xpro_EXT3 2021-07-30 14:55:28 +02:00
bootloaders riotboot: factor out common Makefile parts 2021-07-20 22:51:56 +02:00
core Merge pull request #16098 from kfessel/p-remove-lifo 2021-06-15 13:55:30 +02:00
cpu cpu/saml21: uart: disable fractional baud rate 2021-07-30 11:28:02 +02:00
dist Merge pull request #15493 from benpicco/riotboot-serial 2021-07-21 11:01:31 +02:00
doc doc/doxygen: increase DOT_GRAPH_MAX_NODES to 275 2021-07-27 21:20:34 +02:00
drivers Merge pull request #16533 from jia200x/pr/submac_fixes 2021-08-04 16:53:58 +02:00
examples First 2021-09-08 11:11:37 +02:00
fuzzing gnrc_tcp: add listen/accept 2021-07-08 09:40:02 +02:00
kconfigs drivers/periph/uart: add periph_uart_rx_start feature 2021-07-27 16:29:30 +02:00
makefiles First 2021-09-08 11:11:37 +02:00
ocaml-nrf52 Mostly working 2021-09-27 13:53:36 +02:00
pkg Merge pull request #16708 from fjmolinas/pr_edhoc_c_bump 2021-08-06 09:26:28 +02:00
sys First 2021-09-08 11:11:37 +02:00
tests Merge pull request #16708 from fjmolinas/pr_edhoc_c_bump 2021-08-06 09:26:28 +02:00
.bandit
.drone.yml .drone.yml: remove mcu groups from the build test matrix 2019-06-14 11:32:15 +02:00
.DS_Store First 2021-09-08 11:11:37 +02:00
.gitattributes
.gitignore .gitignore: add *.plist and .cache/ 2021-03-17 09:55:00 +01:00
.mailmap mailmap: deduplicate @benpicco 2020-04-28 11:58:44 +02:00
.murdock .murdock: Add board to kconfig test 2021-07-02 15:11:10 +02:00
CODE_OF_CONDUCT.md
CODEOWNERS CODEOWNERS: Notify @chrysn on CoAP changes 2021-05-08 10:57:00 +02:00
CODING_CONVENTIONS.md Coding_Convention: clarify: none return is allowed 2021-03-08 14:46:34 +01:00
CODING_CONVENTIONS_C++.md CODING_CONVENTIONS_C++.md: Fixed typos and links 2019-11-08 10:36:27 +01:00
CONTRIBUTING.md CONTRIBUTING: Remove Freenode reference 2021-06-18 11:11:27 +02:00
doc.txt doc: Describe interaction between DEVELHELP and assert 2020-10-25 23:27:51 +01:00
Kconfig Kconfig: source EXTERNAL_MODULES configurations 2021-02-23 19:16:33 +01:00
LICENSE
LOSTANDFOUND.md lostandfound: document removal of boards/slwstk6220a 2021-01-05 12:19:47 +01:00
MAINTAINING.md MAINTAINING: Clarify guidelines 2020-07-13 10:57:03 +02:00
Makefile make: Remove mailing list advertisement 2021-05-12 11:41:25 +02:00
Makefile.base cpp: Use modules for cpp and libstdcpp 2021-07-02 15:11:10 +02:00
Makefile.dep cpp: Use modules for cpp and libstdcpp 2021-07-02 15:11:10 +02:00
Makefile.features treewide: model newlib as a FEATURE 2021-01-27 09:24:25 +01:00
Makefile.include First 2021-09-08 11:11:37 +02:00
README.md Updated README 2021-09-30 14:22:48 +02:00
release-notes.txt release-notes.txt: add 2021.07 release notes 2021-07-16 12:17:58 +02:00
SECURITY.md SECURITY.md: fix mailto link 2020-12-10 14:18:19 +01:00
uncrustify-riot.cfg uncrustify-riot.cfg: update to coding convention 2021-03-04 17:23:46 +01:00
Vagrantfile tools/packer: adapt for Ubuntu 18.04 2020-02-19 19:23:07 +01:00

ocaml-riot-nrf52

This project gets OCaml bytecode running on the nRF52840 board. It uses the standard OCaml runtime, and RIOT OS for the base layer between the runtime and the board, as well as for its robust build system.

This is the previous version of omicrob-riot-nrf52, which uses the OMicroB runtime instead of the standard OCaml one, as well as OMicroB's bytecode optimisations. This project runs into issues of large images as well as issues with dynamic memory allocation that prevent the effective use of OCaml modules. It is kept public as it is still useful to learn from.

Building

git clone https://github.com/benmandrew/ocaml-riot-nrf52.git
cd ocaml-riot-nrf52/ocaml-nrf52
./configure.sh
make