4 Replies Latest reply on Mar 10, 2019 11:24 PM by dogaru_liviu_2439176

    what does "__enable_irq() " do in the source code main_cm4.c file?

    chaithanyas_3700256

      I am trying to find the flow chart for the findme program by analyzing the source code files.

      I was wondering what does "__enable_irq() " do in the source code main_cm4.c file?

      Here, I don't see any declaration for interrupts

       

       

      /*******************************************************************************

      * File Name: main_cm4.c

      *

      * Version 1.10

      *

      * Description:

      *  This is the source code CM4 core for the BLE project (for dual cores MPN).

      *

      * Hardware Dependency:

      *  CY8CKIT-062 PSoC6 BLE Pioneer Kit

      *  CY8CPROTO-063-BLE PSoC 6 BLE Prototyping Kit

      *

      ******************************************************************************

      * Copyright (2018), Cypress Semiconductor Corporation.

      ******************************************************************************

      * This software is owned by Cypress Semiconductor Corporation (Cypress) and is

      * protected by and subject to worldwide patent protection (United States and

      * foreign), United States copyright laws and international treaty provisions.

      * Cypress hereby grants to licensee a personal, non-exclusive, non-transferable

      * license to copy, use, modify, create derivative works of, and compile the

      * Cypress Source Code and derivative works for the sole purpose of creating

      * custom software in support of licensee product to be used only in conjunction

      * with a Cypress integrated circuit as specified in the applicable agreement.

      * Any reproduction, modification, translation, compilation, or representation of

      * this software except as specified above is prohibited without the express

      * written permission of Cypress.

      *

      * Disclaimer: CYPRESS MAKES NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, WITH

      * REGARD TO THIS MATERIAL, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED

      * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.

      * Cypress reserves the right to make changes without further notice to the

      * materials described herein. Cypress does not assume any liability arising out

      * of the application or use of any product or circuit described herein. Cypress

      * does not authorize its products for use as critical components in life-support

      * systems where a malfunction or failure may reasonably be expected to result in

      * significant injury to the user. The inclusion of Cypress' product in a life-

      * support systems application implies that the manufacturer assumes all risk of

      * such use and in doing so indemnifies Cypress against all charges. Use may be

      * limited by and subject to the applicable Cypress software license agreement.

      *****************************************************************************/

       

       

      #include "common.h"

       

       

       

       

      /*******************************************************************************

      * Function Name: main()

      ********************************************************************************

      *

      * Summary:

      *  Main function for the project.

      *

      *******************************************************************************/

      int main()

      {

          /* Unfreeze IO after Hibernate */

          if(Cy_SysPm_IoIsFrozen())

          {

              Cy_SysPm_IoUnfreeze();

          }

         

          /* Enable global interrupts */

         __enable_irq();

       

       

      #if(CY_BLE_CONFIG_HOST_CORE == CY_BLE_CORE_CORTEX_M4)  

         

          /* Run Host main */

          HostMain();

       

       

      #else

          for(;;)

          {

              /* To achieve low power */

              Cy_SysPm_DeepSleep(CY_SYSPM_WAIT_FOR_INTERRUPT);

          }

      #endif /* (CY_BLE_CONFIG_HOST_CORE == CY_BLE_CORE_CORTEX_M4) */

      }

      /* [] END OF FILE */