FreeCalypso > hg > tcs211-patches
changeset 10:8604a725d883
bootloader-disable.patch implemented
author | Space Falcon <falcon@ivan.Harhan.ORG> |
---|---|
date | Sat, 06 Jun 2015 07:52:36 +0000 |
parents | 73e647918297 |
children | 89ea4c7215a7 |
files | patches/Makefile patches/bootloader-disable.patch |
diffstat | 2 files changed, 22 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/patches/Makefile Sat Jun 06 05:57:32 2015 +0000 +++ b/patches/Makefile Sat Jun 06 07:52:36 2015 +0000 @@ -1,6 +1,9 @@ NEWLIBS=tpudrv-quadband.lib TOOL= ../tool/ti-libpatch +bootloader-disable.lib: ../libs/bootloader.lib bootloader-disable.patch + ${TOOL} ../libs/bootloader.lib bootloader-disable.patch $@ + main-fchw.lib: ../libs/main.lib main-fchw.patch ${TOOL} ../libs/main.lib main-fchw.patch $@
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/bootloader-disable.patch Sat Jun 06 07:52:36 2015 +0000 @@ -0,0 +1,19 @@ +# TI's TCS211 firmware includes a component called "bootloader" which executes +# before the main fw and seems to provide a mechanism for interrupting and +# diverting the regular boot process by sending some magic into one of the +# UARTs, replicating the equivalent functionality provided by the Calypso boot +# ROM. However, we never got the source for this part, only a binary object +# library, so it is not immediately apparent exactly what this bootloader does, +# what the communication protocol is and so forth - and I (Space Falcon) don't +# feel like reverse-engineering this piece as the needed functionality is +# provided much more usefully (unbrickable!) by the boot ROM in the chip. +# +# If one does not wish to run code for which we have no source and which we +# therefore don't really understand, the present patch disables the TCS211 +# bootloader by smacking a "bx lr" Thumb instruction at the +# $sta_select_application entry point to the code for which we have no source. + +[start.obj] + +.text 16a 70 +.text 16b 47