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

    

kuka_v

Участник
  • Публикаций

    9
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный
  1. Да вроде видит. alex@alex-VirtualBox:~/Desktop$ lsusb Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 002 Device 003: ID 0483:3748 STMicroelectronics ST-LINK/V2 Bus 002 Device 002: ID 80ee:0021 VirtualBox USB Tablet Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Перепроверил и о чудо, все заработало.... alex@alex-VirtualBox:~/Desktop$ openocd -f interface/stlink-v2.cfg -f target/stm32f4x.cfg Open On-Chip Debugger 0.9.0 (2018-01-24-01:05) Licensed under GNU GPL v2 For bug reports, read http://openocd.org/doc/doxygen/bugs.html Info : auto-selecting first available session transport "hla_swd". To override use 'transport select <transport>'. Info : The selected transport took over low-level target control. The results might differ compared to plain JTAG/SWD adapter speed: 2000 kHz adapter_nsrst_delay: 100 srst_only separate srst_gates_jtag srst_open_drain connect_deassert_srst Info : Unable to match requested speed 2000 kHz, using 1800 kHz Info : Unable to match requested speed 2000 kHz, using 1800 kHz Info : clock speed 1800 kHz Info : STLINK v2 JTAG v27 API v2 SWIM v0 VID 0x0483 PID 0x3748 Info : using stlink api v2 Info : Target voltage: 2.909307 Info : stm32f4x.cpu: hardware has 6 breakpoints, 4 watchpoints Похоже на то что и хостовую машину и плату надо было все выключить и включить. Спасибо за помощь! За то что отозвались!
  2. Нашел вот такую книжицу: https://japaric.github.io/discovery/README.html и решил попробовать наконец Rust for Embedded. Споткнулся на подключении моей платки к Ubuntu. Ubuntu 16 у меня в virtualbox-е. По опыту знаю бывают проблемы с прокидыванием USB внутрь виртуальной машины.... Вопрос: ошибка возникает на попытке присоединиться по stlink-ку типа: can't connect to OpenOCD - "Error: open failed" у автора она вроде как описана, но все права и пр вроде проверил по два раза. Есть ликакие рекомендации? Помогите добрым советом. Здесь его рекомендации, у меня не сработало: https://japaric.github.io/discovery/appendi...ror-open-failed
  3. Цитата(jcxz @ Aug 26 2016, 06:46) Чел "мучает гугл", ковыряет наугад чужие исходники. Вместо того чтобы открыть и прочитать даташит на МК. Отсюда и все проблемы. Любая помощь тут бессмысленна. Добрее надо к людям относится! Свою "крутизну" в другом месте показывать надо... Чел прочитал и даташит несколько раз и видео инструкции послушал. И только выполнял урок из видео, использую метод "шаг в сторону" В коде была ошибка-опечатка и другой "опытный! чел мог бы и указать на нее. Ошибка была в адресе бита-регистра потому компилятор это не видел.
  4. Цитата(alag57 @ Aug 25 2016, 12:59) Есть несколько вариантов. Первый - сделать тоже самое, что сделано у вас для UART0, но только для UART1, включая выводы UART1 с пункта до пункта Второй - набрать в гугле: TM4C123 UART1 и получить во третьей ссылке https://github.com/rosterloh/UT.6.01x/blob/...ter/UART/UART.c, посмотреть, разобраться, закомметировать все, что относится к UART0 и раскомментировать все, что относится к UART1. Спасибо! За материал к классу особенно! Сколько ни мучал гугл, сюда он меня не приводил. Я еще раз все проверю. Вообщем то я ожидал что пройдя все что для UART0 и поправив все на значения для UART1 у меня все получится. Но не тут то было. У меня сейчас на PB0/PB1GND (это UART1) висит Profilic преобразователь и воткнут в отдельную винду. Но пока там тишина, как я не мучал плату. Когда две неизвестных сложнее искать причину. Если бы я был уверен в коде, то грешил бы на преобазователь. Ан нет на этот курс я натыкался. Он показался мне длинноватым. Да и материалов к курсу я не увидел. Буду пересматривать. Еще раз спасибо!
  5. Цитата(jcxz @ Aug 25 2016, 10:25) Начать с изучения системы тактирования. И? а по существу что то можете сказать? Ну если не знаете или не хотите говорить, ну прошел мимо и все! В чем проблема, то? Вы не поверите, с системой тактирования давно разобрался и не только с этим процом.
  6. Цитата(Georg_M_B0 @ Aug 25 2016, 09:08) Я вам советую использовать встроенные в ROM API функции, мы хотели использовать этот процессор три года назад, и корректно всё работало при использовании API функций, это не понравилось нашим программистам и мы от него отказались. А чем он вас превлёк? Меня устроил бы любой АРМ Кортех, а этот пылился в коробке. Пока никаких симпатий-антипатий. В силу того что потребуется отладка на уровне ассемблера, хочется понять что же написано в документации. Но вот "забуксовал" чего то.
  7. Цитата(Georg_M_B0 @ Aug 25 2016, 08:43) Скажите, а у вас хоть что то, заработало при записи настроек и команд прямо в регистры? Да с UART0 все работает. Маленький фолт был замечен при работе команды switch: выключить вообще все светодиоды возможно только после красного. А так все переключается
  8. Вкуривание документации и просмотр учебных видео мне не помогло. Помогите, что надо поправить в коде, чтобы задействовать UART1 на плате TI Tiva TM4C123? Вот код из учебника, который рассказывает иностранный дядечка. Первые две строчки я понял как расширить на пару портов, я вот дальше... Я хочу оставить UART0 для отладочных сообщений, тогда как UART1 работает с внешней аппаратурой. Даташит на плату вот: http://www.ti.com/general/docs/lit/getlite...mp;fileType=pdf CODE#include <lm4f120h5qr.h> char readChar(void); void printChar(char c); void printString(char * string); int main(void) { char c; // 1. Enable the UART module using the RCGCUART register (see page 344). SYSCTL->RCGCUART |= (1<<0)|(1<<1); // 2. Enable the clock to the appropriate GPIO module via the RCGCGPIO register (see page 340). SYSCTL->RCGCGPIO |= (1<<0)|(1<<1); // 3. Set the GPIO AFSEL bits for the appropriate pins (see page 671 To determine which GPIOs to // configure see table 23-4 on page 1344 GPIOA->AFSEL = (1<<1)|(1<<0); // 4. Configure the GPIO current level and/or slew rate as specified for the mode selected (see // page 673 and page 681 // 5. Configure the PMCn fields in the GPIOPCTL register to assign the UART signals to the appropriate // pins (see page 688 and Table 23-5 on page 1351). GPIOA->PCTL = (1<<0)|(1<<4); GPIOA->DEN = (1<<0)|(1<<1); // Find the Baud-Rate Divisor // BRD = 16,000,000 / (16 * 9600) = 104.1666666666666666666666666666666 // UARTFBRD[DIVFRAC] = integer(0.166667 * 64 + 0.5) = 11 // With the BRD values in hand, the UART configuration is written to the module in the following order // 1. Disable the UART by clearing the UARTEN bit in UARTCTL register UART0->CTL &= ~(1<<0); // 2. Write the integer portion of the BRD to the UARTIBRD register UART0->IBRD = 104; // 3. Write the fractional portion of the BRD to the UARTFBRD register UART0->FBRD = 11; // 4. Write the desired serial parameters to the UARTLCTL register UART0->LCRH = (0x3<<5); // 5. Configure the UART clock source by written to the UARTCC register UART0->CC = 0x0; // 6. // 7. Enable the USRT by setting the UARTEN bit in the UARTCTL register UART0->CTL = (1<<0)|(1<<8)|(1<<9); //Configure LED pins SYSCTL->RCGCGPIO |= (1<<5); // enable clock on PortF GPIOF->DIR = (1<<1)|(1<<2)|(1<<3); //make LED pins (PF1 PF2 PF3) outputs GPIOF->DEN = (1<<1)|(1<<2)|(1<<3); // enable digitalfunctions for the LED pins GPIOF->DATA &= ~((1<<1)|(1<<2)|(1<<3)); // turn off leds while(1) { printString("Enter \"r\", \"g\", or \"b\":\n\r"); c = readChar(); printChar©; printString("\n\r"); switch© { case 'r': GPIOF->DATA = (1<<1); // red LED on break; case 'b': GPIOF->DATA = (1<<2); // blue LED on break; case 'g': GPIOF->DATA = (1<<3); // red LED on break; default: GPIOF->DATA &= ~(1<<1)|(1<<2)|(1<<3); // red LED on break; } } } char readChar(void){ char c; while((UART0->FR & (1<<4)) != 0); c = UART0->DR; return c; } void printChar(char c) { while((UART0->FR & (1<<5)) != 0); UART0->DR = c; } void printString(char * string) { while(*string) { printChar(*(string++)); } }
  9. Зависание при переходе в Debug mode

    Windows 7 64 + IAR Workbench 6.50 + MSP430G2 (2231) Порт в винде определяется, в настройках тип проца, FET Debugger, Port manually. Делаю - все пересобрать, и в режим отладки. Debug проекта открывается в состояниии Running сразу. И попытки остановить приводят лишь к зависанию. Попробовал с мигающим светодиодом, все тоже самое. Чего напортачил с настройкам, а сам найти не могу, опыта маловато. Поможете? При все при этом программа шьется. При сбросе питания светодиодики мыргают. Но при попытке отладки снова стопор. И при попытке остановить отладку - Could not shut down the debug session