diff options
author | Jack Humbert <jack.humb@gmail.com> | 2016-06-18 14:30:24 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-06-18 14:30:24 -0400 |
commit | db32864ce7029d758f57729cc2f75e051a28d0a2 (patch) | |
tree | f3ac60d9c826a9ad5ef5bc4d199efaddae156ba6 /tmk_core/tool/mbed/lpc-vector-checksum.c | |
parent | 1923cffd41d9d71cd9f434092654dba05513137b (diff) |
Cleans up quantum/keymap situation, removes extra lufa folders (#416)
* sorts out keycodes
* move midi around
* remove mbed
* replaces keymap with qmk/keymap_common
* fixes keymap.h
* keymap, config, quantum rearrange
* removes unneeded lufa stuff
Diffstat (limited to 'tmk_core/tool/mbed/lpc-vector-checksum.c')
-rw-r--r-- | tmk_core/tool/mbed/lpc-vector-checksum.c | 99 |
1 files changed, 0 insertions, 99 deletions
diff --git a/tmk_core/tool/mbed/lpc-vector-checksum.c b/tmk_core/tool/mbed/lpc-vector-checksum.c deleted file mode 100644 index 316a1253a0..0000000000 --- a/tmk_core/tool/mbed/lpc-vector-checksum.c +++ /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; -} - |