Easyelectronics.ru

Электроника для всех
Текущее время: 24 сен 2017, 04:31

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



    • JLCPCB for PCB Prototyping: 10 шт. 2-слоя 100*100mm 2$(около 140rub), изготовление за 24 часа.
    • Создание принципиальных схем и проектирование печатных плат
    • Крупнейший китайский онлайн магазин радиодеталей. Скидка 50%
    • Просмотр GERBER файлов

Начать новую тему Ответить на тему  [ Сообщений: 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
Сообщения: 943
Откуда: Германия
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
Сообщения: 943
Откуда: Германия
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
Сообщения: 897
Цитата:
Оу. и этими пинами пользоваться в итоге нельзя? или их конфигурить надо как то особым методом?


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
Сообщения: 897
JeikiS писал(а):
Вобщем, дислокация граблей выявлена. И направление Для раскопок, тоже. Спасибо за помощь.

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


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


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

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: 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
Сообщения: 943
Откуда: Германия
JeikiS писал(а):
... надо ремапить в другое место джитаг.
...

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

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


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

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

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

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


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

Зарегистрирован: 29 янв 2010, 15:41
Сообщения: 943
Откуда: Германия
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
Сообщения: 6194
Откуда: Челябинск
А на них 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
Сообщения: 6194
Откуда: Челябинск
Так вытащить то разьем толку мало. Сами выводы в МК те что соседствуют с 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
Сообщения: 2303
Изучив даташит на выбранный контроллер.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: 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
Сообщения: 6194
Откуда: Челябинск
От платы они не зависят. Выводы МК кончаются там же где и начинаются - на модуле. А дальше куда подцепите туда подцепите. А какой порт можно использовать сразу, а какой надо предварительно переназначить смотрите в даташите.

_________________
Хозяин дома


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

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


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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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

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