Перейти к содержанию
    

Проблемы с переходом на компилятор C/C++ v6 в Keil

Проблемы с переходом на компилятор C/C++ v6 в Keil

Почему в Keil 5.24a этот код для STM32F103C6:

 

 

	ErrorStatus HSEStartUpStatus;

	/* SYSCLK, HCLK, PCLK2 and PCLK1 configuration -----------------------------*/

	RCC_DeInit();  

	RCC_HSEConfig( RCC_HSE_ON); /* Включаем HSE (внешний кварц) */

	HSEStartUpStatus = RCC_WaitForHSEStartUp(); /* Ждем пока HSE будет готов */    

	if (HSEStartUpStatus == SUCCESS)  /* Если с HSE все в порядке */

	  {

	  //код настройки

	  }

 

выполняет блок "//код настройки" если скомпилирован 5 версией компилятора С/С++ , а если  версией 6.7 то нет?

Изменено пользователем Donker

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вот:

Спойлер

ErrorStatus RCC_WaitForHSEStartUp(void)
{
  __IO uint32_t StartUpCounter = 0;
  ErrorStatus status = ERROR;
  FlagStatus HSEStatus = RESET;
 
  /* Wait till HSE is ready and if Time out is reached exit */
  do
  {
    HSEStatus = RCC_GetFlagStatus(RCC_FLAG_HSERDY);
    StartUpCounter++;  
  } while((StartUpCounter != HSE_STARTUP_TIMEOUT) && (HSEStatus == RESET));
 
  if (RCC_GetFlagStatus(RCC_FLAG_HSERDY) != RESET)
  {
    status = SUCCESS;
  }
  else
  {
    status = ERROR;
  }  
  return (status);
}

Целиком весь проект: https://yadi.sk/d/P9BVOK9aZ1WY2Q

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Так а отладчик на что дан? В нем по шагам пройтись. Или для начала скомпилированные ассемблерные команды рассмотреть с лупой.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я сам не разберусь, только недавно Keil поставил и начал ковырять stm32, возможно у кого то была точно такая проблема.

Отладчик застревает на этом месте см. 1.png

1.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

3 hours ago, Donker said:

Проблемы с переходом на компилятор C/C++ v6 в Keil

версией 6.7 

 

6.7 - архаика, установите свежий Keil, а еще предпочтительнее - скачайте свежий компилятор:

https://developer.arm.com/products/software-development-tools/compilers/arm-compiler/downloads/version-6

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У меня по адресам исполняемого кода находится совершенно другое. Что говорит о том, что эти все CMSIS-драйверы и т.д. зеленые штучки в проекте (конфигураторы) на моем и Вашем ПК имеют различную файловую природу (я про их содержимое). Настоятельно рекомендую избавиться от этих генераторов и сделать проект с чистого листа - только исходники в рабочей папке. Поверьте, больше ничего не потребуется.

Ну а Ваша проблема заключается в отсутствии ретаргетинга при явном вызове где-то в дебрях библиотек функций printf, scanf и т.д.

Вот, кстати, пара ссылок на эту тему:

https://electronix.ru/forum/index.php?app=forums&module=forums&controller=topic&id=82324

http://www.onarm.com/forum/58917/

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Donker, тебе же уже разжевали на коте всё. Для начала выключи оптимизацию - ты к ней не готов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...