|
|
  |
Почему-то зависает STM32F103 |
|
|
|
Jan 29 2014, 16:52
|
Знающий
   
Группа: Свой
Сообщений: 517
Регистрация: 7-02-06
Пользователь №: 14 073

|
Здравствуйте, уважаемые коллеги, подскажите в чем тут дело? Для тестирования палаты на STM32F103 беру готовый проект Blinky из Кейл 5.4, процессор выбран, настройки правильные, компилирую, заливаю в процессор JLink-ом 7. Пробую отладку, но процессор зависает не доходя до main(). Отладка идет в Start_Up - файле, затем System_Init, инициализация тактирования (внутренний генератор - 24Мгц), затем устанавливается бит размещения таблицы веторов во флэше и после этого - процессор улетает в фатальное прерывание по сбою HardFault, по-моему. Может кто-ибудь знает, подскажите, пожалуйста.
|
|
|
|
|
Jan 29 2014, 16:55
|
Участник

Группа: Участник
Сообщений: 72
Регистрация: 28-06-10
Пользователь №: 58 174

|
Может камень не тот выбран в настройках проекта
|
|
|
|
|
Jan 29 2014, 17:18
|
Участник

Группа: Участник
Сообщений: 56
Регистрация: 15-01-09
Из: Moldova
Пользователь №: 43 421

|
Цитата(Vladimir_T @ Jan 29 2014, 19:52)  инициализация тактирования (внутренний генератор - 24Мгц) Это частота SYSCLK? Внутренний генератор 8Мгц. 24Мгц после PLL.
|
|
|
|
|
Jan 30 2014, 06:19
|

Универсальный солдатик
     
Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362

|
Если сделаете обработчик HardFault следующего вида, то в регистре R0 в отладчике получите адрес команды, на которой улетели в HardFault. А конкретную причину можно узнать, изучая Fault регистры, в книжке Ю можно найти описание. Код __asm void HardFault_Handler(void) { TST LR, #4 ITE EQ MRSEQ R0, MSP ; Main Stack was used, put MSP in R0 MRSNE R0, PSP ; Process Stack was used, put PSP in R0 LDR R0, [R0, #24] ; Get stacked PC from stack B . }
|
|
|
|
|
Jan 30 2014, 21:06
|
Местный
  
Группа: Участник
Сообщений: 218
Регистрация: 24-06-10
Пользователь №: 58 127

|
Цитата(Vladimir_T @ Jan 30 2014, 19:33)  Я был уверен, что если не завелся кварцевый генератор, то вызывается прерывание по сбою генератора, и процессор переходит назад на HSI. Так и есть. Остальное проблемма софта. Если где то стоит бесконечное ожидание готовности HSE, то там и будем всегда висеть. А если анализа отката на HSI нет, то вообще любая хрень может получится.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|