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

 
 
33 страниц V  « < 13 14 15 16 17 > »   
Closed TopicStart new topic
> STM32 – вопросы – проблемы - решения.
Flexz
сообщение Jul 10 2011, 08:49
Сообщение #211


Местный
***

Группа: Свой
Сообщений: 252
Регистрация: 9-10-08
Из: Московская обл.
Пользователь №: 40 797



DfuSe на 217 не испытывал, нужды не было пока. Но во-первых у f2xx и f105/f107 одинаковый модуль USB OTG FS (сам использую библиотеки от connectivity line для F217) а во-вторых описание DFU общее на всех. Так что не вижу препятствий.
Go to the top of the page
 
+Quote Post
wedmeed
сообщение Jul 14 2011, 21:58
Сообщение #212


Частый гость
**

Группа: Свой
Сообщений: 107
Регистрация: 5-04-11
Из: г.Саратов
Пользователь №: 64 137



Какие еще программы существуют для прошивки стандартным бутлоадером кроме Flash Loader Demonstrator? Им прошить не получается - говорит то устройства нет, то что не попал в секцию первичного загрузчика, то команда неизвестная. На разные комбинации бута0 и ресета реагирует по-разному (т.е. контроллер живой), повторяемость 100%. В идеале хотелось бы посмотреть логи попыток прошивки (может быть вариант в непропае ножек).

МК - stm32f100
Может кто из старших видео снимал когда-либо. или схемками может поделиться - буду очень признателен!!!

Вот моя схемка. На ней перепутаны rx и tx между переходником и контроллером. но на практике собрал правильно.
Прикрепленный файл  ___.bmp ( 2.85 мегабайт ) Кол-во скачиваний: 31


Сообщение отредактировал wedmeed - Jul 15 2011, 06:41
Go to the top of the page
 
+Quote Post
Danis
сообщение Jul 15 2011, 17:01
Сообщение #213


Twilight Zone
***

Группа: Свой
Сообщений: 454
Регистрация: 17-02-09
Из: Челябинск
Пользователь №: 44 990



Цитата(wedmeed @ Jul 15 2011, 01:58) *
Какие еще программы существуют для прошивки стандартным бутлоадером кроме Flash Loader Demonstrator?


Думаю, другая программа Вам не поможет, проблема явно не в ней. Советую осциллографом поработать и посмотреть, что там у Вас на линиях твориться, проверьте уровни, фронты обязательно. Если я правильно понял, MCP2200 у вас в качестве виртуального COM порта, если через него данные пытаетесь зашить, как раз он может быть источником проблемы. А схему лучше в jpg выкладывать.



--------------------
Magic Friend
Go to the top of the page
 
+Quote Post
alekseyb
сообщение Jul 17 2011, 02:02
Сообщение #214





Группа: Новичок
Сообщений: 2
Регистрация: 7-12-07
Из: Братск
Пользователь №: 33 051



Цитата(wedmeed @ Jul 15 2011, 06:58) *
Какие еще программы существуют для прошивки стандартным бутлоадером кроме Flash Loader Demonstrator? Им прошить не получается - говорит то устройства нет, то что не попал в секцию первичного загрузчика, то команда неизвестная. На разные комбинации бута0 и ресета реагирует по-разному (т.е. контроллер живой), повторяемость 100%. В идеале хотелось бы посмотреть логи попыток прошивки (может быть вариант в непропае ножек).

МК - stm32f100
Может кто из старших видео снимал когда-либо. или схемками может поделиться - буду очень признателен!!!

Вот моя схемка. На ней перепутаны rx и tx между переходником и контроллером. но на практике собрал правильно.
Прикрепленный файл  ___.bmp ( 2.85 мегабайт ) Кол-во скачиваний: 31


RX МК нужно подтянуть к +3В через сопротивление примерно 10к, должно заработать.
И еще там есть исходники Flash Loader Demonstrator для работы с bootloader ,можно самому дописать что надо.
Go to the top of the page
 
+Quote Post
wedmeed
сообщение Jul 18 2011, 05:50
Сообщение #215


Частый гость
**

Группа: Свой
Сообщений: 107
Регистрация: 5-04-11
Из: г.Саратов
Пользователь №: 64 137



На выходных набрел на статью в эйзиэлектроникс про прошивку как раз моего чипа. Их рекомендации не помогли, но там была ссылка на програмку termit. Попробовал с помощью неё поговорить с контроллером - отвечает, причем на описанные в даташите комбинации - нормально. Про версию чипа прислал мне 0x1F1F. На комбинации, не описанные в даташите стабильно отвечает 0xFB, причем отвечает столько байт, сколько байт я ему и послал.

Цитата(alekseyb @ Jul 17 2011, 06:02) *
RX МК нужно подтянуть к +3В через сопротивление примерно 10к, должно заработать.

Спасибо, попробую.
Цитата(alekseyb @ Jul 17 2011, 06:02) *
И еще там есть исходники Flash Loader Demonstrator для работы с bootloader ,можно самому дописать что надо.

Насколько я понял - в исходниках только графическая оболочка, все остальное - в dll. Сам не смотрел, прочитал где-то на форумах. На досуге покопаюсь.

Go to the top of the page
 
+Quote Post
StAlexy
сообщение Jul 18 2011, 10:31
Сообщение #216





Группа: Участник
Сообщений: 11
Регистрация: 5-07-11
Пользователь №: 66 069



Товарищи, здорова!
Кто-нибудь работал на стм32ф107?
Затык с прерываниями!!
Не могу настроить прерывания от SPI и UART. Ну SPI ладно, выкрутился без прерываний, на уарт никак!!
Главное от таймера2 работает прерывание по обнулению!

Проблема:
инициализирую клок для проца и всего остального:
Код
  RCC_HSEConfig(RCC_HSE_ON);  
  RCC_WaitForHSEStartUp();
  
  RCC_HCLKConfig(RCC_SYSCLK_Div1);
  RCC_PLLConfig(RCC_PREDIV1_Source_HSE,RCC_PLLMul_4);
  RCC_PCLK1Config(RCC_HCLK_Div1);
  RCC_PCLK2Config(RCC_HCLK_Div1);
  
  RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);
  RCC_PLLCmd(ENABLE);
  
  //ïîäàåì òàêòîâûé ñèãíàë íà ïîðòû
  //RCC_AHBPeriphClockCmd ( );  
  
  RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB | RCC_APB2Periph_GPIOC | RCC_APB2Periph_GPIOD | RCC_APB2Periph_GPIOE | RCC_APB2Periph_AFIO, ENABLE);
  
  RCC_APB1PeriphClockCmd(RCC_APB1Periph_I2C1, ENABLE);  
  RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2,ENABLE);
  RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2, ENABLE);
  
  SystemInit();


Далее инициализация USART2:
Код
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;  
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  GPIO_InitStructure.GPIO_Pin =GPIO_Pin_2;
  GPIO_Init(GPIOA, &GPIO_InitStructure);
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;  
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  GPIO_InitStructure.GPIO_Pin =GPIO_Pin_3;
  GPIO_Init(GPIOA, &GPIO_InitStructure);
  
  NVIC_InitStructure.NVIC_IRQChannel = USART2_IRQn;
  NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
  NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
  NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
  NVIC_Init(&NVIC_InitStructure);
  
  USART_InitStructure.USART_BaudRate = 9600;
  USART_InitStructure.USART_WordLength = USART_WordLength_8b;
  USART_InitStructure.USART_StopBits = USART_StopBits_1;
  USART_InitStructure.USART_Parity = USART_Parity_Even;
  USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
  USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;
  USART_Init(USART2, &USART_InitStructure);  

  USART_ClearFlag(USART2,USART_FLAG_TC);  
  USART_ClearITPendingBit(USART2,USART_IT_TC);
  
  USART_ITConfig(USART2, USART_IT_TC, ENABLE);

  USART_Cmd(USART2, ENABLE);


...и все. Здесь уже висит.
В программу прерывания не заходит:
Код
void USART2_IRQHandler(void)
{
  if(USART_GetITStatus(USART2,USART_IT_RXNE)==SET)  
  {
    USART_ClearFlag(USART2,USART_FLAG_RXNE);    
    USART_ClearITPendingBit(USART2,USART_IT_RXNE);    

  }

  if(USART_GetITStatus(USART2,USART_IT_TC)==SET)  
  {
    if (GPIO_ReadOutputDataBit(GPIOC,GPIO_Pin_8) == 1) GPIO_ResetBits(GPIOC,GPIO_Pin_8);
    else GPIO_SetBits(GPIOC,GPIO_Pin_8);
    
    USART_ClearFlag(USART2,USART_FLAG_TC);    
    USART_ClearITPendingBit(USART2,USART_IT_TC);
  }
}


Может чо-то где забыл поставить в заголовочных файлах?
Подскажите, если кто через такое проходил?

Главное, на 103-м такое прерывание работает!!
Go to the top of the page
 
+Quote Post
wedmeed
сообщение Jul 18 2011, 12:32
Сообщение #217


Частый гость
**

Группа: Свой
Сообщений: 107
Регистрация: 5-04-11
Из: г.Саратов
Пользователь №: 64 137



Во! Только что на работе нашел осциллограф и нормальную програмку для UARTа. Пообщаться с бутлоадером получилось, но вот в чем беда:
для того, чтобы бутлоадер в МК понял команду, помимо идентификатора команды ему надо послать ее инверсию следующим байтом (01 - FE). Если посылать байты поочередно - все гуд. Если послать байты сразу - на первую попытку молчит, на вторую выдает ошибку. Получается он не успевает впоймать второй байт. Попробовал ставить 2 стоповых бита - не видит второй байт. Попробовал вставить между этими двумя байтами 0xFF - заработало! Картина стала такова: МК ловит первый байт, стартового бита второго байта не видит, дальше идут 1, которые МК воспринимает как молчание на линии, дальше ловит третий байт, считая его вторым.

Вопрос - почему МК не воспринимает нормально следующие сразу друг за другом байты?
Go to the top of the page
 
+Quote Post
Oleg Galizin
сообщение Jul 18 2011, 13:29
Сообщение #218





Группа: Участник
Сообщений: 14
Регистрация: 25-03-07
Пользователь №: 26 499



Цитата(wedmeed @ Jul 18 2011, 09:50) *
На выходных набрел на статью в эйзиэлектроникс про прошивку как раз моего чипа.
Про версию чипа прислал мне 0x1F1F.

Вот эти два предложения противоречат друг другу. С одной стороны чип тот же, с другой - другой идентификатор.
1F1F выглядит странно. Попробуйте уменьшить скорость порта.

Сообщение отредактировал Oleg Galizin - Jul 18 2011, 13:32
Go to the top of the page
 
+Quote Post
Twen
сообщение Jul 18 2011, 14:50
Сообщение #219


Частый гость
**

Группа: Участник
Сообщений: 163
Регистрация: 7-02-09
Пользователь №: 44 543



Добрый день. У меня возникла следующая проблема, есть 2 программатора : внешний ST-LINK(рис.1) и универсальный J-link(рис.2) под ядра ARM.

St-Link-ом не получается прошить микроконтроллер stm32L152, а j-Link-ом шьется без проблем...при чем когда шью ST-link-ом, загрузка как бы начинается, но потом все виснет...

Может кто-нибудь сталкивался с этой проблемой...
Спасибо.

Сообщение отредактировал Twen - Jul 18 2011, 14:52
Эскизы прикрепленных изображений
Прикрепленное изображение
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
StAlexy
сообщение Jul 19 2011, 03:05
Сообщение #220





Группа: Участник
Сообщений: 11
Регистрация: 5-07-11
Пользователь №: 66 069



Все, нормально, починилось! 08.gif
Действительно, как писал кто-то выше, надо просто выспаться!
Go to the top of the page
 
+Quote Post
Aaron
сообщение Jul 19 2011, 12:02
Сообщение #221


Местный
***

Группа: Свой
Сообщений: 243
Регистрация: 5-10-06
Из: Зеленоград
Пользователь №: 21 007



Цитата(StAlexy @ Jul 19 2011, 07:05) *
Все, нормально, починилось! 08.gif

Вы бы поделились, в чём косяк был. А то такие куски кода выложили...
Go to the top of the page
 
+Quote Post
Alhen
сообщение Jul 19 2011, 16:21
Сообщение #222


Частый гость
**

Группа: Свой
Сообщений: 161
Регистрация: 17-08-04
Из: Караганда
Пользователь №: 516



У меня проблема с компиляцией простейшей тестовой программки для STM32 Discovery под IAR-ом V6.2.
Код нормально компилился под 5.5, но после установки 6.2 ругается:

Error[Pe337]: linkage specification is incompatible with previous «__WFI»……и т.д.

Эта ошибка появляется для проекта С++, под С ошибки другого характера.
Помогите побороть пожалуйста! (может это как-то связано с CMSIS?)
Go to the top of the page
 
+Quote Post
A. Fig Lee
сообщение Jul 20 2011, 03:15
Сообщение #223


Знающий
****

Группа: Участник
Сообщений: 974
Регистрация: 4-04-08
Из: далека
Пользователь №: 36 467



Цитата(wedmeed @ Jul 18 2011, 08:32) *
Во! Только что на работе нашел осциллограф и нормальную програмку для UARTа. Пообщаться с бутлоадером получилось, но вот в чем беда:
для того, чтобы бутлоадер в МК понял команду, помимо идентификатора команды ему надо послать ее инверсию следующим байтом (01 - FE). Если посылать байты поочередно - все гуд. Если послать байты сразу - на первую попытку молчит, на вторую выдает ошибку. Получается он не успевает впоймать второй байт. Попробовал ставить 2 стоповых бита - не видит второй байт. Попробовал вставить между этими двумя байтами 0xFF - заработало! Картина стала такова: МК ловит первый байт, стартового бита второго байта не видит, дальше идут 1, которые МК воспринимает как молчание на линии, дальше ловит третий байт, считая его вторым.

Вопрос - почему МК не воспринимает нормально следующие сразу друг за другом байты?

parity какой? должен быть even, наскоко помню


--------------------
Верить нельзя никому, даже себе. Мне - можно.
Go to the top of the page
 
+Quote Post
StAlexy
сообщение Jul 20 2011, 05:17
Сообщение #224





Группа: Участник
Сообщений: 11
Регистрация: 5-07-11
Пользователь №: 66 069



Цитата
Вы бы поделились, в чём косяк был. А то такие куски кода выложили...

Решение оказалось очень простым:
1. Инициализацию не трогал.
2. Удалил из проекта stm32f10x_it.h и stm32f10x_it.c
И все заработало.

Видимо "процессор" обращался в эти файлы за подпрограммой обработки прерывания и не находил ее.
Следовательно, зависание.

Без них все работает просто отлично!
Go to the top of the page
 
+Quote Post
Flexz
сообщение Jul 20 2011, 06:12
Сообщение #225


Местный
***

Группа: Свой
Сообщений: 252
Регистрация: 9-10-08
Из: Московская обл.
Пользователь №: 40 797



Ну тогда уж наоборот - обращался и находил, но не ту которую вы ожидали (ваша обработка прерываний, видимо, в другом файле, так?). Сдается мне, что кто-то игнорирует ворнинги sm.gif
Go to the top of the page
 
+Quote Post

33 страниц V  « < 13 14 15 16 17 > » 
Closed TopicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 05:43
Рейтинг@Mail.ru


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