Only add one linker script per eval board, and have the Makefiles use that.
This avoids duplication, and various copy-paste errors and left-overs
which we already have in the tree.
Some of the linker scripts are not really correct, yet. Both, the comments
which say which board, chip, and RAM/ROM sizes are used, as well as the
actual RAM/ROM size definitions are sometimes copy-pasted from other boards
and are thus incorrect. This needs to be fixed.
This fixes a problem where packets were written too quickly.
The hardware disabled the endpoint after the fist packet is sent,
and others just waited in the queue.
This fixes a problem where the linker included some padding
bytes between the end of the .text section (_etext) and the
start of the .data section.
The C runtime copies from _etext, so all static initialised data
was corrupted. This change forces the .data section to be written
at _etext to avoid this problem.
- Rename SPI_CR2_FRF_TI to SPI_CR2_FRF_TI_MODE to match datasheet.
- Rename SPI_CR2_FRF_MOTOROLA to SPI_CR2_FRF_MOTOROLA_MODE (see above).
- Fix SPI_CR2_FRF_MOTOROLA_MODE bit definition, must be (0 << 4).
- Change SPI_SR_RXNE to SPI_SR_TIFRFE; this was probably a copy-paste
error. Also, the bit definition is (1 << 8).
Newer versions of OpenOCD expect
stm32f1x mass_erase 0
or
stm32f2x mass_erase 0
instead of
stm32x mass_erase 0
So far, there doesn't seem to be an explicit F4 command, so leave that
untouched for now.