Files
tinygo/targets
Ayke van Laethem bb5050a50d avr: fix .data initialization for binaries over 64kB
I found that .data is not correctly initialized with firmware images
that use over 64kB of flash. The problem is that the data in .data
(which is stored in flash, and copied to RAM at reset) is beyond the
64kB limit and must therefore be loaded using the elpm instruction
instead of the lpm instruction.

I encountered this issue while getting testdata/math.go to work for AVR.
The following command mostly works with this patch, while it prints
garbage withtout it:

    tinygo run -target=simavr -size=short -scheduler=none ./testdata/math.go

(This also requires a patch to picolibc to work, see
https://github.com/picolibc/picolibc/pull/371)

It still doesn't work entirely with this patch: some of the math
operations have an incorrect result. But at least it's an improvement as
it won't print garbage anymore.
2022-11-14 22:22:26 +01:00
..
2022-11-06 09:05:05 +01:00
2022-11-06 09:05:05 +01:00
2022-04-23 08:45:46 +02:00
2022-04-23 08:45:46 +02:00
2022-04-23 08:45:46 +02:00
2022-04-23 08:45:46 +02:00
2022-04-23 08:45:46 +02:00
2022-10-19 22:23:19 +02:00
2020-09-09 19:17:11 +02:00
2022-10-19 22:23:19 +02:00
2021-09-05 19:59:26 +02:00
2022-10-19 22:23:19 +02:00
2021-03-04 15:46:05 +01:00
2022-07-16 08:31:22 +02:00
2021-04-14 09:17:54 +02:00
2020-10-20 19:13:43 +02:00
2020-10-20 19:13:43 +02:00
2020-07-13 12:35:53 +02:00
2020-02-18 23:34:56 +01:00
2020-02-18 23:34:56 +01:00
2020-02-18 23:34:56 +01:00
2021-03-28 21:38:05 +02:00
2022-10-19 22:23:19 +02:00
2020-03-26 23:03:55 +01:00
2021-10-05 05:52:03 +02:00
2020-12-15 06:51:35 +01:00
2021-03-23 08:33:59 +01:00
2022-01-13 07:56:08 +01:00
2020-07-08 21:58:15 +02:00
2020-11-11 18:34:47 +01:00
2022-08-24 13:50:02 +02:00
2022-10-19 18:36:53 +02:00
2022-10-19 18:36:53 +02:00
2022-07-06 22:23:47 +02:00