60 lines
2.2 KiB
C
60 lines
2.2 KiB
C
|
/*
|
||
|
* Copyright 2018 The Chromium OS Authors. All rights reserved.
|
||
|
* Use of this source code is governed by a BSD-style license that can be
|
||
|
* found in the LICENSE file.
|
||
|
*/
|
||
|
|
||
|
/* This file defines the UART console application operations. */
|
||
|
|
||
|
#ifndef __UTIL_UUT_OPR_H
|
||
|
#define __UTIL_UUT_OPR_H
|
||
|
|
||
|
/*---------------------------------------------------------------------------
|
||
|
* Constant definitions
|
||
|
*---------------------------------------------------------------------------
|
||
|
*/
|
||
|
|
||
|
/* Baud rate scan steps: */
|
||
|
#define BR_BIG_STEP 20 /* in percents from current baud rate */
|
||
|
#define BR_MEDIUM_STEP 10 /* in percents from current baud rate */
|
||
|
#define BR_SMALL_STEP 1 /* in percents from current baud rate */
|
||
|
#define BR_MIN_STEP 5 /* in absolute baud rate units */
|
||
|
#define BR_LOW_LIMIT 400 /* Automatic BR detection starts at this value */
|
||
|
#define BR_HIGH_LIMIT 150000 /* Automatic BR detection ends at this value */
|
||
|
|
||
|
#define OPR_WRITE_MEM "wr" /* Write To Memory/Flash */
|
||
|
#define OPR_READ_MEM "rd" /* Read From Memory/Flash */
|
||
|
#define OPR_EXECUTE_EXIT "go" /* Execute a non-return code */
|
||
|
#define OPR_EXECUTE_CONT "call" /* Execute returnable code */
|
||
|
|
||
|
enum sync_result {
|
||
|
SR_OK = 0x00,
|
||
|
SR_WRONG_DATA = 0x01,
|
||
|
SR_TIMEOUT = 0x02,
|
||
|
SR_ERROR = 0x03
|
||
|
};
|
||
|
|
||
|
/*----------------------------------------------------------------------------
|
||
|
* External Variables
|
||
|
*---------------------------------------------------------------------------
|
||
|
*/
|
||
|
extern struct comport_fields port_cfg;
|
||
|
|
||
|
/*---------------------------------------------------------------------------
|
||
|
* Functions prototypes
|
||
|
*---------------------------------------------------------------------------
|
||
|
*/
|
||
|
|
||
|
void opr_usage(void);
|
||
|
bool opr_close_port(void);
|
||
|
bool opr_open_port(const char *port_name, struct comport_fields port_cfg);
|
||
|
bool opr_write_chunk(uint8_t *buffer, uint32_t addr, uint32_t size);
|
||
|
bool opr_read_chunk(uint8_t *buffer, uint32_t addr, uint32_t size);
|
||
|
void opr_write_mem(uint8_t *buffer, uint32_t addr, uint32_t size);
|
||
|
void opr_read_mem(char *output, uint32_t addr, uint32_t size);
|
||
|
void opr_execute_exit(uint32_t addr);
|
||
|
bool opr_execute_return(uint32_t addr);
|
||
|
bool opr_scan_baudrate(void);
|
||
|
enum sync_result opr_check_sync(uint32_t baudrate);
|
||
|
#endif /* __UTIL_UUT_OPR_H */
|