runtime/fe310: do peripheral initialization in an explicit call

This avoids some issues with interp in the next commit.
Этот коммит содержится в:
Ayke van Laethem 2020-01-10 16:49:08 +01:00 коммит произвёл Ron Evans
родитель 46ccb6793e
коммит a9174d9184

Просмотреть файл

@ -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() {