Donker 0 27 ноября, 2018 Опубликовано 27 ноября, 2018 (изменено) · Жалоба Проблемы с переходом на компилятор 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 то нет? Изменено 27 ноября, 2018 пользователем Donker Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 63 27 ноября, 2018 Опубликовано 27 ноября, 2018 · Жалоба Не зная содержимого RCC_WaitForHSEStartUp ничего сказать нельзя. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Donker 0 27 ноября, 2018 Опубликовано 27 ноября, 2018 · Жалоба Вот: Спойлер 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 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 27 ноября, 2018 Опубликовано 27 ноября, 2018 · Жалоба Так а отладчик на что дан? В нем по шагам пройтись. Или для начала скомпилированные ассемблерные команды рассмотреть с лупой. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Donker 0 27 ноября, 2018 Опубликовано 27 ноября, 2018 · Жалоба Я сам не разберусь, только недавно Keil поставил и начал ковырять stm32, возможно у кого то была точно такая проблема. Отладчик застревает на этом месте см. 1.png Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Forger 17 27 ноября, 2018 Опубликовано 27 ноября, 2018 · Жалоба 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 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Arlleex 131 27 ноября, 2018 Опубликовано 27 ноября, 2018 · Жалоба У меня по адресам исполняемого кода находится совершенно другое. Что говорит о том, что эти все CMSIS-драйверы и т.д. зеленые штучки в проекте (конфигураторы) на моем и Вашем ПК имеют различную файловую природу (я про их содержимое). Настоятельно рекомендую избавиться от этих генераторов и сделать проект с чистого листа - только исходники в рабочей папке. Поверьте, больше ничего не потребуется. Ну а Ваша проблема заключается в отсутствии ретаргетинга при явном вызове где-то в дебрях библиотек функций printf, scanf и т.д. Вот, кстати, пара ссылок на эту тему: https://electronix.ru/forum/index.php?app=forums&module=forums&controller=topic&id=82324 http://www.onarm.com/forum/58917/ Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VladislavS 29 28 ноября, 2018 Опубликовано 28 ноября, 2018 · Жалоба Donker, тебе же уже разжевали на коте всё. Для начала выключи оптимизацию - ты к ней не готов. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться