From c30bb507691b92645bc51c3d835efc844dfc5232 Mon Sep 17 00:00:00 2001 From: qiusongxiao Date: Wed, 6 Dec 2023 19:43:25 +0800 Subject: [PATCH] add true --- OTP_Cache_backUp/.build/_iflag.rsp | 2 +- OTP_Cache_backUp/.build/src/xburn.xc.d | 2 +- OTP_Cache_backUp/.build/src/xburn.xc.o | Bin 24342 -> 24685 bytes OTP_Cache_backUp/.build/xburn.d | 2 +- OTP_Cache_backUp/Makefile | 2 +- OTP_Cache_backUp/lib/libotp3.a | Bin 153990 -> 0 bytes .../{src/extensions => lib}/otp.h | 0 OTP_Cache_backUp/src/extensions/otp3.h | 270 ------------------ 8 files changed, 4 insertions(+), 274 deletions(-) delete mode 100644 OTP_Cache_backUp/lib/libotp3.a rename OTP_Cache_backUp/{src/extensions => lib}/otp.h (100%) delete mode 100644 OTP_Cache_backUp/src/extensions/otp3.h diff --git a/OTP_Cache_backUp/.build/_iflag.rsp b/OTP_Cache_backUp/.build/_iflag.rsp index de6fbbc..cd11d2d 100644 --- a/OTP_Cache_backUp/.build/_iflag.rsp +++ b/OTP_Cache_backUp/.build/_iflag.rsp @@ -1 +1 @@ --I"../." -I".././lib" -I".././src" -I".././src/core" -I".././src/extensions" +-I"../." -I".././lib" -I".././src" -I".././src/core" diff --git a/OTP_Cache_backUp/.build/src/xburn.xc.d b/OTP_Cache_backUp/.build/src/xburn.xc.d index 76ed9c3..549fc15 100644 --- a/OTP_Cache_backUp/.build/src/xburn.xc.d +++ b/OTP_Cache_backUp/.build/src/xburn.xc.d @@ -1,5 +1,5 @@ .build/src/xburn.xc.d .build/src/xburn.xc.o .build/src/xburn.xc.pca.xml: \ ././src/xburn.xc \ - C:/Users/qiu/Desktop/新建文件夹/OTP_Cache_backUp/src/extensions/otp.h + C:/Users/qiu/Desktop/新建文件夹/OTP_Cache_backUp/lib/otp.h diff --git a/OTP_Cache_backUp/.build/src/xburn.xc.o b/OTP_Cache_backUp/.build/src/xburn.xc.o index 18246fb0a821837f028eb45fe700f7e8df0180c5..d8cb72e5e1a7708954674985f7c71d2ffe57de37 100644 GIT binary patch literal 24685 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 literal 24342 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 I0g1=|1KXYS!TSx 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 diff --git a/OTP_Cache_backUp/src/extensions/otp.h b/OTP_Cache_backUp/lib/otp.h similarity index 100% rename from OTP_Cache_backUp/src/extensions/otp.h rename to OTP_Cache_backUp/lib/otp.h diff --git a/OTP_Cache_backUp/src/extensions/otp3.h b/OTP_Cache_backUp/src/extensions/otp3.h deleted file mode 100644 index 39445fb..0000000 --- a/OTP_Cache_backUp/src/extensions/otp3.h +++ /dev/null @@ -1,270 +0,0 @@ -/** - * \file otp.h - * - * This API provides functions to program and read the OTP (One Time - * Programmable) memory of an xCORE. Functions are provided to program and read - * the OTP memory using both single-ended and differential modes. Functions are - * also provided that allow automatic repair of failed programming locations - * using the OTP redundancy registers. Access is also provided to program and - * read the OTP special registers. - */ - -#ifndef _OTP3_H_ -#define _OTP3_H_ - -#include - -#ifdef __otp_conf_h_exists__ -#include "otp_conf.h" -#endif - -//////////////////////////////////////////////////////////////////////////////// - -/** - * OTP Statistics gathering is disabled by default. #define OTP_STATS 1 in - * user defined otp_conf.h to enable - */ -#ifndef OTP_STATS -#define OTP_STATS 0 -#endif //OTP_STATS - -/** - * Maximum size of OTP memory per tile in words. The 8kB OTP is split into two halves, each allocated to a tile. - */ -#define OTP_SIZE (0x800 / 2) - -/** - * Standard initializer for an otp_ports_t structure. Use as follows: - * on stdcore[0]: OTPPorts otp_ports = OTP_PORTS_INITIALIZER; - */ -#define OTP_PORTS_INITIALIZER \ -{ \ - 0, \ - XS1_PORT_32B \ -} - -//////////////////////////////////////////////////////////////////////////////// - -/** - * Structure contains ports used to access OTP memory. - */ -typedef struct OTPPorts -{ - unsigned otp_shadow_g; - port otp_data_g; -} OTPPorts; - -/** - * If OTP_STATS is set then the OTP library will record statistics - * during OTP memory programming. These statistics can then be used to - * determine the success/failure status from the programming event. Stats can - * the be retrieved using function OTPStats_GetStats. - */ -#if (OTP_STATS) -typedef struct OTPStats -{ - unsigned programmed_words; ///< Number of words that were successfully programmed - unsigned programmed_bits; ///< Number of bits that were successfully programmed using the short programming pulse - unsigned soaked_bits; ///< Number of bits that were successfully programmed using the long programming pulse - unsigned leaky_bits; ///< Number of bits that are already in the programmed state before programming commenced but should not be programmed - unsigned failed_to_program_words; ///< Number of words that failed to program - unsigned redundant_sectors_used; ///< Number of redundant sectors used (L1 family only) -} OTPStats; -#endif //OTP_STATS - - -//////////////////////////////////////////////////////////////////////////////// - -/** - * This function programs a block of OTP memory of defined size at address - * using default single_ended mode. This function will attempt to repair any - * failures using the redundancy registers on the L1 family of processors. - * - * \param[in] ports : OTPPorts - the OTPPorts structure. - * \param[in] address : unsigned - the location in OTP memory to write to. - * \param[in] data : const unsigned[] - an array of data to be written. - * \param[in] size : unsigned - the amount of data to be written. - * \returns 1 if successful; 0 if failed. - */ -int otp_program(REFERENCE_PARAM(OTPPorts, ports), - unsigned address, - const unsigned data[], - unsigned size); - -/** - * This function programs a block of OTP memory of defined size at address - * using enhanced differential mode. This function will attempt to repair any - * failures using the redundancy registers on the L1 family of processors. - * Differential mode programming is not available on the G4 family of - * processors and will simply return 0 (failed). - * - * \param[in] ports : OTPPorts - the OTPPorts structure. - * \param[in] address : unsigned - the location in OTP memory to write to. - * \param[in] data : const unsigned[] - an array of data to be written. - * \param[in] size : unsigned - the amount of data to be written. - * \returns 1 if successful; 0 if failed. - */ -int otp_program_differential(REFERENCE_PARAM(OTPPorts, ports), - unsigned address, - const unsigned data[], - unsigned size); - -/** - * This function programs a block of OTP memory of defined size at address - * using default single_ended mode. No attempt to repair unprogrammed/faulty - * bits will take place using this function however a failure map is returned - * providing an indication of otp memory that was not successfully programmed. - * - * \param[in] ports : OTPPorts - the OTPPorts structure. - * \param[in] address : unsigned - the location in OTP memory to write to. - * \param[in] data : const unsigned[] - an array of data to be written. - * \param[in] size : unsigned - the amount of data to be written. - * \param[out] failmap : unsigned [] - location of bits that failed to program - * successfully. - * \returns 1 if successful; 0 if failed. - */ -int otp_program_no_repair(REFERENCE_PARAM(OTPPorts, ports), - unsigned address, - const unsigned data[], - unsigned size, - char failmap[]); - -/** - * This function programs a block of OTP memory of defined size at address - * using enhanced differential mode. No attempt to repair unprogrammed/faulty - * bits will take place using this function however a failure map is returned - * providing an indication of otp memory that was not successfully programmed. - * Differential mode programming is not available on the G4 family of - * processors and will simply return 0 (failed). - * - * \param[in] ports : OTPPorts - the OTPPorts structure. - * \param[in] address : unsigned - the location in OTP memory to write to. - * \param[in] data : const unsigned[] - an array of data to be written. - * \param[in] size : unsigned - the amount of data to be written. - * \param[out] failmap : unsigned [] - location of bits that failed to program - * successfully. - * \returns 1 if successful; 0 if failed. - */ -int otp_program_differential_no_repair(REFERENCE_PARAM(OTPPorts, ports), - unsigned address, - const unsigned data[], - unsigned size, - char failmap[]); - -/** - * OTP_ProgramSpecialRegister programs a word to the OTP special register. - * - * \param[in] ports : OTPPorts - the OTPPorts structure. - * \param[in] t : timer - a timer handle. - * \param[in] data : unsigned - the data to be written. - * \returns 1 if successful; 0 if failed. - */ -int otp_program_special_register(REFERENCE_PARAM(OTPPorts, ports), unsigned data); - -/** - * otp_program_secure_config_register programs a word to the OTP secure config - * register. - * - * \param[in] ports : OTPPorts - the OTPPorts structure. - * \param[in] t : timer - a timer handle. - * \param[in] data : unsigned - the data to be written. - * \returns 1 if successful; 0 if failed. - */ -int otp_program_secure_config_register(REFERENCE_PARAM(OTPPorts, ports), unsigned data); - -//Program a single word without repairing any errors -int otpprogram_writeword_norepair(REFERENCE_PARAM(OTPPorts, ports), - unsigned address, - unsigned data); - -/** - * OTP_Read reads a block of OTP data of defined size from address using - * default single_ended mode. - * - * \param[in] ports : OTPPorts - the OTPPorts structure. - * \param[in] address : unsigned - the location in OTP memory to read from. - * \param[out] data : unsigned[] - an array of words that the data being - * read can be stored in. - * \param[in] size : unsigned - the amount of data to be read. - */ -void otp_read(REFERENCE_PARAM(OTPPorts, ports), - unsigned address, - unsigned data[], - unsigned size); - -/** - * OTP_ReadDifferential reads a block of OTP data of defined size from address - * using enhanced differential mode. - * - * \param[in] ports : OTPPorts - the OTPPorts structure. - * \param[in] address : unsigned - the location in OTP memory to read from. - * \param[out] data : unsigned[] - an array of words that the data being read - * can be stored in. - * \param[in] size : unsigned - the amount of data to be read. - */ -void otp_read_differential(REFERENCE_PARAM(OTPPorts, ports), - unsigned address, - unsigned data[], - unsigned size); - -/** - * OTP_ReadSpecialRegister reads a word from the OTP special register. - * - * \param[in] ports : OTPPorts - the OTPPorts structure. - * \param[out] data : unsigned - the word read from the special register. - */ -void otp_read_special_register(REFERENCE_PARAM(OTPPorts, ports), REFERENCE_PARAM(unsigned, data)); - -/** - * otp_read_secure_config_register reads a word from the OTP secure config - * register. - * - * \param[in] ports : OTPPorts - the OTPPorts structure. - * \param[out] data : unsigned - the word read from the special register. - */ -void otp_read_secure_config_register(REFERENCE_PARAM(OTPPorts, ports), REFERENCE_PARAM(unsigned, data)); - -//////////////////////////////////////////////////////////////////////////////// - -#if (OTP_STATS) - -/** - * This function retrieves the statistics from the last programming event. - * Requires the #define OTP_STATS to be set to 1 in user defined otp_conf.h - * to activate statistic gathering. - * - * \param[out] stats : OTPStats - structure that will contain the statitic - * information - */ -void otpstats_get_stats(REFERENCE_PARAM(OTPStats, stats)); - -/** - * This function allows two OTPStats structs to be merged together. - * Requires the #define OTP_STATS to be set to 1 in user defined otp_conf.h - * to activate statistic gathering. - * - * \param[in, out] a : OTPStats - structure contains the original stats and - * param b will be merged with them - * \param[in] b : OTPStats - structure contains the stats that are to be merged - * with param a - */ -void otpstats_merge_stats(REFERENCE_PARAM(OTPStats, a), - REFERENCE_PARAM(const OTPStats, b)); - -/** - * This function outputs the statistics from the given OTPStats struct. - * Requires the #define OTP_STATS to be set to 1 in user defined otp_conf.h - * to activate statistic gathering. - * - * \param[in] stats : OTPStats - structure containing the stats to be printed. - * - */ -void otpstats_print_stats(REFERENCE_PARAM(const OTPStats, stats)); - -#endif //OTP_STATS - -//////////////////////////////////////////////////////////////////////////////// - -#endif //_OTP3_H_ - -////////////////////////////////////////////////////////////////////////////////