Например TDA7294

Форум РадиоКот • Просмотр темы - STM32F4 Есть вопросы.
Форум РадиоКот
Здесь можно немножко помяукать :)



Текущее время: Пт июл 19, 2019 04:54:07

Часовой пояс: UTC + 3 часа [ Летнее время ]


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 46 ]  1, ,  
Автор Сообщение
Не в сети
 Заголовок сообщения: STM32F4 Есть вопросы.
СообщениеДобавлено: Вт мар 20, 2012 10:28:03 
Модератор
Аватар пользователя

Карма: 68
Рейтинг сообщений: 424
Зарегистрирован: Ср ноя 26, 2008 17:34:25
Сообщений: 13511
Откуда: Тамбовская обл.
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Имеется STM32F4DISCOVERY. Пытаюсь запустить простейший код на F4 с помощью gcc + Eclipse. IDE настроил, дебаггер тоже, вроде всё нормально компилится и запускается. Код простейший, по миганию светодиодами. Проблема в том, что я не понял, как настроить тактирование или что-то в этом роде.

Дебаггер сначала показывает выполнение кода в startup_stm32f4xx.s (вроде так и должно быть), затем вызывает функцию SetSysClock, где зацикливается на этом месте:
Код:
static void SetSysClock(void)
{
/******************************************************************************/
/*            PLL (clocked by HSE) used as System clock source                */
/******************************************************************************/
  __IO uint32_t StartUpCounter = 0, HSEStatus = 0;
 
  /* Enable HSE */
  RCC->CR |= ((uint32_t)RCC_CR_HSEON);
 
  /* Wait till HSE is ready and if Time out is reached exit */
  do // <<<<<<<  ЭТОТ КОД ВЫПОЛНЯЕТСЯ БЕСКОНЕЧНО
  {
    HSEStatus = RCC->CR & RCC_CR_HSERDY; 
    StartUpCounter++;   
  } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); // <<<<<<<<<<<<<<<<<<<<<<


То есть, как я понял, флаг RCC_CR_HSERDY не поднимается. И всё, до main() так и не доходит.

В чём может быть проблема? В проекте всё по дефолту, ничего не менял.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32F4 Есть вопросы.
СообщениеДобавлено: Вт мар 20, 2012 11:03:47 
Вымогатель припоя
Аватар пользователя

Зарегистрирован: Вт окт 27, 2009 23:39:19
Сообщений: 672
Откуда: Москва
Рейтинг сообщения: 0
Ну так, как это аппаратный флаг :
Цитата:
Set by hardware to indicate that the HSE oscillator is stable.

то думаю что что-то с кварцем...

Можно закомментить эту строчку. МК запустится от внутреннего генератора.

_________________
— Не говорите мне что делать и я не скажу куда Вам идти...


Вернуться наверх
 
JLCPCB, всего $2 за прототип печатной платы! Цвет - любой!

Отличное качество, подтвержденное более чем 600,000 пользователей! Более 10,000 заказов в день.

Зарегистрируйтесь и получите два купона по 5$ каждый:https://jlcpcb.com/quote

Не в сети
 Заголовок сообщения: Re: STM32F4 Есть вопросы.
СообщениеДобавлено: Вт мар 20, 2012 11:13:02 
Модератор
Аватар пользователя

Карма: 68
Рейтинг сообщений: 424
Зарегистрирован: Ср ноя 26, 2008 17:34:25
Сообщений: 13511
Откуда: Тамбовская обл.
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Угу, уже нарыл. Похоже не заводится генератор. Кстати, а почему он может не завестись?

Так еще фишка в том, что анализируется константа HSE_STARTUP_TIMEOUT, которая по дефолту равна 0x00500, т.е. как я понял, код должен подождать некоторое время, пока заведётся генератор, если он не завёлся - стартануть как есть. Но стоял полчаса, так ничего и не произошло :)


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $88 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay
Не в сети
 Заголовок сообщения: Re: STM32F4 Есть вопросы.
СообщениеДобавлено: Вт мар 20, 2012 22:21:49 
Модератор
Аватар пользователя

Карма: 68
Рейтинг сообщений: 424
Зарегистрирован: Ср ноя 26, 2008 17:34:25
Сообщений: 13511
Откуда: Тамбовская обл.
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Блин, ничего не понимаю...
Когда закомментировал условие, стало происходить странное:
Код:
  if ((RCC->CR & RCC_CR_HSERDY) != RESET)
  {
    HSEStatus = (uint32_t)0x01; <<<< Эта строка выполняется
  }
  else
  {
    HSEStatus = (uint32_t)0x00;  <<<<< Эту проскакиваем
  }

По идее должно быть HSEStatus == 1. Но следом:
Код:
  if (HSEStatus == (uint32_t)0x01)
  {
    /* Select regulator voltage output Scale 1 mode, System frequency up to 168 MHz */
    RCC->APB1ENR |= RCC_APB1ENR_PWREN;
    PWR->CR |= PWR_CR_VOS;
   
    Далее идёт настройка PLL

Но условие не выполняется, весь код настройки пропускается, и попадаем в бесконечный цикл в startup_stm32f4xx.s
Код:
 * @brief  This is the code that gets called when the processor receives an
 *         unexpected interrupt.  This simply enters an infinite loop, preserving
 *         the system state for examination by a debugger.
*/
    .section  .text.Default_Handler,"ax",%progbits
Default_Handler:
Infinite_Loop:
  b  Infinite_Loop
  .size  Default_Handler, .-Default_Handler




Вообще ничего не понимаю :(
Есть у кого-нибудь рабочий пример включения светодиода под F4? Со всеми инклудами?


Вернуться наверх
 
Плавкие предохранители LittelFuse. Грамотный подбор

Выбор оптимального плавкого предохранителя требует учета многих параметров. Для упрощения выбора оптимального предохранителя и автоматизации расчетов Littelfuse предлагает онлайн-утилиту. Подробнее>>
Не в сети
 Заголовок сообщения: Re: STM32F4 Есть вопросы.
СообщениеДобавлено: Вт мар 20, 2012 22:23:32 
Держит паяльник хвостом
Аватар пользователя

Карма: 9
Рейтинг сообщений: 40
Зарегистрирован: Сб апр 02, 2011 18:59:22
Сообщений: 995
Откуда: Город-герой Севастополь
Рейтинг сообщения: 0
Если бы это не была заводская плата, я бы порекомендовал обратить внимание на кварц и его обвязку. Из какого проекта этот system_stm32f4xx.c?
Кстати, можно сгенерить system с помощью STM32F4xx_Clock_Config (это чтоб не тратить время на настройку врукопашную), воткнуть в проект и глянуть.
ЗЫ. Рука дернулась, не успел прочитать последнее добавленное сообщение, как нажал кнопку.
ЗЗЫ. Могу написать быстренько "мигалку". Могу под FreeRTOS :)))

_________________
pavel_cydenov: Вобще я праAVRославный человек. Но и про ислARM слышал много хорошего )
MrYuran: Самые ортодоксальные — это PICудеи )
Katz: Не, 51-ники. )
Изображение


Вернуться наверх
 
Немногим дороже дискретного решения: новое поколение импульсных стабилизаторов Mornsun

Практически во всех радиоэлектронных устройствах массово применяются линейные понижающие стабилизаторы напряжения типа КРЕН в корпусе TO220 (другое обозначение – 78хх) и им подобные для формирования основного напряжения питания схемы.
Данные стабилизаторы позволяют без особых затрат получить нужное для каскада или узла схемы напряжение, если устройство питается от внешнего источника с более высоким напряжением. Для этого требуются… Подробнее>>
Не в сети
 Заголовок сообщения: Re: STM32F4 Есть вопросы.
СообщениеДобавлено: Вт мар 20, 2012 22:31:45 
Модератор
Аватар пользователя

Карма: 68
Рейтинг сообщений: 424
Зарегистрирован: Ср ноя 26, 2008 17:34:25
Сообщений: 13511
Откуда: Тамбовская обл.
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Цитата:
Из какого проекта этот system_stm32f4xx.c?
Взял с сайта ST, в стандартной библиотеке был:
CMSIS/Device/ST/STM32F4xx/Source/Templates
Цитата:
Могу написать быстренько "мигалку". Могу под FreeRTOS

Не, уж лучше на голом асме :)))

Вообще, для пустого проекта (ну, с библиотекой периферии) что нужно?

--------------

Я уж жалею, что не прикупил до кучи ни одного дешевенького F100. Плата макетная под него есть, ST-LINK есть, и под него куча примеров. А тут с нуля на F4...


Вернуться наверх
 


Не в сети
 Заголовок сообщения: Re: STM32F4 Есть вопросы.
СообщениеДобавлено: Вт мар 20, 2012 22:48:30 
Держит паяльник хвостом
Аватар пользователя

Карма: 9
Рейтинг сообщений: 40
Зарегистрирован: Сб апр 02, 2011 18:59:22
Сообщений: 995
Откуда: Город-герой Севастополь
Рейтинг сообщения: 0
Там, конечно, указана частота HSE 25 MHz, но мой текущий проект (с HSE на 8 МГц) запустился и с этим system_stm32f4xx.c филиком.

ploop писал(а):
Вообще, для пустого проекта (ну, с библиотекой периферии) что нужно?

В смысле что должно быть включено в проект?
Startup_...s, system_...c, stm32f4xx.h (этот хидер уже в мэйне должен быть подключен). Ну а из периферии - все исходники, что планируется использовать.
Только я что вспомнил - я-то в IAR работаю.
ploop писал(а):
Я уж жалею, что не прикупил до кучи ни одного дешевенького F100.

А у меня как раз ненужные плесенью покрываются..

_________________
pavel_cydenov: Вобще я праAVRославный человек. Но и про ислARM слышал много хорошего )
MrYuran: Самые ортодоксальные — это PICудеи )
Katz: Не, 51-ники. )
Изображение


Вернуться наверх
 


Не в сети
 Заголовок сообщения: Re: STM32F4 Есть вопросы.
СообщениеДобавлено: Ср мар 21, 2012 14:02:18 
Модератор
Аватар пользователя

Карма: 68
Рейтинг сообщений: 424
Зарегистрирован: Ср ноя 26, 2008 17:34:25
Сообщений: 13511
Откуда: Тамбовская обл.
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Может кто подскажет, как вообще не трогать эти все PLL и настройки тактирования, а запустить как-нибудь по дефолту? Чтобы хоть в свой main() попасть, а дальше уж потихоньку разбираться буду.


Вернуться наверх
 
Prist.ru предлагает скидку всем частным лицам при покупке приборов АКИП, GW Instek, APPA (кроме осциллографов АКИП-4115/1А, GDS-71102)!

Интересные новинки уже на складе:

Осциллограф АКИП-4126Е

Многоканальные источники питания серии GPP

Не в сети
 Заголовок сообщения: Re: STM32F4 Есть вопросы.
СообщениеДобавлено: Ср мар 21, 2012 14:04:53 
Друг Кота
Аватар пользователя

Карма: 22
Рейтинг сообщений: 106
Зарегистрирован: Чт ноя 04, 2010 02:56:36
Сообщений: 7322
Откуда: г. Москва
Рейтинг сообщения: 0
Ну, забей пока на HSE, Пуская на HSI -))
Можно с PLL, можно без, но медленно -))

Если на медленно пофиг - просто закоменть эту функцию на корню, оно изначально на HSI напрямую и стартует. Сколько МГЦ - не помню.


Вернуться наверх
 
Купить электронные компоненты в LCSC

Отправка со склада через 4 часа после заказа!
900 000 пользователей, 3000+ заказов в день!
Зарегистрируйтесь сегодня и получите скидку 8 долларов на первый заказ!
Не в сети
 Заголовок сообщения: Re: STM32F4 Есть вопросы.
СообщениеДобавлено: Ср мар 21, 2012 14:07:37 
Модератор
Аватар пользователя

Карма: 68
Рейтинг сообщений: 424
Зарегистрирован: Ср ноя 26, 2008 17:34:25
Сообщений: 13511
Откуда: Тамбовская обл.
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
То есть закомментить её вызов в стартапе? Попробую...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32F4 Есть вопросы.
СообщениеДобавлено: Ср мар 21, 2012 14:10:40 
Друг Кота
Аватар пользователя

Карма: 22
Рейтинг сообщений: 106
Зарегистрирован: Чт ноя 04, 2010 02:56:36
Сообщений: 7322
Откуда: г. Москва
Рейтинг сообщения: 0
Собсно если не пользуешь критичные к стабильности и точности частоты интерфейсы, вобще можно на HSI жить ни в чем себе не отказывая - PLL там с HSI и HSE, насколько помню, заводится без ограничений.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32F4 Есть вопросы.
СообщениеДобавлено: Ср мар 21, 2012 14:12:20 
Друг Кота
Аватар пользователя

Карма: 22
Рейтинг сообщений: 106
Зарегистрирован: Чт ноя 04, 2010 02:56:36
Сообщений: 7322
Откуда: г. Москва
Рейтинг сообщения: 0
ploop писал(а):
То есть закомментить её вызов в стартапе? Попробую...

Да.
Вот только точно не помю - стартует с HSI или, так сказать, LSI - вроде там два RC генератора.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32F4 Есть вопросы.
СообщениеДобавлено: Ср мар 21, 2012 14:34:55 
Друг Кота
Аватар пользователя

Карма: 22
Рейтинг сообщений: 106
Зарегистрирован: Чт ноя 04, 2010 02:56:36
Сообщений: 7322
Откуда: г. Москва
Рейтинг сообщения: 0
Вощем, несколько помню, если ничего не будешь трогать, то оно у тебя со старту будет на 16Мгц непосредственно с HSI молотить.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32F4 Есть вопросы.
СообщениеДобавлено: Ср мар 21, 2012 14:50:03 
Модератор
Аватар пользователя

Карма: 68
Рейтинг сообщений: 424
Зарегистрирован: Ср ноя 26, 2008 17:34:25
Сообщений: 13511
Откуда: Тамбовская обл.
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Цитата:
Вощем, несколько помню, если ничего не будешь трогать, то оно у тебя со старту будет на 16Мгц непосредственно с HSI молотить.

Я изначально ничего не трогал, всё по дефолту - и не работает вообще. В этом и проблема.

Цитата:
Собсно если не пользуешь критичные к стабильности и точности частоты интерфейсы, вобще можно на HSI жить ни в чем себе не отказывая

Мне пока как бы просто запустить. Знаю, что всю периферию там тактировать отдельно придётся, так что к этому вопросу серьёзно подойти.
А то плата почти неделю лежит, а мне даже светодиодами помигать не удалось...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32F4 Есть вопросы.
СообщениеДобавлено: Ср мар 21, 2012 15:16:32 
Друг Кота
Аватар пользователя

Карма: 22
Рейтинг сообщений: 106
Зарегистрирован: Чт ноя 04, 2010 02:56:36
Сообщений: 7322
Откуда: г. Москва
Рейтинг сообщения: 0
ploop писал(а):
Цитата:
Вощем, несколько помню, если ничего не будешь трогать, то оно у тебя со старту будет на 16Мгц непосредственно с HSI молотить.

Я изначально ничего не трогал, всё по дефолту - и не работает вообще. В этом и проблема.

Не трогать барахло кристалла, а не исходники имеется ввиду :)))


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32F4 Есть вопросы.
СообщениеДобавлено: Ср мар 21, 2012 15:17:25 
Друг Кота
Аватар пользователя

Карма: 22
Рейтинг сообщений: 106
Зарегистрирован: Чт ноя 04, 2010 02:56:36
Сообщений: 7322
Откуда: г. Москва
Рейтинг сообщения: 0
Ну выкинь пока этот сетклок и все


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32F4 Есть вопросы.
СообщениеДобавлено: Ср мар 21, 2012 15:19:08 
Друг Кота
Аватар пользователя

Карма: 22
Рейтинг сообщений: 106
Зарегистрирован: Чт ноя 04, 2010 02:56:36
Сообщений: 7322
Откуда: г. Москва
Рейтинг сообщения: 0
Хотя я ST32F1 и ST32F2 (а по RRC и 4й не отличается) пробовал и HSI, и HSI c PLL, и HSE с PLL - проблем не было.
Ну, только что я никаких примеров не собирал, я ж платы только сам рисовал. Нет демоплаты и примеров - нет проблемы :)))


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32F4 Есть вопросы.
СообщениеДобавлено: Ср мар 21, 2012 18:40:31 
Модератор
Аватар пользователя

Карма: 68
Рейтинг сообщений: 424
Зарегистрирован: Ср ноя 26, 2008 17:34:25
Сообщений: 13511
Откуда: Тамбовская обл.
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Офигеть! Причина в том, что дебаг не может пройти любой цикл! Например такой:
Код:
  for (i=0; i<5; i++)
  {
     //
  }

Зацикливается намертво. Буду рыть дальше чтобы понять из-за чего...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32F4 Есть вопросы.
СообщениеДобавлено: Чт мар 22, 2012 00:03:56 
Модератор
Аватар пользователя

Карма: 68
Рейтинг сообщений: 424
Зарегистрирован: Ср ноя 26, 2008 17:34:25
Сообщений: 13511
Откуда: Тамбовская обл.
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Фигня какая-то...
Код:
  i=2;
  do
  {
     i++;
  } while (i<6);

Код:
08000478:   mov.w r3, #2
0800047c:   str r3, [r7, #12]
23             i++;
0800047e:   ldr r3, [r7, #12]
08000480:   add.w r3, r3, #1
08000484:   str r3, [r7, #12]
24          } while (i<6);
08000486:   ldr r3, [r7, #12]
08000488:   cmp r3, #5
0800048a:   ble.n 0x800047e <main+18>

Код прыгает в этом цикле, и никогда из него не выходит. Постоянно возвращается на адрес 0800047e. В дебаггере видно, что регистр r3 постоянно обнуляется при переходе, хотя специально инициализировал его двойкой, чтобы заметно было. Просто мистика...
Что означают команды ldr/str?
----
Load/Store Register. Аналоги LDS/STS AVR'овских.
в чём тогда дело? :dont_know:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32F4 Есть вопросы.
СообщениеДобавлено: Чт мар 22, 2012 07:29:27 
Вымогатель припоя
Аватар пользователя

Зарегистрирован: Вт окт 27, 2009 23:39:19
Сообщений: 672
Откуда: Москва
Рейтинг сообщения: 0
Лови пример:
Вложение:
discovery.zip [162.75 KiB]
Скачиваний: 311

моргает светодиодом на D15.
Если заработает (у меня работает), то будем искать отличия с твоим исходником :))

_________________
— Не говорите мне что делать и я не скажу куда Вам идти...


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 46 ]  1, ,  

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y