sifive / freedom-e-sdk

Open Source Software for Developing on the Freedom E Platform - Deprecated
Other
581 stars 206 forks source link

Errors in linker scripts? #396

Open HAKarlsson opened 4 years ago

HAKarlsson commented 4 years ago

I believe I found errors in the linker scripts for HiFive Unleashed, HiFive1, and HiFive1 rev B, more specifically, the length of the flash memory is wrong.

I am new to low-level programming so I have no idea if this is intentional or not.

nategraff-sifive commented 4 years ago

Hi @HAKarlsson,

Thanks, you're definitely right, our Devicetrees definitely misrepresent the size of the SPI flash on those boards. Root cause on the Unleashed and HiFive1 is that we don't yet do the Right Thing and require SPI flash nodes as children of SPI nodes, so the amount you see is the maximum amount of address space that the SPI peripheral can memory-map. The Rev B is just a mistake :)

These inaccuracies should get fixed pretty soon, I have a task on my todo list right now to improve that part of the project.

Thanks again, Nate

lyellread commented 4 years ago

I'll add on to this thread with an error that I believe is related to the issues with the flash sizes for the HiFive1 RevB - when compiling Dhrystone using make PROGRAM=dhrystone, TARGET=sifive-hifive1-revb LINK_TARGET=ramrodata software, the following error occurs:

/opt/riscv64-unknown-elf-gcc-8.3.0-2019.08.0-x86_64-linux-ubuntu14/bin/../lib/gcc/riscv64-unknown-elf/8.3.0/../../../../riscv64-unknown-elf/bin/ld: dhrystone section `.bss' will not fit in region `ram' /opt/riscv64-unknown-elf-gcc-8.3.0-2019.08.0-x86_64-linux-ubuntu14/bin/../lib/gcc/riscv64-unknown-elf/8.3.0/../../../../riscv64-unknown-elf/bin/ld: region `ram' overflowed by 7600 bytes.

If this error is not related, I'll relocate it.

Thank you! ~Lyell