X-Git-Url: https://review.openocd.org/gitweb?p=openocd.git;a=blobdiff_plain;f=src%2Fflash%2Focl%2Fat91sam7x%2Fmain.c;h=2a4d28bba977dc22669849fc396e862a8a957b7c;hp=c9e93ddbdd503de0cdb97f715573a1b33f6ab503;hb=040e25424314b49e35eb158eb88e287c76e50596;hpb=831d41e75064130f596896974869ce5595406dec diff --git a/src/flash/ocl/at91sam7x/main.c b/src/flash/ocl/at91sam7x/main.c index c9e93ddbdd..2a4d28bba9 100644 --- a/src/flash/ocl/at91sam7x/main.c +++ b/src/flash/ocl/at91sam7x/main.c @@ -1,107 +1,107 @@ -/*************************************************************************** - * Copyright (C) 2007 by Pavel Chromy * - * chromy@asix.cz * - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - * This program is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * GNU General Public License for more details. * - * * - * You should have received a copy of the GNU General Public License * - * along with this program; if not, write to the * - * Free Software Foundation, Inc., * - * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * - ***************************************************************************/ -#include "platform.h" - -#include "ocl.h" -#include "dcc.h" -#include "samflash.h" - - -#define BUFSIZE 1024 /* words, i.e. 4 KiB */ -uint32 buffer[1024]; - -void cmd_flash(uint32 cmd) -{ - unsigned int len; - uint32 adr; - uint32 chksum; - unsigned int bi; /* buffer index */ - unsigned int bi_start; /* receive start mark */ - unsigned int bi_end; /* receive end mark */ - unsigned int ofs; - int pagenum; - int result; - - adr=dcc_rd(); - len=cmd&0xffff; - ofs=adr%flash_page_size; - bi_start=ofs/4; - bi_end=(ofs+len+3)/4; - - if (bi_end>BUFSIZE) { - dcc_wr(OCL_BUFF_OVER); - return; - } - - chksum=OCL_CHKS_INIT; - for (bi=0; biBUFSIZE) { + dcc_wr(OCL_BUFF_OVER); + return; + } + + chksum=OCL_CHKS_INIT; + for (bi=0; bi