You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
![]() |
7 years ago | |
---|---|---|
.cargo | 7 years ago | |
src | 7 years ago | |
.gitignore | 7 years ago | |
Cargo.lock | 7 years ago | |
Cargo.toml | 7 years ago | |
LICENSE | 7 years ago | |
Makefile | 7 years ago | |
README.md | 7 years ago | |
gdb.py | 7 years ago | |
layout.ld | 7 years ago | |
openocd.conf | 7 years ago | |
openocd.sh | 7 years ago |
README.md
tivarust: Small pet project to learn Rust and low level ARM
Setting up environment
Install rustup, rust nightly and xargo: https://github.com/japaric/xargo
Building
$ PATH=$HOME/.cargo/bin:$PATH make all
Debuging using openocd
Running openocd & GDB
$ make debug
Using python extension to inspect low level registers
(gdb) source gdb.py
(gdb) read-tiva
RCC : 0x01CE1540 @ 0x400FE060
> Main oscillator ENABLED
> Oscillator source: [MOSC] Main Oscillator
> [XTAL] Crystal value 16.0 Mhz
> [BYPASS] The system clock is the PLL output divided by SYSDIV
> PLL is operating normally
> [PWMDIV] PWM Unit Clock Divisor is 64
> [USEPWMDIV] PWM Clock Divisor : The system clock divider is the source for PWM
> [USESYSDIV] Enable System Clock Divider: system clock divider is used (forced when PLL is selected as the source)
> [SYSDIV] System Clock Divisor: 3
> [ACG] Auto Clock Gating: RCGCn registers are used
...