ATS programing on ChibiOS/RT
C C++ Assembly Objective-C CSS ATS
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
boards
demos
docs
ext
img
os
test
testhal
.gitignore
.project
.travis.yml
Makefile
README.md
documentation.html
exception.txt
license.txt
readme.txt
review-ats.txt

README.md

ATS programing on ChibiOS/RT Build Status

Hardwares

  • CPU: ATmega2560 (Atmel AVR 8-bit)
  • Flash ROM: 256 KiB
  • SRAM: 8 KiB

Also you could get compatible boards.

Setup environment

Debian GNU/Linux

Install some packages.

$ sudo apt-get install binutils-avr gcc-avr avr-libc avrdude libgmp-dev

Mac OS X

Install gmp package.

$ brew install gmp

Install avr toolchain http://www.obdev.at/products/crosspack/index.html, and set PATH env.

$ export PATH=$PATH:/usr/local/CrossPack-AVR/bin
$ which avr-gcc
/usr/local/CrossPack-AVR/bin/avr-gcc

Windows

T.B.D.

How to build

Install ATS2 http://www.ats-lang.org/.

$ wget http://downloads.sourceforge.net/project/ats2-lang/ats2-lang/ats2-postiats-0.0.8/ATS2-Postiats-0.0.8.tgz
$ tar xf ATS2-Postiats-0.0.8.tgz
$ cd ATS2-Postiats-0.0.8
$ ./configure
$ make
$ sudo make install
$ export PATSHOME=/usr/local/lib/ats2-postiats-0.0.8

Compile the ATS source code for Arduino.

$ cd chibios-ats/demos/AVR-ArduinoMega2560-GCC-ats
$ make
$ file ch.elf ch.hex
ch.elf: ELF 32-bit LSB executable, Atmel AVR 8-bit, version 1 (SYSV), statically linked, not stripped
ch.hex: ASCII text, with CRLF line terminators

Write to the flash

Connect Arduino board to your PC using USB cable. And run following commands.

$ ls -l /dev/ttyACM0
crw-rw---- 1 root dialout 166, 0 May  8 15:59 /dev/ttyACM0
$ cd arduino-mega2560-ats/blink_ats
$ make program
avrdude -p atmega2560 -P /dev/ttyACM0     -c stk500v2    -b 115200 -U flash:w:ch.hex 
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.02s
--snip--
avrdude: verifying ...
avrdude: 28650 bytes of flash verified
avrdude: safemode: Fuses OK (E:00, H:00, L:00)
avrdude done.  Thank you.

Watch serial console

Use screen command.

$ ls -l /dev/ttyACM0
crw-rw---- 1 root dialout 166, 0 May  8 15:59 /dev/ttyACM0
$ screen /dev/ttyACM0 9600
*** ChibiOS/RT test suite
***
*** Kernel:       2.6.4
*** Compiled:     May  9 2014 - 22:35:52
*** Compiler:     GCC 4.8.2
*** Architecture: AVR
*** Core Variant: MegaAVR
*** Port Info:    None
*** Platform:     ATmega
*** Test Board:   Arduino

----------------------------------------------------------------------------
--- Test Case 1.1 (Threads, enqueuing test #1)
--- Result: SUCCESS

How to debug using gdb

T.B.D.