26.01.2011, 18:46
|
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от andries5
|
Глянуть-бы на проект, глазком. А? Какими либами пользовались?
|
Выкладываю , не пинать ...
__________________
Осторожно , злой кот
|
|
|
Эти 6 пользователя(ей) сказали Спасибо dosikus за это сообщение:
|
|
|
26.01.2011, 19:31
|
|
Прохожий
Регистрация: 18.02.2007
Сообщений: 4
Сказал спасибо: 0
Сказали Спасибо 3 раз(а) в 2 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Набросал статейку по быстрому старту с STM32 на примере Discovery. Доступен демо-проект для связки Eclipse + Sourcery GCC.
"Hello World" для STM32 или с чего начать
Приятного прочтения!
|
|
|
|
26.01.2011, 22:05
|
|
Почётный гражданин KAZUS.RU
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,616
Сказал спасибо: 65
Сказали Спасибо 315 раз(а) в 264 сообщении(ях)
|
Re: Конкурс от EBV Elektronik и STMicroelectronics. Рассылают отладочные платы
Сообщение от PavelV
|
Набросал статейку по быстрому старту с STM32 на примере Discovery. Доступен демо-проект для связки Eclipse + Sourcery GCC.
"Hello World" для STM32 или с чего начать
Приятного прочтения!
|
Прочитал. Обнаружил вот это:
Цитата:
|
После завершения загрузки прошивки, необходимо отключить питание отладочной платы, а затем включить (вынуть кабель из USB и воткнуть снова).
|
Ну не должно быть так у "правильных" загрузчиков. Загрузчик должен уметь ребутнуть кристалл, никаких процедур с питанием не должно быть! Если постоянно дергать разъем USB, его надолго не хватит. Ну да ладно, это говорит о том, что они этот глюк не побороли. Видимо, загрузка из Кейла и ИАРа тоже не завершается. Был с самого начала такой глюк. Делаем загрузку из среды Кейла либо ИАРа, передергиваем питание (кстати, это удобнее делать при помощи джампера на плате, можно даже нормально-замкнутую кнопку вместо этого джампера повесить - в любом случае, это костыль) и имеем... работу старой прошивки. Лишь загружая скомпилированный проект в режиме дебаггера, он таки загружается. Но при этом тоже требуется "передергивание" питания. Плохо! Сыро. А если мне по условиям проекта надо внести изменения и проверить именно не выключая питания, что, разве не может быть таких ситуаций? Они с этим уже третий месяц живут и рассылают борды с этим явлением. Если из Эклипса тоже надо питаловом шаманить - значит глюк аппаратный, такое продавать нельзя. Отсюда и бесплатная раздача глючной партии. Но все это лишь мое личное мнение. Многие просто советуют не обращать внимание на это неудобство. Но ведь потом с этим загрузчиком работать и работать. Сколько бы он ни стоил, он должен работать правильно? Или не так?
|
|
|
|
26.01.2011, 22:44
|
|
Прохожий
Регистрация: 18.02.2007
Сообщений: 4
Сказал спасибо: 0
Сказали Спасибо 3 раз(а) в 2 сообщении(ях)
|
Re: Конкурс от EBV Elektronik и STMicroelectronics. Рассылают отладочные платы
Сообщение от ut1wpr
|
Прочитал. Обнаружил вот это:
Ну не должно быть так у "правильных" загрузчиков. Загрузчик должен уметь ребутнуть кристалл, никаких процедур с питанием не должно быть! Если постоянно дергать разъем USB, его надолго не хватит. Ну да ладно, это говорит о том, что они этот глюк не побороли. Видимо, загрузка из Кейла и ИАРа тоже не завершается. Был с самого начала такой глюк. Делаем загрузку из среды Кейла либо ИАРа, передергиваем питание (кстати, это удобнее делать при помощи джампера на плате, можно даже нормально-замкнутую кнопку вместо этого джампера повесить - в любом случае, это костыль) и имеем... работу старой прошивки. Лишь загружая скомпилированный проект в режиме дебаггера, он таки загружается. Но при этом тоже требуется "передергивание" питания. Плохо! Сыро. А если мне по условиям проекта надо внести изменения и проверить именно не выключая питания, что, разве не может быть таких ситуаций? Они с этим уже третий месяц живут и рассылают борды с этим явлением. Если из Эклипса тоже надо питаловом шаманить - значит глюк аппаратный, такое продавать нельзя. Отсюда и бесплатная раздача глючной партии. Но все это лишь мое личное мнение. Многие просто советуют не обращать внимание на это неудобство. Но ведь потом с этим загрузчиком работать и работать. Сколько бы он ни стоил, он должен работать правильно? Или не так?
|
Да, так оно и есть - для того, чтобы запустить новую прошивку необходимо передернуть питание, никакие другие манипуляции (в том числе аппаратный Reset) не помогают. А может быть это я не до конца разобрался..
Eclipse, кстати, тут не причем. В моем примере используется фирменный загрузчик.
ST-Link, увы, никем кроме Keil и IAR не поддерживается ![Обижен](images/smilies/icon_beee.gif) ИМХО, довольно бесполезная штукенция (которая в дискавери к тому же ограничена одним SWD), как ни крути нужен нормальный JTAG. У меня есть MT-Link (клон J-Link) - с фирменным GDB сервером работает отлично.
Последний раз редактировалось PavelV; 26.01.2011 в 22:46.
|
|
|
|
26.01.2011, 22:49
|
|
Вид на жительство
Регистрация: 05.09.2007
Адрес: Новороссия ЛНР Рубежное -> РФ Калуга
Сообщений: 360
Сказал спасибо: 10
Сказали Спасибо 73 раз(а) в 58 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от PavelV
|
для того, чтобы запустить новую прошивку необходимо передернуть питание
|
Ничего подобного делать не приходится, или я чего то не правильно делаю?
__________________
Политика России будет выглядеть неоднозначной до тех пор, пока не будет решен исход битвы.
Чем больше слёз тем больше облегчения, в слезах и заключается лечение.
Не зли меня
|
|
|
|
26.01.2011, 23:15
|
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Это похоже только для прошивалки , в дебуггере сразу стартует.
Выход юзать STM32 ST-Link Utility .
Там и стартуется и сбрасывается ...
Гы... И все таки я не зря ST-link купил...
__________________
Осторожно , злой кот
Последний раз редактировалось dosikus; 27.01.2011 в 00:07.
|
|
|
|
26.01.2011, 23:34
|
|
Прописка
Регистрация: 09.11.2010
Сообщений: 102
Сказал спасибо: 4
Сказали Спасибо 28 раз(а) в 22 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от ut1wpr
|
Сообщение от PavelV
Набросал статейку по быстрому старту с STM32 на примере Discovery. Доступен демо-проект для связки Eclipse + Sourcery GCC.
"Hello World" для STM32 или с чего начать
Приятного прочтения!
Прочитал. Обнаружил вот это:
Цитата:
После завершения загрузки прошивки, необходимо отключить питание отладочной платы, а затем включить (вынуть кабель из USB и воткнуть снова).
Ну не должно быть так у "правильных" загрузчиков. Загрузчик должен уметь ребутнуть кристалл, никаких процедур с питанием не должно быть! Если постоянно дергать разъем USB, его надолго не хватит. Ну да ладно, это говорит о том, что они этот глюк не побороли. Видимо, загрузка из Кейла и ИАРа тоже не завершается. Был с самого начала такой глюк. Делаем загрузку из среды Кейла либо ИАРа, передергиваем питание (кстати, это удобнее делать при помощи джампера на плате, можно даже нормально-замкнутую кнопку вместо этого джампера повесить - в любом случае, это костыль) и имеем... работу старой прошивки. Лишь загружая скомпилированный проект в режиме дебаггера, он таки загружается. Но при этом тоже требуется "передергивание" питания. Плохо! Сыро. А если мне по условиям проекта надо внести изменения и проверить именно не выключая питания, что, разве не может быть таких ситуаций? Они с этим уже третий месяц живут и рассылают борды с этим явлением. Если из Эклипса тоже надо питаловом шаманить - значит глюк аппаратный, такое продавать нельзя. Отсюда и бесплатная раздача глючной партии. Но все это лишь мое личное мнение. Многие просто советуют не обращать внимание на это неудобство. Но ведь потом с этим загрузчиком работать и работать. Сколько бы он ни стоил, он должен работать правильно? Или не так?
|
НЕ ТАК!
Ну нет там такого глюка! Иначе я бы уже три раза повесился, передергивая питание у целевого контроллера (STM32F103RB). Специально заказал халявный Дисковери32 для того чтобы проверить, но он пока не приехал. Пользуюсь Дисковери, купленным в DIgi-Key_е 9/30/2010 5:14:09 AM. Т.е. если бы там был глюк - он еще не устранен. Из ПО стоИт IAR 6.10.1.
|
|
|
|
27.01.2011, 00:55
|
|
Заблокирован
Регистрация: 12.09.2009
Сообщений: 420
Сказал спасибо: 148
Сказали Спасибо 166 раз(а) в 118 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
people запутался напрочь в настройках и2с. есть там Control register 2 (I2C_CR2)
где задается частота - чего???
из шита(Периферийная тактовая частота должна быть сконфигурирована, используя входную тактовую частоту APB (I2C
периферийное устройство соединялось с APB). Минимальная позволенная частота составляет 2 МГц, максимум
частота ограничена максимальной частотой APB (24 МГц) и внутренним ограничением
46 МГц.)
последовательность действий
● Program the peripheral input clock in I2C_CR2 Register in order to generate correct
timings
● Configure the clock control registers
● Configure the rise time register
● Program the I2C_CR1 register to enable the peripheral
● Set the START bit in the I2C_CR1 register to generate a Start condition
The peripheral input clock frequency must be at least:
● 2 MHz in Standard mode
● 4 MHz in Fast mode
а вот чем именно надо эту частоту задать? непоняткой выше или пред делителем шины APB1 prescaler?
Последний раз редактировалось gromovi; 27.01.2011 в 01:18.
|
|
|
|
27.01.2011, 01:28
|
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
gromovi, В примерах поройся :
Пака_куда_установлен_Keil\ARM\Examples\ST\STM32F10 xFWLib\Examples\I2C\M24C08_EEPROM
Код:
|
#define I2C_Speed 400000
#define I2C1_SLAVE_ADDRESS7 0xA0
////////////////////////////////////////////////
cut !!!!
//////////////////////////////////////
void I2C_Configuration(void)
{
I2C_InitTypeDef I2C_InitStructure;
/* I2C configuration */
I2C_InitStructure.I2C_Mode = I2C_Mode_I2C;
I2C_InitStructure.I2C_DutyCycle = I2C_DutyCycle_2;
I2C_InitStructure.I2C_OwnAddress1 = I2C1_SLAVE_ADDRESS7;
I2C_InitStructure.I2C_Ack = I2C_Ack_Enable;
I2C_InitStructure.I2C_AcknowledgedAddress = I2C_AcknowledgedAddress_7bit;
I2C_InitStructure.I2C_ClockSpeed = I2C_Speed;
/* I2C Peripheral Enable */
I2C_Cmd(I2C1, ENABLE);
/* Apply I2C configuration after enabling it */
I2C_Init(I2C1, &I2C_InitStructure);
} |
__________________
Осторожно , злой кот
Последний раз редактировалось dosikus; 27.01.2011 в 01:44.
|
|
|
Сказали "Спасибо" dosikus
|
|
|
27.01.2011, 01:35
|
|
Заблокирован
Регистрация: 12.09.2009
Сообщений: 420
Сказал спасибо: 148
Сказали Спасибо 166 раз(а) в 118 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
перерыл все вдоль и поперек. не хочу юзать кейловские библиотеки. хочу чтоб сам все ручками по даташиту(как можно юзать чужие библ. не зная как работает модуль?). а там тяни-толкай.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 01:24.
|
|