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

 
 
20 страниц V  « < 2 3 4 5 6 > »   
Reply to this topicStart new topic
> STM32F103x, делимся впечатлениями
Vitaliy_ARM
сообщение Jan 31 2008, 14:02
Сообщение #46


Знающий
****

Группа: Свой
Сообщений: 509
Регистрация: 19-07-07
Из: г. Таганрог
Пользователь №: 29 246



Цитата(KRS @ Jan 31 2008, 15:17) *
Да пересобрал OPENOCD
скачал исходники последнии из svn...
как собирать здесь описано
http://openfacts.berlios.de/index-en.phtml...uilding_OpenOCD


Как OpenOCD с IAR стыковать? Через RDI драйвер? Может ссылку подкинете?


--------------------
Умные речи подобны строкам, напечатанным курсивом. К. Прутков
Go to the top of the page
 
+Quote Post
KRS
сообщение Jan 31 2008, 14:09
Сообщение #47


Профессионал
*****

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



Цитата(Vitaliy_ARM @ Jan 31 2008, 17:02) *
Как OpenOCD с IAR стыковать? Через RDI драйвер? Может ссылку подкинете?

К сожалению я не знаю готового решения RDI <-> GDBserver
Но у IAR 5.xx уже есть в конфигурации GDB server, так что 5ый IAR можно подключить прямо к openocd
Go to the top of the page
 
+Quote Post
cebotor
сообщение Jan 31 2008, 14:27
Сообщение #48


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

Группа: Свой
Сообщений: 135
Регистрация: 6-04-07
Из: Бронницы
Пользователь №: 26 809



Цитата(Vitaliy_ARM @ Jan 31 2008, 17:02) *
Как OpenOCD с IAR стыковать? Через RDI драйвер? Может ссылку подкинете?

OpenOCD запускается как GDB сервер - то есть висит на локалхосте - для его использования надо выбрать в опциях проэкта в свойствах дебаггера GDB server а в свойствах самого GDB сервера указать
адрес
127.0.0.1,2331
где 2331 - порт на котором запускается OpenOCD.
все это касается ИАРа 5.11 который поддерживает GDB


--------------------
если еррата пуста - это не хорошо а плохо
Go to the top of the page
 
+Quote Post
Vitaliy_ARM
сообщение Jan 31 2008, 20:23
Сообщение #49


Знающий
****

Группа: Свой
Сообщений: 509
Регистрация: 19-07-07
Из: г. Таганрог
Пользователь №: 29 246



Цитата(cebotor @ Jan 31 2008, 17:27) *
OpenOCD запускается как GDB сервер - то есть висит на локалхосте - для его использования надо выбрать в опциях проэкта в свойствах дебаггера GDB server а в свойствах самого GDB сервера указать
адрес
127.0.0.1,2331
где 2331 - порт на котором запускается OpenOCD.
все это касается ИАРа 5.11 который поддерживает GDB


Понял, нашел, спасибо! Тоже заказал себе STM32F103VB. Придет, попробую FTDI J-TAG и J-Link, заодно и сравню.


--------------------
Умные речи подобны строкам, напечатанным курсивом. К. Прутков
Go to the top of the page
 
+Quote Post
Vitaliy_ARM
сообщение Jan 31 2008, 23:23
Сообщение #50


Знающий
****

Группа: Свой
Сообщений: 509
Регистрация: 19-07-07
Из: г. Таганрог
Пользователь №: 29 246



Цитата(KRS @ Jan 31 2008, 17:09) *
К сожалению я не знаю готового решения RDI <-> GDBserver
Но у IAR 5.xx уже есть в конфигурации GDB server, так что 5ый IAR можно подключить прямо к openocd


Недавно наткнулся на ссылку с конфигурацией OpenOCD под вашу плату
http://www.siwawi.arubi.uni-kl.de/avr_proj...rtex/index.html

Там еще есть описание, как этот gdb под линуксом использовать.

Может выложите свою версию OpenOCD сюда? wink.gif

Сообщение отредактировал Vitaliy_ARM - Jan 31 2008, 23:36


--------------------
Умные речи подобны строкам, напечатанным курсивом. К. Прутков
Go to the top of the page
 
+Quote Post
KRS
сообщение Feb 1 2008, 07:36
Сообщение #51


Профессионал
*****

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



Цитата(Vitaliy_ARM @ Feb 1 2008, 02:23) *
Недавно наткнулся на ссылку с конфигурацией OpenOCD под вашу плату

Да как раз с ней проблем нет никаких, IAR 4.xx и 5.xx с ней отлично работает через LMFTDI,
а моя плата с STM32F103 почему то не работает (наверное каких то сигналов не хватает диагностики нет никакой....)

Цитата(Vitaliy_ARM @ Feb 1 2008, 02:23) *
Может выложите свою версию OpenOCD сюда? wink.gif

Эта сборка OpenOCD с конфигурацией
./configure --enable-ft2232_ftd2xx --with-ftd2xx=/cygdrive/e/.....
И удалено установка младшего бита PC ( что бы IAR не глючил), зато наверное оригинальный GDB может глючить.
У меня с IAR вроде все работает.
Прикрепленные файлы
Прикрепленный файл  openocd_ftdi_iar.rar ( 449.39 килобайт ) Кол-во скачиваний: 115
 
Go to the top of the page
 
+Quote Post
gregory812
сообщение Feb 15 2008, 15:02
Сообщение #52


Участник
*

Группа: Участник
Сообщений: 72
Регистрация: 23-11-06
Из: Odessa
Пользователь №: 22 646



А что, правда, что J-Link еще не поддерживает STM32?

А что, правда, что J-Link еще не поддерживает STM32?
Go to the top of the page
 
+Quote Post
KRS
сообщение Feb 15 2008, 16:15
Сообщение #53


Профессионал
*****

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



Цитата(gregory812 @ Feb 15 2008, 18:02) *
А что, правда, что J-Link еще не поддерживает STM32?

IMHO не правда. В IAR даже настройка есть на SWD, а SWD есть только у Cortex
К тому же у Segger написано
Any ARM7/ARM9 core (including thumb mode) and Cortex M3 including SWD


Кстати как раз сегодня плотно начал работать с STM32F013C6T6.
(ну тут как всегда танец с бубном с отладчиком и gdb server).
Но обнаружил интересную вещь!
простейшая программа
Код
void main(void)
{
    RCC_APB2ENR_bit.IOPBEN = 1;
    GPIOB_CRL_bit.CNF2 = 0;
    GPIOB_CRL_bit.MODE2 = 1;
    while(1) {
        GPIOB_BSRR = 1<<2;
        GPIOB_BRR = 1<<2;
    }
}


Из флеша дергает ногами быстрее чем из SRAM. Но самое интересное из флеша картинка получается короткий импульс вверх короткий вниз короткий вверх длинный вниз и так по кругу.
Где то так
Код
из флеша
001010010100
из SRAM
00011000110001100011000

причем имеено в такой пропорции.

Если в цикле поставить
Код
    while(1) {
        GPIOB_BSRR = 1<<2;
        GPIOB_BRR = 1<<2;
        GPIOB_BSRR = 1<<2;
        GPIOB_BRR = 1<<2;
    }

То из флеша картина не меняется

Код
из флеша
001010010100
из SRAM
000110011000110011000
Go to the top of the page
 
+Quote Post
OVladimir
сообщение Feb 16 2008, 13:39
Сообщение #54


Участник
*

Группа: Участник
Сообщений: 40
Регистрация: 10-01-07
Из: Вильнюс
Пользователь №: 24 290



Цитата(OVladimir @ Jan 12 2008, 19:15) *
с STM при дебаге если после точки останова необходимо сделать шаг (step over, например), попадаешь в процедуры обработки какого-нибудь прерывания, поэтому приходится расставлять доп. брейкпоинты чтобы просто пройти по процедуре основного цикла.


и ещё, на сей раз в корзину плюсов по поводу дебага: значения глобальных переменных видно всё время, не надо останавливать выполнение программы.
Go to the top of the page
 
+Quote Post
KRS
сообщение Feb 18 2008, 14:06
Сообщение #55


Профессионал
*****

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



Немного потестировал STM32F103

Простейшая программка в цикле доступ к GPIO, просто операции в регистрах и переходы, и SRAM

Код
unsigned gpio_test(void)
{
    unsigned r,i;
    r = SYSTICKCVR;
    i = 1024;
    do {
        GPIOB_BSRR = 1<<2;
        GPIOB_BRR = 1<<2;
    }while(--i);
    return r - SYSTICKCVR;
}

unsigned alu_test(void)
{
    unsigned r,i,tmp;
    r = SYSTICKCVR;
    i = 1024;
    do {
        if (tmp) tmp++;
    }while(--i);
    return r - SYSTICKCVR;
}

unsigned ram_test(void)
{
    unsigned r,i;
    volatile unsigned tmp;
    r = SYSTICKCVR;
    i = 1024;
    do {
        tmp = 1;
        tmp = 2;
    }while(--i);
    return r - SYSTICKCVR;
}


компилировал IAR 5.11 с максимальной оптимизацией, сами цыклы получились
Код
??gpio_test_1:
        STR      R4,[R3, #+0]
        STR      R4,[R3, #+4]
        SUBS     R2,R2,#+1
        BNE.N    ??gpio_test_1

??alu_test_0:
        CBZ      R0,??alu_test_1
        ADDS     R0,R0,#+1
??alu_test_1:
        SUBS     R3,R3,#+1
        BNE.N    ??alu_test_0

??ram_test_0:
        STR      R4,[SP, #+0]
        STR      R3,[SP, #+0]
        SUBS     R2,R2,#+1
        BNE.N    ??ram_test_0


Результаты для SRAM и флеша с разными wait stait
Получатеся что из Флеша доступ к переферии существенно быстрее.

Код
            SRAM         FLASH 0       FLASH 1      FLASH 2
GPIO        12335        6191          8238         12333
ALU         6144         5121          6145         9213
RAM         8189         5121          8189         12283
Go to the top of the page
 
+Quote Post
cebotor
сообщение Feb 26 2008, 13:41
Сообщение #56


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

Группа: Свой
Сообщений: 135
Регистрация: 6-04-07
Из: Бронницы
Пользователь №: 26 809



Цитата(KRS @ Feb 1 2008, 10:36) *
Да как раз с ней проблем нет никаких, IAR 4.xx и 5.xx с ней отлично работает через LMFTDI,
а моя плата с STM32F103 почему то не работает (наверное каких то сигналов не хватает диагностики нет никакой....)
Эта сборка OpenOCD с конфигурацией
./configure --enable-ft2232_ftd2xx --with-ftd2xx=/cygdrive/e/.....
И удалено установка младшего бита PC ( что бы IAR не глючил), зато наверное оригинальный GDB может глючить.
У меня с IAR вроде все работает.

Еще раз спасибо , заставил работать OPENOCD с помощью вашего патча с STM32.
Однако у меня не STELLARIS-овская плата а OLIMEX-овский USB_OCD jtag адаптер, и я так понимаю именно по этому OPENOCD не врубает swd режим. следовательно мне надо перепрошить епромку содержимым таким же как у вас , чтобы получить всю мощь SWD smile.gif
не выложите ?


--------------------
если еррата пуста - это не хорошо а плохо
Go to the top of the page
 
+Quote Post
KRS
сообщение Feb 26 2008, 14:15
Сообщение #57


Профессионал
*****

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



Цитата(cebotor @ Feb 26 2008, 16:41) *
именно по этому OPENOCD не врубает swd режим. следовательно мне надо перепрошить епромку содержимым таким же как у вас , чтобы получить всю мощь SWD smile.gif

Не не поэтому. OpenOCD вообще не умеет работать через SWD sad.gif, покрайней мере пока. Я тоже использую режим JTAG.
А прошивку прилагаю, может понадобится что бы IAR определил устройство как LM FTDI
Прикрепленные файлы
Прикрепленный файл  lm_ftdi_eep.rar ( 575 байт ) Кол-во скачиваний: 94
 
Go to the top of the page
 
+Quote Post
KRS
сообщение Mar 11 2008, 15:38
Сообщение #58


Профессионал
*****

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



Все еще мучаю STM32F103. Пока чип работает хорошо.
Кстати у него очень удобная реализация CAN - 2 fifo (что мне удобнее чем куча mailbox) и много довольно гибких фильтров.
И еще тут обнаружил что APB1 (на ней и CAN висит ) работает (по даташиту) максимум на 36 Mhz, т.к. я на это внимания не обратил у меня APB1 и CAN на ней работают на полной скорости 72 Mhz ( глюков не было), но скорость я конечно все равно понижу до 36.
Go to the top of the page
 
+Quote Post
cebotor
сообщение Mar 13 2008, 13:09
Сообщение #59


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

Группа: Свой
Сообщений: 135
Регистрация: 6-04-07
Из: Бронницы
Пользователь №: 26 809



Цитата(KRS @ Mar 11 2008, 18:38) *
Все еще мучаю STM32F103. Пока чип работает хорошо.
Кстати у него очень удобная реализация CAN - 2 fifo (что мне удобнее чем куча mailbox) и много довольно гибких фильтров.

тоже мучаю его , все приятненько , только по прежнему накалываюсь н абаги в либах ... например при работе со слипом процедура
RCC_WaitForHSEStartUp - таймаут тупым счетчиком который обнуляется один раз при старте микроконтроллера - наш выход :
ErrorStatus RCC_WaitForHSEStartUp(void)
{
/* Wait till HSE is ready and if Time out is reached exit */
StartUpCounter=0;
ну хотя бы так , не переписывать же все.

PS так и не разобрался с SWD !!!!! вобще никак ни через ft2232 ни через три варианта j linka sad.gif
что делать ума не приложу ..
на jlink mt link и jet-link IAR ругается типа - указанный адаптер не поддерживает режим СВД ! sad.gif


--------------------
если еррата пуста - это не хорошо а плохо
Go to the top of the page
 
+Quote Post
KRS
сообщение Mar 13 2008, 13:48
Сообщение #60


Профессионал
*****

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



Цитата(cebotor @ Mar 13 2008, 16:09) *
тоже мучаю его , все приятненько , только по прежнему накалываюсь н абаги в либахм СВД ! sad.gif


Да я тоже сразу эти либы скачал, посмотрел на них... и решил что обойдусь без них.

На SPI тут уже жаловались - что плохо описан. IMHO он не плохо описан а просто так тупо сделан. Очень примитивно. Больше всего расстраивает что нет флага на конец передачи, флаг на прием срабатывает по приему последнего бита и если CHPA = 0 получается на пол периода раньше, что очень неудобно если скорость маленькая и чипселекты софтом реализованы. Но самое главное при overrun остается не новое значение - а старое и пока его не прочитать все новые будут отброшены, что очень неудобно когда чать устройств на SPI только на передачу. Если например тупо послать 4 байта то потом в SPI_DR останется не последний принятый байт, а первый а все остальные удалятся ( ну и флаг overrun конечно будет установлен)
Go to the top of the page
 
+Quote Post

20 страниц V  « < 2 3 4 5 6 > » 
Reply to this topicStart new topic
7 чел. читают эту тему (гостей: 7, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 19:56
Рейтинг@Mail.ru


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