Skip to content

Commit fc1eb78

Browse files
Merge pull request #33 from thejpster/add-macros
Add `#[entry]`, `#[irq]` and `#[exception(...)]` macros.
2 parents 79e6241 + a49cb00 commit fc1eb78

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

56 files changed

+1636
-625
lines changed

.vscode/settings.json

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
{
2+
// override the default setting (`cargo check --all-targets`) which produces the following error
3+
// "can't find crate for `test`" when the default compilation target is a no_std target
4+
// with these changes RA will call `cargo check --bins` on save
5+
"rust-analyzer.check.allTargets": false,
6+
"rust-analyzer.check.extraArgs": ["--bins"],
7+
"rust-analyzer.checkOnSave": true,
8+
}

Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,6 @@ members = [
88
"cortex-ar",
99
"cortex-r-rt",
1010
"cortex-a-rt",
11+
"cortex-ar-rt-macros",
1112
]
1213
resolver = "2"

cortex-a-rt/Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ version = "0.1.0"
1616

1717
[dependencies]
1818
cortex-ar = {version = "0.1.0", path = "../cortex-ar"}
19+
cortex-ar-rt-macros = { path = "../cortex-ar-rt-macros", version = "=0.1.0" }
1920

2021
[features]
2122
# Enable the FPU on start-up, even on a soft-float EABI target

cortex-a-rt/link.x

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -90,18 +90,18 @@ ASSERT(_irq_stack_size % 8 == 0, "ERROR(cortex-r-rt): size of IRQ stack is not 8
9090
ASSERT(_fiq_stack_size % 8 == 0, "ERROR(cortex-r-rt): size of FIQ stack is not 8-byte aligned");
9191

9292
/* Weak aliases for ASM default handlers */
93-
PROVIDE(_start =_default_start);
94-
PROVIDE(_asm_undefined_handler =_asm_default_undefined_handler);
95-
PROVIDE(_asm_svc_handler =_asm_default_svc_handler);
96-
PROVIDE(_asm_prefetch_handler =_asm_default_prefetch_handler);
97-
PROVIDE(_asm_abort_handler =_asm_default_abort_handler);
98-
PROVIDE(_asm_irq_handler =_asm_default_irq_handler);
99-
PROVIDE(_asm_fiq_handler =_asm_default_fiq_handler);
93+
PROVIDE(_start = _default_start);
94+
PROVIDE(_asm_undefined_handler = _asm_default_undefined_handler);
95+
PROVIDE(_asm_svc_handler = _asm_default_svc_handler);
96+
PROVIDE(_asm_prefetch_abort_handler = _asm_default_prefetch_abort_handler);
97+
PROVIDE(_asm_data_abort_handler = _asm_default_data_abort_handler);
98+
PROVIDE(_asm_irq_handler = _asm_default_irq_handler);
99+
PROVIDE(_asm_fiq_handler = _asm_default_fiq_handler);
100100

101101
/* Weak aliases for C default handlers */
102-
PROVIDE(_undefined_handler =_default_handler);
103-
PROVIDE(_svc_handler =_default_handler);
104-
PROVIDE(_prefetch_handler =_default_handler);
105-
PROVIDE(_abort_handler =_default_handler);
106-
PROVIDE(_irq_handler =_default_handler);
102+
PROVIDE(_undefined_handler = _default_handler);
103+
PROVIDE(_svc_handler = _default_handler);
104+
PROVIDE(_prefetch_abort_handler = _default_handler);
105+
PROVIDE(_data_abort_handler = _default_handler);
106+
PROVIDE(_irq_handler = _default_handler);
107107
/* There is no default C-language FIQ handler */

0 commit comments

Comments
 (0)