~ruther/avr-device

29061345 — Rahix 4 years ago
Add basic support for ATmega64

Pull in the ATDF file from Microchip and add all the necessary plumbing
around the code-base to make it compile.  Not tested against real
hardware and no device-specific patches are included yet.

Signed-off-by: Rahix <rahix@rahix.de>
78a95883 — Rahix 4 years ago
Update dependency versions

Signed-off-by: Rahix <rahix@rahix.de>
25305d5b — Rahix 4 years ago
interrupts: Fix sed expressions for parsing interrupt list

The format for the interrupt sources changed which silently made
gen-intr-lut.sh no longer generate any interrupt names.  Fix the
expressions so interrupt names are recognized again and the macro
can be used for generating interrupt definitions again.

Signed-off-by: Rahix <rahix@rahix.de>
169804d1 — Rahix 5 years ago
make: Use a patchfile instead of weird sed expr

As reported in issue #24 the sed(1) expression used to patch the generated
`mod.rs` does not work on MacOS (BSD sed).  Instead, use patch(1) and a small
patchfile to accomplish the same task.

Signed-off-by: Rahix <rahix@rahix.de>
4d281f56 — Rahix 5 years ago
ci: Use atdf2svd from crates.io

Signed-off-by: Rahix <rahix@rahix.de>
75629772 — Rahix 5 years ago
Install atdf2svd from crates.io

Signed-off-by: Rahix <rahix@rahix.de>
6f0b1cc9 — Rahix 5 years ago
gen-intr-lut: Switch to /usr/bin/env bash as interpreter

The location of the `bash` binary can vary between systems.  Switch to
`/usr/bin/env bash` which is the recommended way to do it.

Ref: PR #22

Signed-off-by: Rahix <rahix@rahix.de>
dbbbc6ef — Rahix 5 years ago
Fix compatibility with svd2rust 1.16.1

svd2rust now generates a module containing generic descriptions which
the individual register definitions are based on.  Fix the code
generation to deal with this module.

Signed-off-by: Rahix <rahix@rahix.de>
a2c84372 — Jonah Dahlquist 5 years ago
Add patch for SPI device

57eef724 — Rahix 5 years ago
Improve build instructions

This commit changes the install-command for rustfmt to explicitly
install the nightly version.  Ref #20.

Signed-off-by: Rahix <rahix@rahix.de>
5cbb4d85 — Rahix 5 years ago
ci: Test-build runtime feature

Signed-off-by: Rahix <rahix@rahix.de>
88fcf0c8 — Rahix 5 years ago
Implement interrupts

This commit adds a new feature-flag `rt` which, when enabled, adds the
`#[interrupt]` procedural macro to define an interrupt handler.  Unlike
the implementation in cortex-m, this version needs an attribute which is
the name of the chip the interrupt is for.  In code, an interrupt
handler might look like this:

    #![feature(abi_avr_interrupt)]

    #[avr_device::interrupt(atmega32u4)]
    fn INT6() {
        // Do Something
    }

Closes #1.

Signed-off-by: Rahix <rahix@rahix.de>
0c0ed043 — Rahix 5 years ago
ci: Attempt building multple chips at once as well

Signed-off-by: Rahix <rahix@rahix.de>
dc45b3cc — Rahix 5 years ago
Switch to a new design as outlined in #17

Signed-off-by: Rahix <rahix@rahix.de>
f77864dc — Rahix 5 years ago
hack: Make sure you cannot build for more than one chip

Signed-off-by: Rahix <rahix@rahix.de>
fb9d2d97 — Rahix 5 years ago
Enable CI

Signed-off-by: Rahix <rahix@rahix.de>
1606c20e — Jonah Dahlquist 5 years ago
common: Fix a few patches

- Fix some descriptions
- Rename ambiguous WDT options
bfbd5bc0 — Jonah Dahlquist 5 years ago
atmega328p: Add missing patches

This commit adds patches for ATmega328P by copying the commons from ATmega32U4, omitting PLL because the 328p lacks that feature (#11)
2f04141d — Gabriel Pickl 5 years ago
atmega1280: Add remaining common patches

1726a5ee — Rahix 5 years ago
atmega1280: Factor out USART into a common patch

Signed-off-by: Rahix <rahix@rahix.de>
Next
Do not follow this link