Перейти к содержанию
    

Да пересобрал OPENOCD

скачал исходники последнии из svn...

как собирать здесь описано

http://openfacts.berlios.de/index-en.phtml...uilding_OpenOCD

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

К сожалению я не знаю готового решения RDI <-> GDBserver

Но у IAR 5.xx уже есть в конфигурации GDB server, так что 5ый IAR можно подключить прямо к openocd

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

OpenOCD запускается как GDB сервер - то есть висит на локалхосте - для его использования надо выбрать в опциях проэкта в свойствах дебаггера GDB server а в свойствах самого GDB сервера указать

адрес

127.0.0.1,2331

где 2331 - порт на котором запускается OpenOCD.

все это касается ИАРа 5.11 который поддерживает GDB

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

OpenOCD запускается как GDB сервер - то есть висит на локалхосте - для его использования надо выбрать в опциях проэкта в свойствах дебаггера GDB server а в свойствах самого GDB сервера указать

адрес

127.0.0.1,2331

где 2331 - порт на котором запускается OpenOCD.

все это касается ИАРа 5.11 который поддерживает GDB

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

К сожалению я не знаю готового решения 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 сюда? ;)

Изменено пользователем Vitaliy_ARM

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Недавно наткнулся на ссылку с конфигурацией OpenOCD под вашу плату

Да как раз с ней проблем нет никаких, IAR 4.xx и 5.xx с ней отлично работает через LMFTDI,

а моя плата с STM32F103 почему то не работает (наверное каких то сигналов не хватает диагностики нет никакой....)

 

Может выложите свою версию OpenOCD сюда? ;)

Эта сборка OpenOCD с конфигурацией

./configure --enable-ft2232_ftd2xx --with-ftd2xx=/cygdrive/e/.....

И удалено установка младшего бита PC ( что бы IAR не глючил), зато наверное оригинальный GDB может глючить.

У меня с IAR вроде все работает.

openocd_ftdi_iar.rar

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А что, правда, что 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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

с STM при дебаге если после точки останова необходимо сделать шаг (step over, например), попадаешь в процедуры обработки какого-нибудь прерывания, поэтому приходится расставлять доп. брейкпоинты чтобы просто пройти по процедуре основного цикла.

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Немного потестировал 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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да как раз с ней проблем нет никаких, 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 :)

не выложите ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

именно по этому OPENOCD не врубает swd режим. следовательно мне надо перепрошить епромку содержимым таким же как у вас , чтобы получить всю мощь SWD :)

Не не поэтому. OpenOCD вообще не умеет работать через SWD :(, покрайней мере пока. Я тоже использую режим JTAG.

А прошивку прилагаю, может понадобится что бы IAR определил устройство как LM FTDI

lm_ftdi_eep.rar

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Все еще мучаю STM32F103. Пока чип работает хорошо.

Кстати у него очень удобная реализация CAN - 2 fifo (что мне удобнее чем куча mailbox) и много довольно гибких фильтров.

И еще тут обнаружил что APB1 (на ней и CAN висит ) работает (по даташиту) максимум на 36 Mhz, т.к. я на это внимания не обратил у меня APB1 и CAN на ней работают на полной скорости 72 Mhz ( глюков не было), но скорость я конечно все равно понижу до 36.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Все еще мучаю 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 :(

что делать ума не приложу ..

на jlink mt link и jet-link IAR ругается типа - указанный адаптер не поддерживает режим СВД ! :(

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

тоже мучаю его , все приятненько , только по прежнему накалываюсь н абаги в либахм СВД ! :(

 

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...