initial commit
Signed-off-by: Sean Cross <sean@xobs.io>
This commit is contained in:
commit
607a91f06e
18
.gitattributes
vendored
Normal file
18
.gitattributes
vendored
Normal file
@ -0,0 +1,18 @@
|
||||
*.py text eol=lf
|
||||
*.dfu binary
|
||||
*.png binary
|
||||
*.jpg binary
|
||||
*.bin binary
|
||||
*.elf binary
|
||||
*.h text eol=lf
|
||||
*.c text eol=lf
|
||||
*.s text eol=lf
|
||||
*.S text eol=lf
|
||||
README.* text eol=lf
|
||||
LICENSE text eol=lf
|
||||
Makefile text eol=lf
|
||||
*.mk text eol=lf
|
||||
*.sh text eol=lf
|
||||
*.ps1 text eol=crlf
|
||||
.gitignore text eol=lf
|
||||
.gitattributes text eol=lf
|
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
/target
|
||||
**/*.rs.bk
|
7
README.md
Normal file
7
README.md
Normal file
@ -0,0 +1,7 @@
|
||||
# Platonic RISC-V Device
|
||||
|
||||
Platonic is an ideal system useful for developing an operating system. It does not represent any sort of real hardware, though differences between platforms is minimal.
|
||||
|
||||
## Usage
|
||||
|
||||
It is recommended to use Renode.
|
7
boot.resc
Normal file
7
boot.resc
Normal file
@ -0,0 +1,7 @@
|
||||
using sysbus
|
||||
mach create
|
||||
machine LoadPlatformDescription @platonic.repl
|
||||
|
||||
machine StartGdbServer 3333
|
||||
|
||||
showAnalyzer uart
|
54
platonic.repl
Normal file
54
platonic.repl
Normal file
@ -0,0 +1,54 @@
|
||||
uart: UART.LiteX_UART @ {
|
||||
sysbus 0x60001800;
|
||||
sysbus 0xE0001800 // shadow
|
||||
}
|
||||
|
||||
rom: Memory.MappedMemory @ {
|
||||
sysbus 0x00000000;
|
||||
sysbus 0x80000000 // shadow
|
||||
}
|
||||
size: 0x00002000
|
||||
|
||||
sram: Memory.MappedMemory @ {
|
||||
sysbus 0x10000000;
|
||||
sysbus 0x90000000 // shadow
|
||||
}
|
||||
size: 0x00020000
|
||||
|
||||
cpu: CPU.VexRiscv @ sysbus
|
||||
timeProvider: cpu_timer
|
||||
cpuType: "rv32ima"
|
||||
privilegeArchitecture: PrivilegeArchitecture.Priv1_10
|
||||
|
||||
cpu_timer: Timers.LiteX_CPUTimer @ sysbus 0xf0000800
|
||||
frequency: 66000000
|
||||
// IRQ #100 is Machine Timer Interrupt
|
||||
-> cpu@100
|
||||
|
||||
timer0: Timers.LiteX_Timer @ {
|
||||
sysbus 0x60002800;
|
||||
sysbus 0xE0002800 // shadow
|
||||
}
|
||||
frequency: 12000000
|
||||
-> cpu@0
|
||||
|
||||
spi: SPI.PicoRV_SPI @ {
|
||||
sysbus 0x60005000;
|
||||
sysbus 0xe0005000 // shadow
|
||||
}
|
||||
|
||||
flash: SPI.Micron_MT25Q @ spi
|
||||
underlyingMemory: flash_mem
|
||||
|
||||
flash_mem: Memory.MappedMemory @ {
|
||||
sysbus 0x20000000;
|
||||
sysbus 0xA0000000 // shadow
|
||||
}
|
||||
size: 0x4000000
|
||||
|
||||
sysbus:
|
||||
init:
|
||||
Tag <0xe0000000 0x800> "CTRL"
|
||||
Tag <0xE0006000 0x800> "REBOOT"
|
||||
Tag <0xE0006800 0x800> "RGB"
|
||||
Tag <0xE0007000 0x800> "VERSION"
|
Loading…
Reference in New Issue
Block a user