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

 
 
 
Reply to this topicStart new topic
BlackOps
сообщение Jul 8 2013, 02:23
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 618
Регистрация: 7-06-08
Из: USSR
Пользователь №: 38 121



Проблемы с отладкой и вопрос о внешнем кристале

У меня на отдельной плате которую я развел и собрал стоит: STM32F405RGT6

Кристал ABM7-8MHz с 16pF конденсаторами.

Отладку провожу по SWD с помощью gdb.

В начале я заметил у меня отладка застревала на начале функции которая конфигурировала порты, я в начале думал все дело в том что внешний кристал может быть не вибрирует? Измерил осциллографом OSC_IN там примерно 156мВ амплитуда колебания, на OSC_OUTпримерно 312мВ амплитуда (на плате дискавери амплитуда с их кристаллом на OSC_OUT больше, примерно 1.5В).

Подумал может все дело в этом?

Затем решил упростить программу и поставить цикли, вот я прикрепил код:
CODE

int main(void)
{

uint32_t i1=0;
uint32_t x=0;


// Initialization routine /////////////////////////////////////////////////////
//fpu_enable(); // enable hardware FPU
pll_start(168, 4, 2); // N=168, M=4, P=2, Fsys=168MHz.




for(i1=0; i1<9000000; i1++)
{
x=x+i1;
}
x=0;
i1=0;




//=============================================================================
// GPIOA configuration
//=============================================================================

// enable GPIOA clock
RCC->AHB1ENR |= RCC_AHB1ENR_GPIOAEN;

for(i1=0; i1<9000000; i1++)
{
x=x+i1;
}


// Alternate Function
GPIOA->MODER = 0; // clear moder register
GPIOA->MODER |=
(
GPIO_MODER_MODER15_1 | // Alternate Function, SPI3_NSS

GPIO_MODER_MODER4_1 | // Alternate Function, SPI1_NSS
...
...
...


как видите программа начата с объявлением переменных для цикла простого, затем идет функция конфигурирования внешнего кристалла, она точно работающая, т.к. ее я проверял на плате дискавери. затем вы видите длинный цикл считающий до 9000000, этот цикл исполняется нормально, это я в дебаггере вижу!

Затем вы видите как я включаю клок на порт А, а после этого вновь длинный цикл которык стабильно исполняыется! т.е. считает и меняет значение переменных.

На этом этапе возможность того что мой кристал внешний не работает можно исключить, правильно мыслю?


А теперь, проблема начинается на следующей строчке:
GPIOA->MODER = 0; // clear moder register

вот сдесь то дебаг и зависает!
в консоли жму Ctrl-c, через какое то время вновь могу вводить команду, но не могу делать шаг вперед! гдб на этом этапе просто замирает...делаю шаг вперед командой s, а он стоит и ничего не происходит..

еще один момент, в дебаггере читаю RCC->CR и там биты 16,17 оба имеют значение 1. т.е. выходит PLL работает... но почему все застывает именно на этой линии кода:
GPIOA->MODER = 0; // clear moder register
?


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


--------------------
Нажми на кнопку - получишь результат, и твоя мечта осуществится
Go to the top of the page
 
+Quote Post
adnega
сообщение Jul 8 2013, 04:29
Сообщение #2


Гуру
******

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



Цитата(BlackOps @ Jul 8 2013, 06:23) *
А теперь, проблема начинается на следующей строчке:
GPIOA->MODER = 0; // clear moder register

Вы отключили функции SWD.
Пины, отвечающие за отладку, должны быть сконфигурированны в "Alternate function mode".
Цитата
7.4.1 GPIO port mode register (GPIOx_MODER) (x = A..I)
Address offset: 0x00
Reset values:
● 0xA800 0000 for port A

Обратите внимание, что после сброса значение GPIOA->MODER = 0xA8000000 не нулевое.
Go to the top of the page
 
+Quote Post
BlackOps
сообщение Jul 8 2013, 06:58
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 618
Регистрация: 7-06-08
Из: USSR
Пользователь №: 38 121



да...согласен. спасибо!



--------------------
Нажми на кнопку - получишь результат, и твоя мечта осуществится
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 25th June 2025 - 23:10
Рейтинг@Mail.ru


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