Browse Source

build: add missing erase_check loader src

Change-Id: I1534c1ea1606fda9eb6ffa6a11a708f8c8a3d46a
Signed-off-by: Spencer Oliver <spen@spen-soft.co.uk>
Reviewed-on: http://openocd.zylin.com/605
Tested-by: jenkins
Reviewed-by: Freddie Chopin <freddie.chopin@gmail.com>
tags/v0.6.0-rc1
Spencer Oliver 10 years ago
parent
commit
e1e1d4742c
3 changed files with 89 additions and 1 deletions
  1. +41
    -0
      contrib/loaders/erase_check/armv4_5_erase_check.s
  2. +45
    -0
      contrib/loaders/erase_check/armv7m_erase_check.s
  3. +3
    -1
      src/target/armv4_5.c

+ 41
- 0
contrib/loaders/erase_check/armv4_5_erase_check.s View File

@@ -0,0 +1,41 @@
/***************************************************************************
* Copyright (C) 2010 by Spencer Oliver *
* spen@spen-soft.co.uk *
* *
* 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. *
***************************************************************************/

/*
parameters:
r0 - address in
r1 - byte count
r2 - mask - result out
*/

.text
.arm

loop:
ldrb r3, [r0], #1
and r2, r2, r3
subs r1, r1, #1
bne loop
end:
bkpt #0

CRC32XOR: .word 0x04c11db7

.end

+ 45
- 0
contrib/loaders/erase_check/armv7m_erase_check.s View File

@@ -0,0 +1,45 @@
/***************************************************************************
* Copyright (C) 2010 by Spencer Oliver *
* spen@spen-soft.co.uk *
* *
* 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. *
***************************************************************************/

/*
parameters:
r0 - address in
r1 - byte count
r2 - mask - result out
*/

.text
.syntax unified
.cpu cortex-m0
.thumb
.thumb_func

.align 2

loop:
ldrb r3, [r0]
adds r0, #1
ands r2, r2, r3
subs r1, r1, #1
bne loop
end:
bkpt #0

.end

+ 3
- 1
src/target/armv4_5.c View File

@@ -1307,7 +1307,7 @@ int arm_checksum_memory(struct target *target,
uint32_t i;
uint32_t exit_var = 0;

/* see contib/loaders/checksum/armv4_5_crc.s for src */
/* see contrib/loaders/checksum/armv4_5_crc.s for src */

static const uint32_t arm_crc_code[] = {
0xE1A02000, /* mov r2, r0 */
@@ -1408,6 +1408,8 @@ int arm_blank_check_memory(struct target *target,
uint32_t i;
uint32_t exit_var = 0;

/* see contrib/loaders/erase_check/armv4_5_erase_check.s for src */

static const uint32_t check_code[] = {
/* loop: */
0xe4d03001, /* ldrb r3, [r0], #1 */


Loading…
Cancel
Save