runtime/fe310: do peripheral initialization in an explicit call

This avoids some issues with interp in the next commit.
This commit is contained in:
Ayke van Laethem
2020-01-10 16:49:08 +01:00
committed by Ron Evans
parent 46ccb6793e
commit a9174d9184
+6 -6
View File
@@ -46,6 +46,7 @@ func main() {
riscv.MSTATUS.SetBits(1 << 3) // MIE
preinit()
initPeripherals()
initAll()
callMain()
abort()
@@ -76,12 +77,8 @@ func handleInterrupt() {
}
}
func init() {
pric_init()
machine.UART0.Configure(machine.UARTConfig{})
}
func pric_init() {
// initPeripherals configures periperhals the way the runtime expects them.
func initPeripherals() {
// Make sure the HFROSC is on
sifive.PRCI.HFROSCCFG.SetBits(sifive.PRCI_HFROSCCFG_ENABLE)
@@ -94,6 +91,9 @@ func pric_init() {
// Enable the RTC.
sifive.RTC.RTCCFG.Set(sifive.RTC_RTCCFG_ENALWAYS)
// Configure the UART.
machine.UART0.Configure(machine.UARTConfig{})
}
func preinit() {