All Projects → Ro5bert → Avra

Ro5bert / Avra

Licence: gpl-2.0
Assembler for the Atmel AVR microcontroller family

Programming Languages

pascal
1382 projects
assembler
53 projects

Labels

Projects that are alternatives of or similar to Avra

Microcore
An optimized Arduino hardware package for ATtiny13
Stars: ✭ 348 (+346.15%)
Mutual labels:  avr
Minicore
Arduino hardware package for ATmega8, ATmega48, ATmega88, ATmega168, ATmega328 and ATmega328PB
Stars: ✭ 546 (+600%)
Mutual labels:  avr
Tinygo
Go compiler for small places. Microcontrollers, WebAssembly (WASM/WASI), and command-line tools. Based on LLVM.
Stars: ✭ 9,068 (+11525.64%)
Mutual labels:  avr
Mightycore
Arduino hardware package for ATmega1284, ATmega644, ATmega324, ATmega324PB, ATmega164, ATmega32, ATmega16 and ATmega8535
Stars: ✭ 413 (+429.49%)
Mutual labels:  avr
Arduino freertos library
A FreeRTOS Library for all Arduino AVR Devices (Uno, Leonardo, Mega, etc)
Stars: ✭ 523 (+570.51%)
Mutual labels:  avr
Ir Tester
Quick IR Value Tester
Stars: ✭ 14 (-82.05%)
Mutual labels:  avr
Lbforth
Self-hosting metacompiled Forth, bootstrapping from a few lines of C; targets Linux, Windows, ARM, RISC-V, 68000, PDP-11, asm.js.
Stars: ✭ 293 (+275.64%)
Mutual labels:  avr
Rhme 2017
Riscure Hack Me embedded hardware CTF 2017-2018.
Stars: ✭ 65 (-16.67%)
Mutual labels:  avr
Platformio Core
PlatformIO is a professional collaborative platform for embedded development 👽 A place where Developers and Teams have true Freedom! No more vendor lock-in!
Stars: ✭ 5,539 (+7001.28%)
Mutual labels:  avr
Attinycore
Arduino core for ATtiny 1634, 828, x313, x4, x41, x5, x61, x7 and x8
Stars: ✭ 974 (+1148.72%)
Mutual labels:  avr
Easyavr
Easy AVR USB Keyboard Firmware and Keymapper
Stars: ✭ 479 (+514.1%)
Mutual labels:  avr
Arduinomenu
Arduino generic menu/interactivity system
Stars: ✭ 520 (+566.67%)
Mutual labels:  avr
Calunium
Arduino clone based on the ATmega644P/ATmega1284P
Stars: ✭ 30 (-61.54%)
Mutual labels:  avr
Modm
modm: a C++20 library generator for AVR and ARM Cortex-M devices
Stars: ✭ 375 (+380.77%)
Mutual labels:  avr
Deepsleepscheduler
DeepSleepScheduler is a lightweight, cooperative task scheduler library with configurable sleep and task supervision.
Stars: ✭ 59 (-24.36%)
Mutual labels:  avr
Homebrew Avr
Homebrew AVR Toolchain
Stars: ✭ 294 (+276.92%)
Mutual labels:  avr
Avrd
Embedded Systems in D - Port of avr-libc headers and most avr-gcc processor defines
Stars: ✭ 17 (-78.21%)
Mutual labels:  avr
Avr Uart Lib
extremly light uart library for AVR 8 bit microcontrollers
Stars: ✭ 73 (-6.41%)
Mutual labels:  avr
Avr Cheat Sheet
AVR cheat sheet for the ATmega328p
Stars: ✭ 64 (-17.95%)
Mutual labels:  avr
Rumba Plus
A premium-quality 3D printer control board by Aus3D.
Stars: ✭ 34 (-56.41%)
Mutual labels:  avr

AVRA

Assember for the Atmel AVR microcontroller family

AVRA is an assembler for Atmel AVR microcontrollers, and it is almost compatible with Atmel's own assembler, AVRASM32. AVRA is written in C99.

Differences between AVRA and AVRASM32

There are some differences between the original Atmel assembler AVRASM32 and AVRA. Basically, AVRA is designed to replace AVRASM32 without special changes in your current Atmel AVR Studio enviroment. Command line options have been adapted as far as possible. Jumping to fault-containing lines directly by double-clicking on the error message in the output window does work as with AVRASM32.

The differences in detail

Support for some extra preprocessor directives

.define, .undef, .ifdef, .ifndef, .if, .else, .endif, .elif, .elseif, .warning

Not all command line options are supported

Specifying an eeprom file (-e) is not supported. All eeprom data is put out into a file called program.eep.hex and is always in Intel hex format. Other hex file formats are currently not supported.

Forward references not supported for .ifdef and .ifndef directives

This makes sure that directives like .ifdef and .undef are working as you probably expect. If you are familiar with the C programming language, you should get easily into AVRA.

Enhanced macro support

AVRA has some new features for writing flexible macros. This should increase the ability to reuse code, e.g., build your own library.

Debugging support

AVRA creates a coff file everytime assembly is sucessful. This file allows AVR Studio or any coff compatible debugger to simulate or emulate the program.

Meta tags for assembly time

This helps you tracking versions of your software and can also be used to generate customer specific serial numbers.

Compatibility

It should be possible to compile AVRA on most system platforms. If you have problems compiling AVRA, please open an issue in the tracker.

History

The initial version of AVRA was written by John Anders Haugum. He released all versions until v0.7. Tobias Weber later took over, followed by Burkhard Arenfeld (v1.2) then Jerry Jacobs (v1.3).

After a long 8 years of inactivity, Virgil Dupras took over, preparing a v1.4 release.

See AUTHORS for a complete list of contributors.

Build

To build the avra executable, cd into the project's root directory and run make. A src/avra binary will be produced. You can install it with make install.

By default, make runs under the linux OS, which assumes a typical GNU toolchain. If that doesn't work for you, look at the available platforms available in src/makefiles and override OS when you call make. Note that those platforms aren't all well tested. Please open an issue in the tracker if you notice a platform not working.

To compile in Windows with MS Visual Studio 2019, you will need additional files. Please see here.

Usage

See USAGE.md.

Change log

See CHANGELOG.md.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].