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

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
chsrc_3700256
Level 3
Level 3
10 replies posted 5 replies posted 5 questions asked

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 */

0 Likes
1 Solution
LiDo_2439176
Level 5
Level 5
First question asked 50 replies posted 50 sign-ins

Indeed, you don't see any declaration for interrupts. But, bluetooth radio subsystem use own interrupt handler.

You can see it on Find Me Project , Design Wide Resources → Interrupts.

Out of device reset, all interrupts are disabled and interrupt priorities are set to zero.

 

More information on AN217666 - PSoC 6 MCU Interrupts and AN210781 - Getting Started with PSoC 6 MCU with Bluetooth Low Energy (BLE) Connectivity


 

View solution in original post

4 Replies
LiDo_2439176
Level 5
Level 5
First question asked 50 replies posted 50 sign-ins

Indeed, you don't see any declaration for interrupts. But, bluetooth radio subsystem use own interrupt handler.

You can see it on Find Me Project , Design Wide Resources → Interrupts.

Out of device reset, all interrupts are disabled and interrupt priorities are set to zero.

 

More information on AN217666 - PSoC 6 MCU Interrupts and AN210781 - Getting Started with PSoC 6 MCU with Bluetooth Low Energy (BLE) Connectivity


 

Thank you Liviu Dogargu !! the resource shares is of great help!! thank you so much.

0 Likes

Liviu Dogaru,

I was wondering if there is a detailed similar file for Psoc6 BLE prototyping kit with device CYBLE-416045-02.?

if so can you please share it?

0 Likes

Hi chaithanyas_3700256,

you can find information about Psoc6 BLE prototyping kit here.

Best regards,

Liviu

0 Likes