RoboCraft ARM IDE

Re: RoboCraft ARM IDE

Сообщение PACCKAT » 13 дек 2011, 17:04

Можно как-нибудь через stlink в консольном режиме, прошить МК ???
Аватара пользователя
PACCKAT
 
Сообщения: 20
Зарегистрирован: 02 окт 2011, 18:49
programming: C

Re: RoboCraft ARM IDE

Сообщение burjui » 13 дек 2011, 18:15

Запускай arm-none-eabi-gdb (лежит в <IDE>/arm-toolchain/bin) и выполняй команды:
Код: Выделить всё
tar ext :4242
load <скомпиленный файл>.elf

В папке <IDE>/stlink также лежит утилитка flash, которая может прошивать через ST-Link. Ей нужно указать действие, файл устройства с ST-Link, файл прошивки (двоичный, не hex) и адрес, по которому шить. Как-то так:
Код: Выделить всё
./flash write /dev/stdlinkv1_4 firmware.bin 0x08000000
burjui
 
Сообщения: 91
Зарегистрирован: 06 май 2011, 21:47
Откуда: Калининград
programming: Scheme,D,C,C++,Python

Re: RoboCraft ARM IDE

Сообщение andr » 13 дек 2011, 20:44

При установке драйвера в винде WINUSB не выводит указанное в статье устройство. Плата - STM32L DISCOVERY. кто сталкивался??
andr
 
Сообщения: 2
Зарегистрирован: 13 дек 2011, 20:35
programming: c++

Re: RoboCraft ARM IDE

Сообщение burjui » 13 дек 2011, 20:58

Эта плата только сегодня вечером поступила в моё распоряжение. Завтра проверю и обновлю пост.
burjui
 
Сообщения: 91
Зарегистрирован: 06 май 2011, 21:47
Откуда: Калининград
programming: Scheme,D,C,C++,Python

Re: RoboCraft ARM IDE

Сообщение burjui » 14 дек 2011, 13:18

Проверил. У ST-Link 2 немного другой USB ID - 0483 3748. Драйвер ставится, но stlink не работает с платой. Правда, я проверял в VirtualBox на Windows XP SP3. Попробую потом на Windows 7, на настоящем железе.
burjui
 
Сообщения: 91
Зарегистрирован: 06 май 2011, 21:47
Откуда: Калининград
programming: Scheme,D,C,C++,Python

Re: RoboCraft ARM IDE

Сообщение andr » 14 дек 2011, 13:46

Спасибо.. Буду тоже пробовать..
andr
 
Сообщения: 2
Зарегистрирован: 13 дек 2011, 20:35
programming: c++

Re: RoboCraft ARM IDE

Сообщение burjui » 15 дек 2011, 14:01

Похоже, улитита st-util упорно не хочет работать с ST-Link 2 под виндой - ни на Windows 7 32 бит, ни на Windows XP 32 бит. Может, у кого есть 64-битная версия Windows 7? Драйвер WinUSB не будет работать на 64-битной XP, если что.
burjui
 
Сообщения: 91
Зарегистрирован: 06 май 2011, 21:47
Откуда: Калининград
programming: Scheme,D,C,C++,Python

Re: RoboCraft ARM IDE

Сообщение knkd » 15 дек 2011, 17:14

А кстати об "азах электроники" :)
Как на STM32 работают 5V-tolerance выводы?
Ну тоесть если их подключить в открытый коллектор, выставить в ноль и подсоединить +5V (с нагрузкой), то понятное дело - потечёт ток.
А когда подаём единицу 3,3?
Выход прикрывается от пережатия трёхвольтовой единицы пятью вольтами?
knkd
 
Сообщения: 15
Зарегистрирован: 10 дек 2011, 14:06
programming: Python/C/C++/FORTRAN77

Re: RoboCraft ARM IDE

Сообщение knkd » 15 дек 2011, 17:17

Ах да...
И почему:
Код: Выделить всё
do __NOP(); while (1);

Вместо:
Код: Выделить всё
while (1) __NOP();

Или даже:
Код: Выделить всё
while (1);

? :)
knkd
 
Сообщения: 15
Зарегистрирован: 10 дек 2011, 14:06
programming: Python/C/C++/FORTRAN77

Re: RoboCraft ARM IDE

Сообщение PACCKAT » 15 дек 2011, 19:24

knkd писал(а):
PACCKAT писал(а):У меня вроде stlink сразу запускается, но не могу ни очистить память, ни залить пустой бинарник.

Так это оно и есть. Попробуйте его убить-запустить несколько раз.
У меня после каждого его запуска на дискавери горит светодиод прошивки, даже когда стлинк выгружен.
Я отключаю плату от ЮСБ, подключаю, запускаю стлинк.
Сейчас уже стало несколько прошивок подряд без глюков работать.
Загадочный он, этот st-link (:

С раза 25-го всё-таки получилось! :ya_hoo_oo: :ps_ih: :dan_ser:
Аватара пользователя
PACCKAT
 
Сообщения: 20
Зарегистрирован: 02 окт 2011, 18:49
programming: C

Re: RoboCraft ARM IDE

Сообщение burjui » 15 дек 2011, 20:14

knkd писал(а):Ах да...
И почему:
Код: Выделить всё
do __NOP(); while (1);

Вместо:
Код: Выделить всё
while (1) __NOP();

Или даже:
Код: Выделить всё
while (1);

? :)

Чисто стилистическая фича, чтобы яиталось как "делать нифига, пока всё труъ" :hi_hi_hi:

А такое
Код: Выделить всё
while (1) ;

компилятор волен и "оптимизировать", то бишь просто выкинуть. Поэтому и __NOP(), который определён как:
Код: Выделить всё
void __NOP()
{
  asm volatile("nop");
}

Вызов функции __NOP() компилятор может и опустить, заinline'ив тело функции, но подставить директиву nop он обязан, ибо volatile.
burjui
 
Сообщения: 91
Зарегистрирован: 06 май 2011, 21:47
Откуда: Калининград
programming: Scheme,D,C,C++,Python

Re: RoboCraft ARM IDE

Сообщение burjui » 15 дек 2011, 20:17

PACCKAT писал(а):Загадочный он, этот st-link (:
PACCKAT писал(а):С раза 25-го всё-таки получилось! :ya_hoo_oo: :ps_ih: :dan_ser:

Да не то слово, ещё какой загадочный - вон, Fabien Le Mentec уже какой месяц решает загадки, заложенные в этом отладчике. Рад, что у вас всё заработало (:
burjui
 
Сообщения: 91
Зарегистрирован: 06 май 2011, 21:47
Откуда: Калининград
programming: Scheme,D,C,C++,Python

Re: RoboCraft ARM IDE

Сообщение knkd » 15 дек 2011, 21:06

А что с пятивольтовыми ногами, не подскажете?
А то экспериментировать боюсь - новую плату придётся ещё неделю ждать (:
knkd
 
Сообщения: 15
Зарегистрирован: 10 дек 2011, 14:06
programming: Python/C/C++/FORTRAN77

Re: RoboCraft ARM IDE

Сообщение burjui » 15 дек 2011, 21:52

Нет бы до статьи дотерпеть :hi_hi_hi:
Лезь в даташит на серию STM32F100RB - там есть таблица выводов МК, и напротив выводов, которые "толерантны к 5В" (5V tolerant), в спец колонке стоят буквы FT. Там почти все выводы такие (:
burjui
 
Сообщения: 91
Зарегистрирован: 06 май 2011, 21:47
Откуда: Калининград
programming: Scheme,D,C,C++,Python

Re: RoboCraft ARM IDE

Сообщение knkd » 15 дек 2011, 22:16

burjui писал(а):Нет бы до статьи дотерпеть :hi_hi_hi:
Лезь в даташит на серию STM32F100RB - там есть таблица выводов МК, и напротив выводов, которые "толерантны к 5В" (5V tolerant), в спец колонке стоят буквы FT. Там почти все выводы такие (:

Не, я про вот это:

knkd писал(а):А кстати об "азах электроники" :)
Как на STM32 работают 5V-tolerance выводы?
Ну тоесть если их подключить в открытый коллектор, выставить в ноль и подсоединить +5V (с нагрузкой), то понятное дело - потечёт ток.
А когда подаём единицу 3,3?
Выход прикрывается от пережатия трёхвольтовой единицы пятью вольтами?
knkd
 
Сообщения: 15
Зарегистрирован: 10 дек 2011, 14:06
programming: Python/C/C++/FORTRAN77

Пред.След.

Вернуться в Программы

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

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

© 2009-2019 |  О проекте  |  Политика Конфиденциальности  |