Quantcast
Channel: MSP low-power microcontroller forum - Recent Threads
Viewing all articles
Browse latest Browse all 22461

MSP430FR5989-EP: MSP430FR5989 Ram Usage for Specific Functions

$
0
0
Part Number: MSP430FR5989-EP

Tool/software:

Hello,

I am using macros for some making calculations.  I got a warning on my function like recommending to ram during run time so I would like to make this calculations by using RAM. How do I  run my function in RAM? I am sharing the macros and the function below.

Regards.

#define FGD_SW_CURR_VAL(VALUE)                (VALUE * 2.0 * 1000.0 * 2.0  /4095.0 / 8.0)
#define SYS_3V3_VOLT(VALUE)                   (VALUE * 2.0 *1000.0 * 2.0 /4095.0)
#define SYS_5V_VOLT(VALUE)                    (VALUE * 2.0 * 1000.0  * 6.9 / 2.2 / 4095.0)
#define VSENS_3V3_CURR(VALUE)                 (VALUE * 2.0 * 1000.0 / 4095.0 / 3.0)
#define SYS_5VA_SW_CURR(VALUE)                (VALUE * 2.0 *1000.0  *2.0 /4095.0 / 8.0)
#define SYS_3V3_SENSE_VOLT(VALUE)             (VALUE * 2.0 *1000.0 * 2.0 /4095.0)
#define SYS_5VA_VOLT(VALUE)                   (VALUE * 2.0 * 1000.0  * 6.9 / 2.2 / 4095.0)
#define SYS_5V_FGD_VOLT(VALUE)                (VALUE * 2.0 * 1000.0  * 6.9 / 2.2 / 4095.0)

#define IS_SYS_MON_VAL_IN_INTERVAL(VALUE, MIN_VAL, MAX_VAL) ((VALUE) >= (MIN_VAL) && (VALUE) <= (MAX_VAL))


//#pragma CODE_SECTION(CheckSysMonData, ".TI.ramfunc")
uint16_t CheckSysMonData(volatile S_SYS_MON_DATA *sys_mon_data){


     uint16_t sys_mon_status = SYS_MON_SUCCESS;

      if ( !IS_SYS_MON_VAL_IN_INTERVAL(SYS_3V3_VOLT(sys_mon_data->Sys_3V3), EXPECTED_SYS_3V3 - SYS_VOLT_EPSILON ,EXPECTED_SYS_3V3 + SYS_VOLT_EPSILON )){
          sys_mon_status |= VOLT_3V3_INTERV_ERR;
      }

      if( !IS_SYS_MON_VAL_IN_INTERVAL(SYS_5V_VOLT(sys_mon_data->Sys_5V), EXPECTED_SYS_5V - SYS_VOLT_EPSILON ,EXPECTED_SYS_5V + SYS_VOLT_EPSILON )){
          sys_mon_status |= VOLT_5V_INTERV_ERR;
      }

      if( !IS_SYS_MON_VAL_IN_INTERVAL(SYS_5VA_VOLT(sys_mon_data->Sys_5VA), EXPECTED_SYS_5V - SYS_VOLT_EPSILON ,EXPECTED_SYS_5V + SYS_VOLT_EPSILON )){
          sys_mon_status |= VOLT_5VA_INTERV_ERR;
      }

      if( !IS_SYS_MON_VAL_IN_INTERVAL(SYS_5V_FGD_VOLT(sys_mon_data->Sys_5V_FGD), EXPECTED_SYS_5V - SYS_VOLT_EPSILON ,EXPECTED_SYS_5V + SYS_VOLT_EPSILON )){
          sys_mon_status |= VOLT_5V_FGD_INTERV_ERR;
      }

      if( !IS_SYS_MON_VAL_IN_INTERVAL(SYS_3V3_SENSE_VOLT(sys_mon_data->Sys_3V3_SENSE), EXPECTED_SYS_3V3 - SYS_VOLT_EPSILON ,EXPECTED_SYS_3V3 + SYS_VOLT_EPSILON )){
           sys_mon_status |= VOLT_3V3_SENSE_INTERV_ERR;
      }

      return sys_mon_status;
}

Viewing all articles
Browse latest Browse all 22461

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>