X-Git-Url: http://cvs.zerfleddert.de/cgi-bin/gitweb.cgi/proxmark3-svn/blobdiff_plain/e30c654b196a87a13ae7f7d4ced930b296c038ec..86c35934fc174ecfcfc1e11c57baeffb44662f1b:/bootrom/bootrom.c diff --git a/bootrom/bootrom.c b/bootrom/bootrom.c index da0de9c7..53e6924d 100644 --- a/bootrom/bootrom.c +++ b/bootrom/bootrom.c @@ -1,3 +1,11 @@ +//----------------------------------------------------------------------------- +// This code is licensed to you under the terms of the GNU GPL, version 2 or, +// at your option, any later version. See the LICENSE.txt file for the text of +// the license. +//----------------------------------------------------------------------------- +// Main code for the bootloader +//----------------------------------------------------------------------------- + #include struct common_area common_area __attribute__((section(".commonarea"))); @@ -69,11 +77,11 @@ static void Fatal(void) for(;;); } -void UsbPacketReceived(BYTE *packet, int len) +void UsbPacketReceived(uint8_t *packet, int len) { int i, dont_ack=0; UsbCommand *c = (UsbCommand *)packet; - volatile DWORD *p; + volatile uint32_t *p; if(len != sizeof(*c)) { Fatal(); @@ -93,14 +101,14 @@ void UsbPacketReceived(BYTE *packet, int len) /* The temporary write buffer of the embedded flash controller is mapped to the * whole memory region, only the last 8 bits are decoded. */ - p = (volatile DWORD *)&_flash_start; + p = (volatile uint32_t *)&_flash_start; for(i = 0; i < 12; i++) { p[i+c->arg[0]] = c->d.asDwords[i]; } break; case CMD_FINISH_WRITE: - p = (volatile DWORD *)&_flash_start; + p = (volatile uint32_t *)&_flash_start; for(i = 0; i < 4; i++) { p[i+60] = c->d.asDwords[i]; } @@ -249,7 +257,7 @@ void BootROM(void) LED_A_OFF(); // if 512K FLASH part - TODO make some defines :) - if ((AT91C_BASE_DBGU->DBGU_CIDR | 0xf00) == 0xa00) { + if ((AT91C_BASE_DBGU->DBGU_CIDR & 0xf00) == 0xa00) { AT91C_BASE_EFC0->EFC_FMR = MC_FLASH_MODE_FLASH_WAIT_STATES(1) | MC_FLASH_MODE_MASTER_CLK_IN_MHZ(0x48);