Добрый день, товарищи!
Возникла у меня такая проблема: появилась необходимость запрограммировать STM32F373 в наборе с разной периферией. В качестве программатара использую stm32l-discovery. В качестве среды - keil 5. Проект собрал, в качестве тестовой програмки решил помигать светодиодом на плате (PA1). Получился вот такой код:
CODE
#include "stm32f37x.h"
int i=0;
int main(void)
{
GPIO_InitTypeDef GPIO_IS;
/* GPIOD Periph clock enable */
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA, ENABLE);
GPIO_IS.GPIO_Pin = GPIO_Pin_All;
GPIO_IS.GPIO_Mode = GPIO_Mode_OUT;
GPIO_IS.GPIO_Speed = GPIO_Speed_2MHz;
GPIO_IS.GPIO_OType = GPIO_OType_PP;
GPIO_IS.GPIO_PuPd = GPIO_PuPd_UP;
GPIO_Init(GPIOA, &GPIO_IS);
while(1)
{
GPIO_Write(GPIOA, 0xFF);
while(i<100000) i++;
i=0;
GPIO_Write(GPIOA, 0xFF);
while(i<100000) i++;
i=0;
}
}
#include "stm32f37x.h"
Сразу оговорюсь, не осознал прблему и затер старый код, так что возможно использовался порт B. Сам код эффекта не имеет (ибо при переходе по внутренним while-ам состояние не меняется).
Далее, я попытался прошиться из под keil через SW. Плата увиделась, прошивка прошла. А тут и началась беда. больше плата не распознавалась, понять почему, а тем более исправить, я не смог.
Попробовал стандартуную утилиту к ST-LINK - эффект тот-же: скорее всего исключил проблему с keil.
Попробовал вернуть программатар на МК discovery - работает: вроде как исключил проблемы с программатором.
Не пробовал: подключить кроме ног SWDIO и SWCLK еще ногу ресета.
Завтра попробую, но очент=ь сложно - она никак не разведена на плате(В голове созрел такой вариант: раз ноги SWDIO и SWCLK сопряжены с шиной порта A, я снял с них функцию отладочных входов/выходов.
Больше вариантов я не придумал, разве что МК погорел (чур меня).
Надеюсь на вашу мудрость и понимание вороса

.
Сообщение отредактировал styuf - Jan 4 2017, 14:20