К1921ВК01Т (арм Cortex-M4F)

32-разрядные микроконтроллеры разработки АО "НИИЭТ"

Модераторы: ea, dav, bkolbov, Alis, pip, _sva_

Аватара пользователя
Disona
Сообщения: 81
Зарегистрирован: 06 дек 2016, 11:18
Предприятие: НПФ Вектор
Откуда: Москва
Контактная информация:

Re: К1921ВК01Т (арм Cortex-M4F)

Сообщение Disona »

serg_vega писал(а): 28 янв 2022, 17:35 Я просто вставил код Лашкевича в свою функцию и.. . либо невозможно прописать NT_COMMON_REG->PLL_NF = 48; Данный код просто не изменяет содержимого регистра! Это если NT_COMMON_REG->SYS_CLK_bit.CURR_SRC == 4, а если до этого
NT_COMMON_REG->SYS_CLK_bit.CURR_SRC ==3, как у меня, то происходит окирпичивание!!!!
Я правильно понимаю, что "окирпичивание" - это не просто он у вас завис, а JTAG отвалился и больше не шьётся?
С уважением, Дмитрий Шпак
ООО "НПФ Вектор"
Аватара пользователя
Disona
Сообщения: 81
Зарегистрирован: 06 дек 2016, 11:18
Предприятие: НПФ Вектор
Откуда: Москва
Контактная информация:

Re: К1921ВК01Т (арм Cortex-M4F)

Сообщение Disona »

serg_vega писал(а): 28 янв 2022, 17:35 Я просто вставил код Лашкевича в свою функцию и.. . либо невозможно прописать NT_COMMON_REG->PLL_NF = 48; Данный код просто не изменяет содержимого регистра! Это если NT_COMMON_REG->SYS_CLK_bit.CURR_SRC == 4, а если до этого
NT_COMMON_REG->SYS_CLK_bit.CURR_SRC ==3, как у меня, то происходит окирпичивание!!!!
Ага.
А попробуйте добавить перед вызовом Init_Clk_Pll_Div_Fvco200(); вот такой код:

Код: Выделить всё

	//Переходим на тактирование от внутреннего кварца
	do
	{
		NT_COMMON_REG->SYS_CLK = 0;
		for(i = 0; i < 50; i++);
	}
	while (NT_COMMON_REG->SYS_CLK_bit.CURR_SRC != SYSCLK_REFCLK);
Подозрительно, что перед настройкой у вас NT_COMMON_REG->SYS_CLK_bit.CURR_SRC не равен 0.
С уважением, Дмитрий Шпак
ООО "НПФ Вектор"
serg_vega
Сообщения: 96
Зарегистрирован: 20 июл 2020, 15:50
Предприятие: АО "ВНИИ "Вега"

Re: К1921ВК01Т (арм Cortex-M4F)

Сообщение serg_vega »

Disona писал(а): 28 янв 2022, 17:37
serg_vega писал(а): 28 янв 2022, 17:35 Я просто вставил код Лашкевича в свою функцию и.. . либо невозможно прописать NT_COMMON_REG->PLL_NF = 48; Данный код просто не изменяет содержимого регистра! Это если NT_COMMON_REG->SYS_CLK_bit.CURR_SRC == 4, а если до этого
NT_COMMON_REG->SYS_CLK_bit.CURR_SRC ==3, как у меня, то происходит окирпичивание!!!!
Я правильно понимаю, что "окирпичивание" - это не просто он у вас завис, а JTAG отвалился и больше не шьётся?
Именно так. Потом переброс Н2.
serg_vega
Сообщения: 96
Зарегистрирован: 20 июл 2020, 15:50
Предприятие: АО "ВНИИ "Вега"

Re: К1921ВК01Т (арм Cortex-M4F)

Сообщение serg_vega »

Дальнейшие пробы в понедельник....
serg_vega
Сообщения: 96
Зарегистрирован: 20 июл 2020, 15:50
Предприятие: АО "ВНИИ "Вега"

Re: К1921ВК01Т (арм Cortex-M4F)

Сообщение serg_vega »

Да. После принудительного обнуления
NT_COMMON_REG->SYS_CLK_bit.SEL_SRC = 0;
окирпичивание прошло.
WatchDog тоже вроде заработал.
"Вектору" спасибо.
serg_vega
Сообщения: 96
Зарегистрирован: 20 июл 2020, 15:50
Предприятие: АО "ВНИИ "Вега"

Re: К1921ВК01Т (арм Cortex-M4F)

Сообщение serg_vega »

Но это оказывается, еще не конец гемора! Какого-то хрена изменилась тактовая частота I2c и оно благополучно отвалилось! А вторая плата без отладчика не стартует!
Аватара пользователя
Disona
Сообщения: 81
Зарегистрирован: 06 дек 2016, 11:18
Предприятие: НПФ Вектор
Откуда: Москва
Контактная информация:

Re: К1921ВК01Т (арм Cortex-M4F)

Сообщение Disona »

serg_vega писал(а): 31 янв 2022, 11:40 Но это оказывается, еще не конец гемора! Какого-то хрена изменилась тактовая частота I2c и оно благополучно отвалилось! А вторая плата без отладчика не стартует!
Насколько я понял из документации, I2C тактируется от системной частоты.
Наша функция с кварцем 12 МГц выдаст 100 МГц системной частоты, если вы не меняли делители.
Быть может, раньше вы работали на другой системной частоте?
С уважением, Дмитрий Шпак
ООО "НПФ Вектор"
serg_vega
Сообщения: 96
Зарегистрирован: 20 июл 2020, 15:50
Предприятие: АО "ВНИИ "Вега"

Re: К1921ВК01Т (арм Cortex-M4F)

Сообщение serg_vega »

serg_vega писал(а): 31 янв 2022, 11:40 Но это оказывается, еще не конец гемора! Какого-то хрена изменилась тактовая частота I2c и оно благополучно отвалилось! А вторая плата без отладчика не стартует!
I2C восстановил. Вопрос снимается. Осталось разобраться со второй платой.
serg_vega
Сообщения: 96
Зарегистрирован: 20 июл 2020, 15:50
Предприятие: АО "ВНИИ "Вега"

Re: К1921ВК01Т (арм Cortex-M4F)

Сообщение serg_vega »

Disona писал(а): 31 янв 2022, 11:56
serg_vega писал(а): 31 янв 2022, 11:40 Но это оказывается, еще не конец гемора! Какого-то хрена изменилась тактовая частота I2c и оно благополучно отвалилось! А вторая плата без отладчика не стартует!
Насколько я понял из документации, I2C тактируется от системной частоты.
Наша функция с кварцем 12 МГц выдаст 100 МГц системной частоты, если вы не меняли делители.
Быть может, раньше вы работали на другой системной частоте?
Ну, я использовал для настройки I2C код от НИИЭТ))). Он работает только с их void SystemCoreClockUpdate(void); )))) С Вашим void Init_Clk_Pll_Div_Fvco200 (void): не очень хочет.))
Аватара пользователя
Disona
Сообщения: 81
Зарегистрирован: 06 дек 2016, 11:18
Предприятие: НПФ Вектор
Откуда: Москва
Контактная информация:

Re: К1921ВК01Т (арм Cortex-M4F)

Сообщение Disona »

serg_vega писал(а): 31 янв 2022, 12:04
Disona писал(а): 31 янв 2022, 11:56
serg_vega писал(а): 31 янв 2022, 11:40 Но это оказывается, еще не конец гемора! Какого-то хрена изменилась тактовая частота I2c и оно благополучно отвалилось! А вторая плата без отладчика не стартует!
Насколько я понял из документации, I2C тактируется от системной частоты.
Наша функция с кварцем 12 МГц выдаст 100 МГц системной частоты, если вы не меняли делители.
Быть может, раньше вы работали на другой системной частоте?
Ну, я использовал для настройки I2C код от НИИЭТ))). Он работает только с их void SystemCoreClockUpdate(void); )))) С Вашим void Init_Clk_Pll_Div_Fvco200 (void): не очень хочет.))
Скорее всего это связано с тем, что наша функция не обновляет значение переменной там какой-то, в которую записывается текущее значение частоты в герцах, типа "int SystenCoreClock".
С уважением, Дмитрий Шпак
ООО "НПФ Вектор"
Ответить

Вернуться в «32-разрядные микроконтроллеры»