avr: fix time.Sleep() in init code

In the early days of TinyGo, the idea of `postinit` was to enable
interrupts only after initializers have run. Which kind of makes
sense... except that `time.Sleep` is allowed in init code and
`time.Sleep` requires interrupts to be enabled. Therefore, interrupts
must be enabled while initializers are being run.

This commit simply moves the enabling of interrupts to a point right
before running package initializers. It also removes `runtime.postinit`,
which is not necessary anymore (and was only used on AVR).
This commit is contained in:
Ayke van Laethem
2022-01-01 22:54:29 +01:00
committed by Ayke
parent e536676a67
commit fcd88356db
22 changed files with 5 additions and 47 deletions
-2
View File
@@ -23,8 +23,6 @@ func putchar(c byte) {
//export rom_i2c_writeReg
func rom_i2c_writeReg(block, host_id, reg_add, data uint8)
func postinit() {}
//export main
func main() {
// Clear .bss section. .data has already been loaded by the ROM bootloader.