diff options
author | Stefan Agner <stefan.agner@toradex.com> | 2017-05-12 16:23:51 -0700 |
---|---|---|
committer | Stefan Agner <stefan.agner@toradex.com> | 2017-05-16 12:34:26 -0700 |
commit | cc59882c7f0efe34baecd6ff68e1b2053a492112 (patch) | |
tree | 7036019e0cf719b6ac2f94a93a9f4f9df62ee549 /examples/imx7_colibri_m4/demo_apps/hello_world/armgcc/CMakeLists.txt | |
parent | a1efb7f2ebf90307a692a1f54a03bd14714371f5 (diff) |
restore stackpointer in vector table
When using the elf file format the vector table gets linked directly
to 0x0 (0x180000 for data bus/A7 bus). U-Boots bootaux command tries
to be helpful and writes the start address to that location (since
this was necessary for binary files which have a relocated vector
table). This is not usually a problem, since we restore the stack
pointer imeaditly at the beginning.
However, the FreeRTOS port code relies on a complete vector table
(see prvPortStartFirstTask in Source/portable/GCC/ARM_CM4F/port.c).
This needs to be fixed in U-Boot: U-Boot should not write into the
vector table if it is provided by the elf binary.
For now, work around by restoring the stack pointer entry in the
vector table in the firmware startup code.
Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Diffstat (limited to 'examples/imx7_colibri_m4/demo_apps/hello_world/armgcc/CMakeLists.txt')
0 files changed, 0 insertions, 0 deletions