X-Git-Url: http://cvs.zerfleddert.de/cgi-bin/gitweb.cgi/proxmark3-svn/blobdiff_plain/a70991cf6d8f7abb474b50a4278ce394808fa66f..a39944216dd5d765e16917c1092bacc6061b518f:/armsrc/fpgaloader.c?ds=sidebyside diff --git a/armsrc/fpgaloader.c b/armsrc/fpgaloader.c index da85c66c..86f144cf 100644 --- a/armsrc/fpgaloader.c +++ b/armsrc/fpgaloader.c @@ -117,8 +117,7 @@ void SetupSpi(int mode) // Set up the synchronous serial port, with the one set of options that we // always use when we are talking to the FPGA. Both RX and TX are enabled. //----------------------------------------------------------------------------- -void FpgaSetupSsc(void) -{ +void FpgaSetupSsc(void) { // First configure the GPIOs, and get ourselves a clock. AT91C_BASE_PIOA->PIO_ASR = GPIO_SSC_FRAME | @@ -156,18 +155,15 @@ void FpgaSetupSsc(void) // ourselves, not to another buffer). The stuff to manipulate those buffers // is in apps.h, because it should be inlined, for speed. //----------------------------------------------------------------------------- -bool FpgaSetupSscDma(uint8_t *buf, int len) -{ - if (buf == NULL) - return false; - +bool FpgaSetupSscDma(uint8_t *buf, int len) { + if (buf == NULL) return false; + AT91C_BASE_PDC_SSC->PDC_PTCR = AT91C_PDC_RXTDIS; // Disable DMA Transfer AT91C_BASE_PDC_SSC->PDC_RPR = (uint32_t) buf; // transfer to this memory address AT91C_BASE_PDC_SSC->PDC_RCR = len; // transfer this many bytes AT91C_BASE_PDC_SSC->PDC_RNPR = (uint32_t) buf; // next transfer to same memory address AT91C_BASE_PDC_SSC->PDC_RNCR = len; // ... with same number of bytes - AT91C_BASE_PDC_SSC->PDC_PTCR = AT91C_PDC_RXTEN; // go! - + AT91C_BASE_PDC_SSC->PDC_PTCR = AT91C_PDC_RXTEN; // go! return true; } @@ -220,7 +216,8 @@ static voidpf fpga_inflate_malloc(voidpf opaque, uInt items, uInt size) static void fpga_inflate_free(voidpf opaque, voidpf address) { - BigBuf_free(); + // free eventually allocated BigBuf memory + BigBuf_free(); BigBuf_Clear_ext(false); } @@ -416,7 +413,7 @@ void FpgaDownloadAndGo(int bitstream_version) return; // make sure that we have enough memory to decompress - BigBuf_free(); + BigBuf_free(); BigBuf_Clear_ext(false); if (!reset_fpga_stream(bitstream_version, &compressed_fpga_stream, output_buffer)) { return; @@ -430,7 +427,8 @@ void FpgaDownloadAndGo(int bitstream_version) inflateEnd(&compressed_fpga_stream); - BigBuf_free(); + // free eventually allocated BigBuf memory + BigBuf_free(); BigBuf_Clear_ext(false); } @@ -450,7 +448,7 @@ void FpgaGatherVersion(int bitstream_version, char *dst, int len) dst[0] = '\0'; // ensure that we can allocate enough memory for decompression: - BigBuf_free(); + BigBuf_free(); BigBuf_Clear_ext(false); if (!reset_fpga_stream(bitstream_version, &compressed_fpga_stream, output_buffer)) return;