OpenOCD
algorithm.c
Go to the documentation of this file.
1 // SPDX-License-Identifier: GPL-2.0-or-later
2 
3 /***************************************************************************
4  * Copyright (C) 2005 by Dominic Rath *
5  * Dominic.Rath@gmx.de *
6  ***************************************************************************/
7 
8 #ifdef HAVE_CONFIG_H
9 #include "config.h"
10 #endif
11 
12 #include "algorithm.h"
13 #include <helper/binarybuffer.h>
14 
15 void init_mem_param(struct mem_param *param, uint32_t address, uint32_t size, enum param_direction direction)
16 {
17  param->address = address;
18  param->size = size;
19  param->value = malloc(size);
20  param->direction = direction;
21 }
22 
23 void destroy_mem_param(struct mem_param *param)
24 {
25  free(param->value);
26  param->value = NULL;
27 }
28 
29 void init_reg_param(struct reg_param *param, const char *reg_name,
30  uint32_t size, enum param_direction direction)
31 {
32  param->reg_name = reg_name;
33  param->size = size;
34  param->value = malloc(DIV_ROUND_UP(size, 8));
35  param->direction = direction;
36 }
37 
38 void destroy_reg_param(struct reg_param *param)
39 {
40  free(param->value);
41  param->value = NULL;
42 }
void destroy_mem_param(struct mem_param *param)
Definition: algorithm.c:23
void init_reg_param(struct reg_param *param, const char *reg_name, uint32_t size, enum param_direction direction)
Definition: algorithm.c:29
void destroy_reg_param(struct reg_param *param)
Definition: algorithm.c:38
void init_mem_param(struct mem_param *param, uint32_t address, uint32_t size, enum param_direction direction)
Definition: algorithm.c:15
param_direction
Definition: algorithm.h:14
Support functions to access arbitrary bits in a byte array.
uint32_t size
Size of dw_spi_transaction::buffer.
Definition: dw-spi-helper.h:4
uint32_t address
Starting address. Sector aligned.
Definition: dw-spi-helper.h:0
static uint16_t direction
Definition: ftdi.c:120
enum param_direction direction
Definition: algorithm.h:24
uint32_t size
Definition: algorithm.h:22
target_addr_t address
Definition: algorithm.h:21
uint8_t * value
Definition: algorithm.h:23
uint32_t size
Definition: algorithm.h:29
uint8_t * value
Definition: algorithm.h:30
const char * reg_name
Definition: algorithm.h:28
enum param_direction direction
Definition: algorithm.h:31
#define DIV_ROUND_UP(m, n)
Rounds m up to the nearest multiple of n using division.
Definition: types.h:79
#define NULL
Definition: usb.h:16