runtime/fe310: do peripheral initialization in an explicit call
This avoids some issues with interp in the next commit.
Этот коммит содержится в:
родитель
46ccb6793e
коммит
a9174d9184
1 изменённых файлов: 6 добавлений и 6 удалений
|
@ -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() {
|
||||
|
|
Загрузка…
Создание таблицы
Сослаться в новой задаче