]> git.friedersdorff.com Git - max/tmk_keyboard.git/blobdiff - tool/mbed/lpc-vector-checksum.c
Remove core library and build files
[max/tmk_keyboard.git] / tool / mbed / lpc-vector-checksum.c
diff --git a/tool/mbed/lpc-vector-checksum.c b/tool/mbed/lpc-vector-checksum.c
deleted file mode 100644 (file)
index 316a125..0000000
+++ /dev/null
@@ -1,99 +0,0 @@
-/***************************************************************************
-* https://github.com/dhylands/projects/blob/master/lpc/lpc-vector-checksum/lpc-vector-checksum.c
-*
-*     Copyright (c) 2012 by Dave Hylands
-*           All Rights Reserved
-*
-*      Permission is granted to any individual or institution to use, copy,
-*  modify, or redistribute this file so long as it is not sold for profit,
-*  and that this copyright notice is retained.
-*
-***************************************************************************
-*
-*  This program calculates the vector checksum used in LPC17xx binary
-*  images.
-*
-*  Usage:   lpc-vector-checksum file
-*
-***************************************************************************/
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <stdint.h>
-#include <errno.h>
-#include <string.h>
-
-/***************************************************************************/
-/**
-*   update_vector_checksum
-*  
-*   The algorithim is to write the checksum such that the checksum of the
-*   first 8 words is equal to zero.
-*  
-*   The LPC1768 uses little-endian, and this particular routine assumes
-*   that it's running on a little-endian architecture.
-*/
-static int update_vector_checksum( const char *filename )
-{
-    uint32_t    sum;
-    uint32_t    header[8];
-    FILE       *fs;
-    int         i;
-
-    if (( fs = fopen( filename, "r+b" )) == NULL )
-    {
-        fprintf( stderr, "Unable to open '%s' for reading/writing (%d): %s\n", 
-                 filename, errno, strerror( errno ));
-        return 0;
-    }
-
-    if ( fread( header, sizeof( header ), 1, fs ) != 1 )
-    {
-        fprintf( stderr, "Failed to read header from '%s' (perhaps the file is too small?)",
-                 filename );
-        fclose( fs );
-        return 0;
-    }
-
-    sum = 0;
-    for ( i = 0; i < 7; i++ )
-    {
-        sum += header[i];
-    }
-    printf( "sum = 0x%08x, value to write = 0x%08x\n", sum, -sum );
-
-    /* write back the checksum to location 7
-     * http://sigalrm.blogspot.jp/2011/10/cortex-m3-exception-vector-checksum.html
-     */
-    fseek(fs, 0x1c, SEEK_SET);
-    sum = -sum;
-    fwrite(&sum, 4, 1, fs);
-
-    fclose( fs );
-
-    return 1;
-}
-
-/***************************************************************************/
-/**
-*   main
-*/
-int main( int argc, char **argv )
-{
-    int arg;
-
-    if ( argc < 2)
-    {
-        fprintf( stderr, "Usage: lpc-vector-checksum file ...\n" );
-        exit( 1 );
-    }
-
-    for ( arg = 1; arg < argc; arg++ )
-    {
-        update_vector_checksum( argv[ arg ]);
-    }
-
-    exit( 0 );
-    return 0;
-}
-