122 lines
10 KiB
C
122 lines
10 KiB
C
/**********************************************************************************************************************
|
|
Program Name : Flash Data Library T04 (PicoFDL)
|
|
|
|
File Name : pfdl.h
|
|
Program Version : V1.05 (for LLVM)
|
|
Device(s) : RL78/x1x
|
|
Description : C language API definition of the Flash Data Library
|
|
**********************************************************************************************************************/
|
|
|
|
/**********************************************************************************************************************
|
|
DISCLAIMER
|
|
This software is supplied by Renesas Electronics Corporation and is only intended for use with
|
|
Renesas products. No other uses are authorized. This software is owned by Renesas Electronics
|
|
Corporation and is protected under all applicable laws, including copyright laws.
|
|
THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING THIS SOFTWARE,
|
|
WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY,
|
|
FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.
|
|
TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR
|
|
ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR
|
|
CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE
|
|
BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
|
|
Renesas reserves the right, without notice, to make changes to this software and to discontinue the
|
|
availability of this software. By using this software, you agree to the additional terms and conditions
|
|
found by accessing the following link:
|
|
http://www.renesas.com/disclaimer
|
|
|
|
Copyright (C) 2023 Renesas Electronics Corporation. All rights reserved.
|
|
**********************************************************************************************************************/
|
|
|
|
#ifndef __PFDL_H_INCLUDED
|
|
#define __PFDL_H_INCLUDED
|
|
|
|
|
|
/*================================================================================================*/
|
|
/* include files list */
|
|
/*================================================================================================*/
|
|
#include "pfdl_types.h"
|
|
|
|
|
|
/* ---------------------------------------------------------------------------------------------------------------*/
|
|
/* Block type: standard function */
|
|
/* ---------------------------------------------------------------------------------------------------------------*/
|
|
/* Purpose: Unconditional activation of the Data Flash Library. */
|
|
/* Based on the descriptor data: */
|
|
/* - the flash firmware will be initialized for data-flash access only */
|
|
/* - the internal timing and low-voltage capability will be configured according to the descriptor */
|
|
/* After successful initialization the data flash clock is ON and the PFDL is ready to use. */
|
|
/* */
|
|
/* CAUTION: */
|
|
/* Due to the code size minimization no plausibility checks are done by the PicoFDL. */
|
|
/* Neither configuration, frequency range nor data flash size will be checked by the library. */
|
|
/* */
|
|
/* Input: address of the PFDL descriptor variable (RAM only) */
|
|
/* Output: - */
|
|
/* Return: PFDL status */
|
|
/* ---------------------------------------------------------------------------------------------------------------*/
|
|
extern pfdl_status_t __far PFDL_Open(__near pfdl_descriptor_t* descriptor_pstr) __attribute__ ((section ("PFDL_COD")));
|
|
|
|
|
|
/* ---------------------------------------------------------------------------------------------------------------*/
|
|
/* Block type: standard function */
|
|
/* ---------------------------------------------------------------------------------------------------------------*/
|
|
/* Purpose: Disable data flash access unconditionally. */
|
|
/* If any command is just executed, PFDL_Close will stop it immediately. */
|
|
/* After return the data flash clock is switched OFF. */
|
|
/* Input: - */
|
|
/* Output: - */
|
|
/* Return: - */
|
|
/* ---------------------------------------------------------------------------------------------------------------*/
|
|
extern void __far PFDL_Close(void) __attribute__ ((section ("PFDL_COD")));
|
|
|
|
|
|
/* ---------------------------------------------------------------------------------------------------------------*/
|
|
/* Block type: standard function */
|
|
/* ---------------------------------------------------------------------------------------------------------------*/
|
|
/* Purpose: Initiating execution of the PFDL request related to the data flash. */
|
|
/* The corresponding request variable has to be parametrized before. */
|
|
/* */
|
|
/* request_pstr->index_u16 : byte-index or block-number within PFDL-pool */
|
|
/* request_pstr->data_pu08 : start address of the RAM data that should be read/written */
|
|
/* request_pstr->bytecount_u16 : number of bytes has to be read/written */
|
|
/* request_pstr->command_enu : command code */
|
|
/* */
|
|
/* CAUTION: */
|
|
/* Due to the code size minimization no plausibility checks are done by the PFDL. */
|
|
/* */
|
|
/* Input: &request_pstr - pointer to PFDL request variable */
|
|
/* Output: - */
|
|
/* Return: status of the request */
|
|
/* ---------------------------------------------------------------------------------------------------------------*/
|
|
extern pfdl_status_t __far PFDL_Execute(__near pfdl_request_t* request_pstr) __attribute__ ((section ("PFDL_COD")));
|
|
|
|
|
|
/* ---------------------------------------------------------------------------------------------------------------*/
|
|
/* Block type: standard function */
|
|
/* ---------------------------------------------------------------------------------------------------------------*/
|
|
/* Purpose: Continuation of command execution and status update of requests being under execution. */
|
|
/* Input: - */
|
|
/* Output: - */
|
|
/* Return: PFDL status = */
|
|
/* PFDL_IDLE - no request is processed by PFDL, PFDL is ready to receive new requests */
|
|
/* PFDL_OK - processed request/command finished without problems */
|
|
/* PFDL_BUSY - request/command is still being processed */
|
|
/* other - flash or firmware related errors */
|
|
/* ---------------------------------------------------------------------------------------------------------------*/
|
|
extern pfdl_status_t __far PFDL_Handler(void) __attribute__ ((section ("PFDL_COD")));
|
|
|
|
|
|
/* ---------------------------------------------------------------------------------------------------------------*/
|
|
/* Block type: standard function */
|
|
/* ---------------------------------------------------------------------------------------------------------------*/
|
|
/* Purpose: Returns the start address of the library version string */
|
|
/* */
|
|
/* Input: - */
|
|
/* Output: - */
|
|
/* Return: starting address of the zero-terminated version string */
|
|
/* ---------------------------------------------------------------------------------------------------------------*/
|
|
extern __far pfdl_u08* __far PFDL_GetVersionString(void) __attribute__ ((section ("PFDL_COD")));
|
|
|
|
|
|
#endif
|