Integrate rvctl with rv32i and host debug profiles
This commit is contained in:
@@ -220,6 +220,12 @@ Komendy:
|
||||
- `series cards tasks list SERIES CARD`
|
||||
- `series cards tasks show SERIES CARD TASK`
|
||||
- `series cards tasks switch SERIES CARD TASK`
|
||||
- `env list`
|
||||
- `env sync`
|
||||
- `env build rv32i|host`
|
||||
- `debug rv32i|host [TASK|CARD TASK|SERIES CARD TASK]`
|
||||
- `run host [TASK|CARD TASK|SERIES CARD TASK]`
|
||||
- `shell rv32i|host [CARD|SERIES CARD]`
|
||||
- `tasks list [CARD|SERIES CARD]`
|
||||
- `tasks show TASK|CARD TASK|SERIES CARD TASK`
|
||||
- `tasks switch TASK|CARD TASK|SERIES CARD TASK`
|
||||
@@ -560,6 +566,84 @@ Ta komenda działa tak samo jak pełna forma:
|
||||
./rvctl series cards tasks switch inf bss 4
|
||||
```
|
||||
|
||||
## `env list`
|
||||
|
||||
Pokazuje profile środowiska kontenerowego obsługiwane przez `rvctl`.
|
||||
|
||||
```bash
|
||||
./rvctl env list
|
||||
```
|
||||
|
||||
Profile:
|
||||
|
||||
- `rv32i` - RISC-V/Hazard3, `nvim`, `tmux`, `gdb-multiarch`
|
||||
- `host` - natywny kontener z `clang`, `gcc`, `gdb`, opcjonalnie `lldb`
|
||||
|
||||
## `env sync`
|
||||
|
||||
Klonuje albo aktualizuje repo `rv32i-hazard3-student-env` do katalogu
|
||||
`~/dev/workspace/rv/tools/rv32i-hazard3-student-env`.
|
||||
|
||||
```bash
|
||||
./rvctl env sync
|
||||
./rvctl env sync --dry-run
|
||||
```
|
||||
|
||||
## `env build rv32i|host`
|
||||
|
||||
Buduje wybrany profil `docker compose`.
|
||||
|
||||
```bash
|
||||
./rvctl env build rv32i
|
||||
./rvctl env build host
|
||||
./rvctl env build host --dry-run
|
||||
```
|
||||
|
||||
## `debug rv32i|host`
|
||||
|
||||
Uruchamia debugowanie zadania w kontenerze. Selektor może być pełny albo krótki.
|
||||
|
||||
```bash
|
||||
./rvctl debug rv32i inf bss 1
|
||||
./rvctl debug host inf bss 1
|
||||
./rvctl debug rv32i 4
|
||||
./rvctl debug host 4
|
||||
```
|
||||
|
||||
`rv32i` uruchamia symulator Hazard3, `gdb-multiarch` i `nvim`. `host` kompiluje
|
||||
zadanie natywnie i otwiera `gdb` obok `nvim`. Profil `host` jest przeznaczony
|
||||
dla tasków C z funkcją `main`; taski czysto asemblerowe debugujemy w profilu
|
||||
`rv32i`.
|
||||
|
||||
Przełączniki:
|
||||
|
||||
- `--task TASK` - nadpisuje zadanie z selektora albo z `workspace.json`
|
||||
- `--instance NAME` - ustawia nazwę instancji kontenera/tmuxa
|
||||
- `--editor nvim|vim` - wybiera edytor w kontenerze
|
||||
- `--dry-run` - pokazuje komendę bez uruchamiania Dockera
|
||||
|
||||
## `run host`
|
||||
|
||||
Buduje i uruchamia wybrane zadanie natywnie w kontenerze `host`.
|
||||
|
||||
```bash
|
||||
./rvctl run host inf bss 1
|
||||
./rvctl run host 4
|
||||
```
|
||||
|
||||
Profil `rv32i` pracuje obecnie przez `debug rv32i`, bo wymaga symulatora
|
||||
Hazard3 i połączenia GDB.
|
||||
|
||||
## `shell rv32i|host`
|
||||
|
||||
Otwiera shell w wybranym profilu kontenera z podmontowaną kartą.
|
||||
|
||||
```bash
|
||||
./rvctl shell rv32i inf bss
|
||||
./rvctl shell host inf bss
|
||||
./rvctl shell host --dry-run
|
||||
```
|
||||
|
||||
## `list-series`
|
||||
|
||||
Alias kompatybilności dla `series list`.
|
||||
|
||||
Reference in New Issue
Block a user