Easyelectronics.ru

Электроника для всех
Текущее время: 22 ноя 2017, 21:46

Часовой пояс: UTC + 5 часов



    • 10 шт. 2-слоя 100*100mm 2$. Быстрый заказ: JLCPCB.com
    • JLCPCB - это крупнейшая фабрика PCB прототипов в Китае.
    • Имеющий более 290,000 клиентов и выполняющий более 8,000 заказов в день.
    • LCSC - Крупнейший китайский онлайн магазин радиодеталей.

Начать новую тему Ответить на тему  [ Сообщений: 21 ] 
Автор Сообщение
 Заголовок сообщения: PB2+STM32 первый заход и первое поражение
СообщениеДобавлено: 19 июл 2016, 17:38 
Только пришел

Зарегистрирован: 28 янв 2016, 17:18
Сообщения: 11
Доброго времени суток.

Господа нужен хелп. Решил поковырять stm32, достал запылившийся после получения с почты пинборд, установил кокос, компилятор, прочитал пару статеек для нубов, подгружаю пример с репки кокоса с загадочным названием "GPIO_Blink", и вижу, что в нем используются порты, которых нет на модуле PB2 STM32F103xx(PC6 и PC9). Мы то не пальцем деланы, меняю все GPIOC на GPIOB и указываю, подключенные перемычками, PB3 и PB4, код в итоге получился следующий:
Код:
#include "stm32f10x.h"
#include "stm32f10x_gpio.h"
#include "stm32f10x_rcc.h"

#define LED_PORT GPIOB

int main(void)
{
    int i;
    /* Initialize Leds mounted on STM32 board */
    GPIO_InitTypeDef  GPIO_InitStructure;
    /* Initialize LED which connected to PC6,9, Enable the Clock*/
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
    /* Configure the GPIO_LED pin */
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3|GPIO_Pin_4;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_Init(LED_PORT, &GPIO_InitStructure);




    while (1)
    {
        /* Toggle LEDs which connected to PC6*/
        LED_PORT->ODR ^= GPIO_Pin_3;


        /* delay */
        for(i=0;i<0x100000;i++);

        /* Toggle LEDs which connected to PC9*/

        LED_PORT->ODR ^= GPIO_Pin_4;

        /* delay */
        for(i=0;i<0x100000;i++);
    }
}


колинк заработал с пол пинка, все сразу грузанулось в камушек, только вот веселого мигания светодиодами так и не наблюдалось: один из светиков в пол накала, второй вообще не подает признаков жизни...

поплясал с бубном, окурил помещение благовониями - не помогло

ну думаю, может пример корявый, подгружаю следующий пример "GPIOExample". В нем для демонстрации используются пины PB8-10. Решил что, в этот раз ничего менять не буду, все порты на модуле разведены, грузану как есть. С портов прокинул проводки до светиков, и все взлетело!

Откинулся на спинку кресла, торжественно покурил.

Подгружаю первый пример, но уже указываю порты которые прокинуты проводками(т.е. PB8 и PB9) - взлетает!
Немного в растерянности, убираю проводки и возвращаю перемычки на PB3 и PB4, меняю в коде 2 цифры(номера портов), подгружаю - та же трабла что и при первом эксперименте: слегка тлеет PB4 и никаких телодвижений.

Где грабли?

update: приложу скрин, может перемычками где начудил?

update2: если для вывод обозначить порты PB4 и PB5, то PB5 работает как положено, а PB4 в пол накала, без движений :/

Изображение


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: PB2+STM32 первый заход и первое поражение
СообщениеДобавлено: 19 июл 2016, 18:08 
Старожил
Аватара пользователя

Зарегистрирован: 29 янв 2010, 15:41
Сообщения: 1021
Откуда: Германия
PB3 PB4 -используются JTAGом:
PB3 = JTDO/ SWO (в режиме SWD)
PB4 = NJRST

_________________
Мои поделки
http://www.fun-electronic.net/


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: PB2+STM32 первый заход и первое поражение
СообщениеДобавлено: 19 июл 2016, 18:14 
Только пришел

Зарегистрирован: 28 янв 2016, 17:18
Сообщения: 11
MasterAlexei писал(а):
PB3 PB4 -используются JTAGом:
PB3 = JTDO/ SWO (в режиме SWD)
PB4 = NJRST


Оу. и этими пинами пользоваться в итоге нельзя? или их конфигурить надо как то особым методом?
по аналогии: у авр, можно пользоваться любыми пинами, в том числе и теми по которым идет SPI
с jtag ранее работал только на уровне "получил хекс -> залил", тонкостей не знаю


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: PB2+STM32 первый заход и первое поражение
СообщениеДобавлено: 19 июл 2016, 18:26 
Старожил
Аватара пользователя

Зарегистрирован: 29 янв 2010, 15:41
Сообщения: 1021
Откуда: Германия
JeikiS писал(а):
Оу. и этими пинами пользоваться в итоге нельзя? или их конфигурить надо как то особым методом?

Теоретически - скорее всего можно, но я не пробовал. Попробуйте отключить JTAG и перезапустить проц. Мож эти пины активируются в режиме JTAG именно когда JTAG подключен.
JeikiS писал(а):

по аналогии: у авр, можно пользоваться любыми пинами, в том числе и теми по которым идет SPI
с jtag ранее работал только на уровне "получил хекс -> залил", тонкостей не знаю

У АВР, если используется JTAG, то пины ("верхние" порта F у меги 128йб у остальных, не помню, какие) отдаются полностью JTAGу и уже их как-то иначе использовать не получится. Пины для ISP - да, можно использовать после программирования.

_________________
Мои поделки
http://www.fun-electronic.net/


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: PB2+STM32 первый заход и первое поражение
СообщениеДобавлено: 19 июл 2016, 18:33 
Старожил
Аватара пользователя

Зарегистрирован: 23 сен 2012, 20:35
Сообщения: 1107
Цитата:
Оу. и этими пинами пользоваться в итоге нельзя? или их конфигурить надо как то особым методом?


STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Examples\GPIO\JTAG_Remap\main.c

Код:
    /* Disable the Serial Wire Jtag Debug Port SWJ-DP */
    GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, ENABLE);

    /* Configure PA.13 (JTMS/SWDAT), PA.14 (JTCK/SWCLK) and PA.15 (JTDI) as
       output push-pull */
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13 | GPIO_Pin_14 | GPIO_Pin_15;
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
    GPIO_Init(GPIOA, &GPIO_InitStructure);

    /* Configure PB.03 (JTDO) and PB.04 (JTRST) as output push-pull */
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3 | GPIO_Pin_4;
    GPIO_Init(GPIOB, &GPIO_InitStructure);


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: PB2+STM32 первый заход и первое поражение
СообщениеДобавлено: 19 июл 2016, 19:42 
Только пришел

Зарегистрирован: 28 янв 2016, 17:18
Сообщения: 11
Вобщем, дислокация граблей выявлена. И направление Для раскопок, тоже. Спасибо за помощь.

Если я все прально понял: чтоб использовать эти порты, надо ремапить в другое место, либо отключать джитаг. Но в обоих случаях нельзя будет использовать для прошивки/отладки распаянный на модуле разъем.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: PB2+STM32 первый заход и первое поражение
СообщениеДобавлено: 19 июл 2016, 20:11 
Старожил
Аватара пользователя

Зарегистрирован: 23 сен 2012, 20:35
Сообщения: 1107
JeikiS писал(а):
Вобщем, дислокация граблей выявлена. И направление Для раскопок, тоже. Спасибо за помощь.

Если я все прально понял: чтоб использовать эти порты, надо ремапить в другое место, либо отключать джитаг. Но в обоих случаях нельзя будет использовать для прошивки/отладки распаянный на модуле разъем.


Они не то что бы ремапятся сами, скорее JTAG/SWD от них отмапливается. Ну и да, использовать их потом для прошивки и отладки не получится. Если не ошибаюсь, то там можно по частям отремапить и оставить только SWD, его, вобщем, более чем достаточно для всего, а потеря 2-х пинов не существенна.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: PB2+STM32 первый заход и первое поражение
СообщениеДобавлено: 19 июл 2016, 20:35 
Старожил

Зарегистрирован: 06 ноя 2013, 16:07
Сообщения: 468
Откуда: Германия
И учесть еще одну граблю - часть этих пинов подтянуты вверх по умолчанию (не помню, которые). Если на такой пин повесить реле, к примеру, то оно при загрузке успеет щелкнуть, пока рамапинг подоспеет.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: PB2+STM32 первый заход и первое поражение
СообщениеДобавлено: 20 июл 2016, 15:11 
Только пришел

Зарегистрирован: 28 янв 2016, 17:18
Сообщения: 11
evsi писал(а):
Они не то что бы ремапятся сами, скорее JTAG/SWD от них отмапливается. Ну и да, использовать их потом для прошивки и отладки не получится. Если не ошибаюсь, то там можно по частям отремапить и оставить только SWD, его, вобщем, более чем достаточно для всего, а потеря 2-х пинов не существенна.


да, я это и имел ввиду: чтоб использовать эти порты, надо ремапить в другое место джитаг.
у меня колинк, он swd не поддерживает вроде :(

dev писал(а):
И учесть еще одну граблю - часть этих пинов подтянуты вверх по умолчанию (не помню, которые). Если на такой пин повесить реле, к примеру, то оно при загрузке успеет щелкнуть, пока рамапинг подоспеет.


спасиб, полезная инфа.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: PB2+STM32 первый заход и первое поражение
СообщениеДобавлено: 20 июл 2016, 15:22 
Старожил
Аватара пользователя

Зарегистрирован: 29 янв 2010, 15:41
Сообщения: 1021
Откуда: Германия
JeikiS писал(а):
... надо ремапить в другое место джитаг.
...

ЖИТАГ НЕ ремапится.

_________________
Мои поделки
http://www.fun-electronic.net/


Последний раз редактировалось MasterAlexei 21 июл 2016, 00:30, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: PB2+STM32 первый заход и первое поражение
СообщениеДобавлено: 20 июл 2016, 22:47 
Старожил
Аватара пользователя

Зарегистрирован: 23 сен 2012, 20:35
Сообщения: 1107
MasterAlexei писал(а):
ЖИТАГ НЕ ремапится.

Просьба чуть акуратнее с квотингом, это не мои слова.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: PB2+STM32 первый заход и первое поражение
СообщениеДобавлено: 21 июл 2016, 00:30 
Старожил
Аватара пользователя

Зарегистрирован: 29 янв 2010, 15:41
Сообщения: 1021
Откуда: Германия
evsi писал(а):
Просьба чуть акуратнее с квотингом, это не мои слова.

Угумс. Уже второй раз тут так прокалываюсь. Сейчас подправлю

_________________
Мои поделки
http://www.fun-electronic.net/


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: PB2+STM32 первый заход и первое поражение
СообщениеДобавлено: 21 июл 2016, 16:55 
Только пришел

Зарегистрирован: 28 янв 2016, 17:18
Сообщения: 11
MasterAlexei писал(а):
ЖИТАГ НЕ ремапится.

значит, всё ещё проще: только отключать :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: PB2+STM32 первый заход и первое поражение
СообщениеДобавлено: 01 сен 2016, 00:16 
Только пришел

Зарегистрирован: 18 авг 2016, 09:39
Сообщения: 7
Доброго времени суток! Подскажите, (по быстрому старту PINBOARD II v2) вчера забрал с почты бандероль от DI!
Установил ARM JTAG CoLink и плату STM32F103xx. Согласно инструкции установил все джампера по питанию (и подсмотрел у JeikiS)!
Поморгать двумя светодиодами не получилось т.к после прошивки через Demonstrator GUI, LED0 и LED2 -горят в полнакала, LED3-замигал!!!, а вот LED1- признаков жизни не подает.
Что делать???


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: PB2+STM32 первый заход и первое поражение
СообщениеДобавлено: 01 сен 2016, 01:31 
Администратор
Аватара пользователя

Зарегистрирован: 16 янв 2010, 06:09
Сообщения: 6205
Откуда: Челябинск
А на них JTAG может висеть. Попробуй перекинуть их на другие порты или ваще утащить на LEDBAR проводками.

_________________
Хозяин дома


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: PB2+STM32 первый заход и первое поражение
СообщениеДобавлено: 01 сен 2016, 09:02 
Только пришел

Зарегистрирован: 18 авг 2016, 09:39
Сообщения: 7
Вытащил JTAG, тоже самое!
На LED баре, все отрабатывает, но с портами B5, B8, B9!
Получается, что в отладочной плате плате STM32, порты A15, B03, B04, мы их не задействуем ни для чего!?


Последний раз редактировалось dimonvlg 01 сен 2016, 10:30, всего редактировалось 2 раз(а).

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: PB2+STM32 первый заход и первое поражение
СообщениеДобавлено: 01 сен 2016, 09:56 
Администратор
Аватара пользователя

Зарегистрирован: 16 янв 2010, 06:09
Сообщения: 6205
Откуда: Челябинск
Так вытащить то разьем толку мало. Сами выводы в МК те что соседствуют с LED настроены на JTAG. Т.е. надо сам порт переконфигурировать так, чтобы он перестал быть жтагом, изнутри МК. Через SFIO регистры это делается по моему. Но тогда у вас отпадет отладка.

_________________
Хозяин дома


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: PB2+STM32 первый заход и первое поражение
СообщениеДобавлено: 01 сен 2016, 10:03 
Только пришел

Зарегистрирован: 18 авг 2016, 09:39
Сообщения: 7
DI, как узнать какие порты можно использовать для составление программы?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: PB2+STM32 первый заход и первое поражение
СообщениеДобавлено: 01 сен 2016, 10:08 
Старожил

Зарегистрирован: 16 ноя 2012, 07:47
Сообщения: 2381
Изучив даташит на выбранный контроллер.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: PB2+STM32 первый заход и первое поражение
СообщениеДобавлено: 01 сен 2016, 10:35 
Только пришел

Зарегистрирован: 18 авг 2016, 09:39
Сообщения: 7
Я имел ввиду плату разработанную DI HALTом!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: PB2+STM32 первый заход и первое поражение
СообщениеДобавлено: 01 сен 2016, 11:09 
Администратор
Аватара пользователя

Зарегистрирован: 16 янв 2010, 06:09
Сообщения: 6205
Откуда: Челябинск
От платы они не зависят. Выводы МК кончаются там же где и начинаются - на модуле. А дальше куда подцепите туда подцепите. А какой порт можно использовать сразу, а какой надо предварительно переназначить смотрите в даташите.

_________________
Хозяин дома


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 21 ] 

Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot]


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

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB