реклама на сайте
подробности

 
 
> Отключить предупреждении об неиспользуемых переменных, только в одном модуле
pokk
сообщение Nov 23 2017, 03:11
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 91
Регистрация: 3-07-11
Пользователь №: 66 028



В качестве отладки при попадании в hard_fault, использую функцию, но компилятор мне этом мне надоедает, тем что все переменные тут не используются, как убрать, эти предупреждения но только для этого модуля?
Код
//================================================================================
==================
void hard_fault_handler_c (unsigned int * hardfault_args)
{
  static unsigned int stacked_r0;
  static unsigned int stacked_r1;
  static unsigned int stacked_r2;
  static unsigned int stacked_r3;
  static unsigned int stacked_r12;
  static unsigned int stacked_lr;
  static unsigned int stacked_pc;
  static unsigned int stacked_psr;

  stacked_r0 = ((unsigned long) hardfault_args[0]);
  stacked_r1 = ((unsigned long) hardfault_args[1]);
  stacked_r2 = ((unsigned long) hardfault_args[2]);
  stacked_r3 = ((unsigned long) hardfault_args[3]);

  stacked_r12 = ((unsigned long) hardfault_args[4]);
  stacked_lr = ((unsigned long) hardfault_args[5]);
  stacked_pc = ((unsigned long) hardfault_args[6]);
  stacked_psr = ((unsigned long) hardfault_args[7]);
  NOP;
  //printf ("\n\n[Hard fault handler - all numbers in hex]\n");
//  printf ("R0 = %x\n", stacked_r0);
//  printf ("R1 = %x\n", stacked_r1);
//  printf ("R2 = %x\n", stacked_r2);
//  printf ("R3 = %x\n", stacked_r3);
//  printf ("R12 = %x\n", stacked_r12);
//  printf ("LR [R14] = %x  subroutine call return address\n", stacked_lr);
//  printf ("PC [R15] = %x  program counter\n", stacked_pc);
//  printf ("PSR = %x\n", stacked_psr);
//  printf ("BFAR = %x\n", (*((volatile unsigned long *)(0xE000ED38))));
//  printf ("CFSR = %x\n", (*((volatile unsigned long *)(0xE000ED28))));
//  printf ("HFSR = %x\n", (*((volatile unsigned long *)(0xE000ED2C))));
//  printf ("DFSR = %x\n", (*((volatile unsigned long *)(0xE000ED30))));
//  printf ("AFSR = %x\n", (*((volatile unsigned long *)(0xE000ED3C))));
//  printf ("SCB_SHCSR = %x\n", SCB->SHCSR);

  while (1);
}
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
ms1
сообщение Nov 23 2017, 14:44
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 150
Регистрация: 13-10-05
Пользователь №: 9 614



Цитата(pokk @ Nov 23 2017, 06:11) *
В качестве отладки при попадании в hard_fault, использую функцию, но компилятор мне этом мне надоедает, тем что все переменные тут не используются, как убрать, эти предупреждения но только для этого модуля?

На мой взгляд наиболее правильно использовать это:
#pragma diag_suppress
#pragma diag_default
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 25th August 2025 - 17:11
Рейтинг@Mail.ru


Страница сгенерированна за 0.01526 секунд с 7
ELECTRONIX ©2004-2016