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

 
 
> GCC STM32 static var
Dave Owen
сообщение May 9 2014, 21:17
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 32
Регистрация: 12-04-09
Пользователь №: 47 556



Хочу перенести проект с Keil на CooIDE+GCC
почему-то не хотят инициализироваться переменные помеченные как static

Код
static int TestVar = 0;

int main(void)
{
     asm(" NOP");        <- точка останова

    //TestVar ++;

    while(1)
    {
    }
}


Значение переменной почти всегда мусор значения от 999 до 1М. Хотя жду что будет 0
Может кто сталкивался с такой проблемой?


Полностью проект получился такой
Прикрепленные файлы
Прикрепленный файл  TestStatic.zip ( 166.91 килобайт ) Кол-во скачиваний: 12
 
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
adnega
сообщение May 10 2014, 13:40
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



Может у Вас startup плохой или скрипт линкера.
Посмотрел startup - там какой-то враг все закементировал))
Код
void Default_Reset_Handler(void)
{
  /* Initialize data and bss */
  unsigned long *pulSrc, *pulDest;

  /* Copy the data segment initializers from flash to SRAM */
//  pulSrc = &_sidata;
//
//  for(pulDest = &_sdata; pulDest < &_edata; )
//  {
//    *(pulDest++) = *(pulSrc++);
//  }
//
//  /* Zero fill the bss segment. */
//  for(pulDest = &_sbss; pulDest < &_ebss; )
//  {
//    *(pulDest++) = 0;
//  }

  /* Setup the microcontroller system. */
  SystemInit();
    
  /* Call the application's entry point.*/
  main();
}
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 24th July 2025 - 12:09
Рейтинг@Mail.ru


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