?? ixnpedl.h
字號:
* @brief Map old terminology that uses term "buildId" to new term * "functionalityId" * * @warning <b>THIS #define HAS BEEN DEPRECATED AND SHOULD NOT BE USED.</b> * It will be removed in a future release. * See @ref ixNpeDlNpeInitAndStart for more information. */#define IxNpeDlBuildId IxNpeDlFunctionalityId/** * @def buildId * * @brief Map old terminology that uses term "buildId" to new term * "functionalityId" * * @warning <b>THIS #define HAS BEEN DEPRECATED AND SHOULD NOT BE USED.</b> * It will be removed in a future release. * See @ref ixNpeDlNpeInitAndStart for more information. */#define buildId functionalityId/** * @def IX_NPEDL_MicrocodeImage * * @brief Map old terminology that uses term "image" to new term * "image library" * * @warning <b>THIS #define HAS BEEN DEPRECATED AND SHOULD NOT BE USED.</b> * It will be removed in a future release. * See @ref ixNpeDlNpeInitAndStart for more information. */#define IX_NPEDL_MicrocodeImage IX_NPEDL_MicrocodeImageLibrary/* * Typedefs *//** * @typedef IxNpeDlFunctionalityId * @brief Used to make up Functionality ID field of Image Id * * @warning <b>THIS typedef HAS BEEN DEPRECATED AND SHOULD NOT BE USED.</b> * It will be removed in a future release. * See @ref ixNpeDlNpeInitAndStart for more information. */typedef UINT8 IxNpeDlFunctionalityId;/** * @typedef IxNpeDlMajor * @brief Used to make up Major Release field of Image Id * * @warning <b>THIS typedef HAS BEEN DEPRECATED AND SHOULD NOT BE USED.</b> * It will be removed in a future release. * See @ref ixNpeDlNpeInitAndStart for more information. */typedef UINT8 IxNpeDlMajor;/** * @typedef IxNpeDlMinor * @brief Used to make up Minor Revision field of Image Id * * @warning <b>THIS typedef HAS BEEN DEPRECATED AND SHOULD NOT BE USED.</b> * It will be removed in a future release. * See @ref ixNpeDlNpeInitAndStart for more information. */typedef UINT8 IxNpeDlMinor;/* * Enums *//** * @brief NpeId numbers to identify NPE A, B or C * @note In this context, for IXP425 Silicon (B0):<br> * - NPE-A has HDLC, HSS, AAL and UTOPIA Coprocessors.<br> * - NPE-B has Ethernet Coprocessor.<br> * - NPE-C has Ethernet, AES, DES and HASH Coprocessors.<br> * - IXP400 Product Line have different combinations of coprocessors. */typedef enum{ IX_NPEDL_NPEID_NPEA = 0, /**< Identifies NPE A */ IX_NPEDL_NPEID_NPEB, /**< Identifies NPE B */ IX_NPEDL_NPEID_NPEC, /**< Identifies NPE C */ IX_NPEDL_NPEID_MAX /**< Total Number of NPEs */} IxNpeDlNpeId;/* * Structs *//** * @brief Image Id to identify each image contained in an image library * * @warning <b>THIS struct HAS BEEN DEPRECATED AND SHOULD NOT BE USED.</b> * It will be removed in a future release. * See @ref ixNpeDlNpeInitAndStart for more information. */typedef struct{ IxNpeDlNpeId npeId; /**< NPE ID */ IxNpeDlFunctionalityId functionalityId; /**< Build ID indicates functionality of image */ IxNpeDlMajor major; /**< Major Release Number */ IxNpeDlMinor minor; /**< Minor Revision Number */} IxNpeDlImageId;/* * Prototypes for interface functions *//** * @ingroup IxNpeDl * * @fn PUBLIC IX_STATUS ixNpeDlNpeInitAndStart (UINT32 imageId) * * @brief Stop, reset, download microcode (firmware) and finally start NPE. * * @param imageId UINT32 [in] - Id of the microcode image to download. * * This function locates the image specified by the <i>imageId</i> parameter * from the default microcode image library which is included internally by * this component. * It then stops and resets the NPE, loads the firmware image onto the NPE, * and then restarts the NPE. * * @note A list of valid image IDs is included in this header file. * See #defines with prefix IX_NPEDL_NPEIMAGE_... * * @note This function, along with @ref ixNpeDlCustomImageNpeInitAndStart * and @ref ixNpeDlLoadedImageFunctionalityGet, supercedes the following * functions which are deprecated and will be removed completely in a * future release: * - @ref ixNpeDlImageDownload * - @ref ixNpeDlAvailableImagesCountGet * - @ref ixNpeDlAvailableImagesListGet * - @ref ixNpeDlLatestImageGet * - @ref ixNpeDlLoadedImageGet * - @ref ixNpeDlMicrocodeImageLibraryOverride * - @ref ixNpeDlNpeExecutionStop * - @ref ixNpeDlNpeStopAndReset * - @ref ixNpeDlNpeExecutionStart * * @pre * - The Client is responsible for ensuring mutual access to the NPE. * @post * - The NPE Instruction Pipeline will be cleared if State Information * has been downloaded. * - If the download fails with a critical error, the NPE may * be left in an ususable state. * @return * - IX_SUCCESS if the download was successful; * - IX_NPEDL_PARAM_ERR if a parameter error occured * - IX_NPEDL_CRITICAL_NPE_ERR if a critical NPE error occured during * download * - IX_NPEDL_CRITICAL_MICROCODE_ERR if a critical microcode error * occured during download * - IX_NPEDL_DEVICE_ERR if the image being loaded is not meant for * the device currently running. * - IX_FAIL if NPE is not available or image is failed to be located. * A warning is issued if the NPE is not present. */PUBLIC IX_STATUSixNpeDlNpeInitAndStart (UINT32 npeImageId);/** * @ingroup IxNpeDl * * @fn PUBLIC IX_STATUS ixNpeDlCustomImageNpeInitAndStart (UINT32 *imageLibrary, UINT32 imageId) * * @brief Stop, reset, download microcode (firmware) and finally start NPE * * @param imageId UINT32 [in] - Id of the microcode image to download. * * This function locates the image specified by the <i>imageId</i> parameter * from the specified microcode image library which is pointed to by the * <i>imageLibrary</i> parameter. * It then stops and resets the NPE, loads the firmware image onto the NPE, * and then restarts the NPE. * * This is a facility for users who wish to use an image from an external * library of NPE firmware images. To use a standard image from the * built-in library, see @ref ixNpeDlNpeInitAndStart instead. * * @note A list of valid image IDs is included in this header file. * See #defines with prefix IX_NPEDL_NPEIMAGE_... * * @note This function, along with @ref ixNpeDlNpeInitAndStart * and @ref ixNpeDlLoadedImageFunctionalityGet, supercedes the following * functions which are deprecated and will be removed completely in a * future release: * - @ref ixNpeDlImageDownload * - @ref ixNpeDlAvailableImagesCountGet * - @ref ixNpeDlAvailableImagesListGet * - @ref ixNpeDlLatestImageGet * - @ref ixNpeDlLoadedImageGet * - @ref ixNpeDlMicrocodeImageLibraryOverride * - @ref ixNpeDlNpeExecutionStop * - @ref ixNpeDlNpeStopAndReset * - @ref ixNpeDlNpeExecutionStart * * @pre * - The Client is responsible for ensuring mutual access to the NPE. * - The image library supplied must be in the correct format for use * by the NPE Downloader (IxNpeDl) component. Details of the library * format are contained in the Functional Specification document for * IxNpeDl. * @post * - The NPE Instruction Pipeline will be cleared if State Information * has been downloaded. * - If the download fails with a critical error, the NPE may * be left in an ususable state. * @return * - IX_SUCCESS if the download was successful; * - IX_NPEDL_PARAM_ERR if a parameter error occured * - IX_NPEDL_CRITICAL_NPE_ERR if a critical NPE error occured during * download * - IX_NPEDL_CRITICAL_MICROCODE_ERR if a critical microcode error * occured during download * - IX_NPEDL_DEVICE_ERR if the image being loaded is not meant for * the device currently running. * - IX_FAIL if NPE is not available or image is failed to be located. * A warning is issued if the NPE is not present. */PUBLIC IX_STATUSixNpeDlCustomImageNpeInitAndStart (UINT32 *imageLibrary, UINT32 npeImageId);/** * @ingroup IxNpeDl * * @fn PUBLIC IX_STATUS ixNpeDlLoadedImageFunctionalityGet (IxNpeDlNpeId npeId, UINT8 *functionalityId) * * @brief Gets the functionality of the image last loaded on a particular NPE * * @param npeId @ref IxNpeDlNpeId [in] - Id of the target NPE. * @param functionalityId UINT8* [out] - the functionality ID of the image * last loaded on the NPE. * * This function retrieves the functionality ID of the image most recently * downloaded successfully to the specified NPE. If the NPE does not contain * a valid image, this function returns a FAIL status. * * @warning This function is not intended for general use, as a knowledge of * how to interpret the functionality ID is required. As such, this function * should only be used by other Access Layer components of the IXP400 Software * Release. * * @pre * * @post * * @return * - IX_SUCCESS if the operation was successful * - IX_NPEDL_PARAM_ERR if a parameter error occured * - IX_FAIL if the NPE does not have a valid image loaded */PUBLIC IX_STATUSixNpeDlLoadedImageFunctionalityGet (IxNpeDlNpeId npeId, UINT8 *functionalityId);/** * @ingroup IxNpeDl * * @fn IX_STATUS ixNpeDlMicrocodeImageLibraryOverride (UINT32 *clientImageLibrary) * * @brief This instructs NPE Downloader to use client-supplied microcode image library. * * @param clientImageLibrary UINT32* [in] - Pointer to the client-supplied * NPE microcode image library * * This function sets NPE Downloader to use a client-supplied microcode image library * instead of the standard image library which is included by the NPE Downloader. * <b>This function is provided mainly for increased testability and should not * be used in normal circumstances.</b> When not used, NPE Downloader will use * a "built-in" image library, local to this component, which should always contain the * latest microcode for the NPEs. * * @warning <b>THIS FUNCTION HAS BEEN DEPRECATED AND SHOULD NOT BE USED.</b> * It will be removed in a future release. * See @ref ixNpeDlCustomImageNpeInitAndStart. * * @pre * - <i>clientImageLibrary</i> should point to a microcode image library valid for use * by the NPE Downloader component. * * @post * - the client-supplied image library will be used for all subsequent operations * performed by the NPE Downloader * * @return * - IX_SUCCESS if the operation was successful * - IX_NPEDL_PARAM_ERR if a parameter error occured * - IX_FAIL if the client-supplied image library did not contain a valid signature */PUBLIC IX_STATUSixNpeDlMicrocodeImageLibraryOverride (UINT32 *clientImageLibrary);/** * @ingroup IxNpeDl * * @fn PUBLIC IX_STATUS ixNpeDlImageDownload (IxNpeDlImageId *imageIdPtr, BOOL verify) * * @brief Stop, reset, download microcode and finally start NPE. * * @param imageIdPtr @ref IxNpeDlImageId* [in] - Pointer to Id of the microcode * image to download. * @param verify BOOL [in] - ON/OFF option to verify the download. If ON * (verify == TRUE), the Downloader will read back * each word written to the NPE registers to * ensure the download operation was successful. * * Using the <i>imageIdPtr</i>, this function locates a particular image of * microcode in the microcode image library in memory, and downloads the microcode * to a particular NPE. * * @warning <b>THIS FUNCTION HAS BEEN DEPRECATED AND SHOULD NOT BE USED.</b> * It will be removed in a future release. * See @ref ixNpeDlNpeInitAndStart and @ref ixNpeDlCustomImageNpeInitAndStart. * * @pre * - The Client is responsible for ensuring mutual access to the NPE. * - The Client should use ixNpeDlLatestImageGet() to obtain the latest
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -