STM Studio. Что это и для чего нужно.

На сайте www.st.com есть полезная утилитка под названием STM Studio. Скачать ее и документацию к ней можно по ссылке: www.st.com/internet/evalboard/product/251373.jsp Написана она на Java и для своей работы требует ниличия установленной java runtime environment, скачать которую можно на www.java.com/ru/download/
Итак, для чего нужна эта программа. А нужна она для наблюдения за переменными в кристалле, прямо во время выполнения программы, зашитой в контроллер и для отладки сенсорных интерфейсов. Попробуем поиграть с этой утилой. Для этого воспользуемся отладочной платкой STM8S Discovery, с зашитым в нее по умолчанию проектом Discover (меняет частоту мигания светодиода при нажатии на сенсорную кнопку).
В STM Studio есть два способа добавить переменную для наблюдения за ней. Первый — это вручную создать переменную, указав адрес ее расположения и тип данных. Понятное дело, что это слишком неудобно. Поэтому мы воспользуемся вторым способом, а именно импорт нужных нам переменных из ELF файла, который генерирует компилятор. В моем случае ELF был сгенерирован компилятором от Raisonance, но это не важно.
Итак подключим платку к компьютеру и запускаем STM Studio, открывается вот такое окно:

Для начала выберем интерфейс для связи с платкой у нас это будет STLink SWIM. Теперь нам надо создать окошко, в котором мы будем наблядать за нашими переменными. Для этого нажимаем на кнопку «Show variables viewers» и «Add Viewer»

Так, теперь нам надо получить список переменных из ELF файла и добавить интересующие нас на Viewer. Нажимаем на кнопку «Import variables from executable», выбираем наш ELF файл, выбираем те переменные, которые нам интересны, ну и нажимаем Import.

Осталось наши переменные перенести на Viewer и запустить процесс наблюдения. Для этого выделяем их, щелкаем ПКМ и выбираем Send To->Var Viewer1. Нажимаем «Start Recording session» и наблюдаем как в реалтайме, прямо в железе меняются наши переменные.



Можно создато несколько Var Vieweров и раскидать по ним переменные, руководствуясь удобством отображения и т.д.

Также эта утила может помочь при отладке сенсорных кнопок. Я их пока не раскуривал, но об этом можно почитать в документации.
  • +6
  • 12 марта 2011, 12:47
  • bomond

Комментарии (18)

RSS свернуть / развернуть
Ааа… может заюзать тег <сut>, чтобы обрезать пост?
0
Да, стоит вставить после слов «скачать которую можно на www.java.com/ru/download/
»
0
сорри, протупил. Исправил
0
Классный тулс. Жаль что почемуто нельзя RLink + STM32 использовать. Хотя нужно проверить…
0
  • avatar
  • Puff
  • 25 марта 2011, 22:36
Пробовал с STM32 + ST-Link + RLink.
Выявленные и проверенные ограничения(некоторые описаны в док-ции):
— c RLink не работает
— программа не парсит .elf от GCC(Ride7)
— программа парсит неправильно .elf от IAR 5 (не учла смещение 0x20000000)
— на 64-bit Win 7 заработала лишь в режиме совместимости с Win XP
— нигде не нашел информации о максимально возможной скорости логирования
0
  • avatar
  • Puff
  • 29 марта 2011, 22:34
А как IAR заставить сгенерировать .elf?
0
а вот к сожалению я так и не разобрался. Есть предположение что какой-то из выходных файлов IAR надо в elf преименовать, но я не я не уверен. Может знатоки подскажут?
0
.out файл, генерируемый IAR'ом — и есть ELF. В этом несложно убедиться, открыв его блокнотом и увидев вначале сигнатуру — ELF (первый символ — непечатный).
0
Кто-нибудь знает с помощью какой утилиты из ELF файла можно получить список глобальных переменных с указанным типом этой переменной?
0
Скорми ELF файл ( или AFX, если кейл) програмке и она тебе сама выдаст переменные, но только глобальные и их тип.
Кто-нить пытался запускать на 32 дискаварях? у меня постоянно вылетает
0
у STLINK/v2 понравился 2-й кабель для SWD (STM8)
с маленьким разъемом (для соединения с target)

Пробовал найти,… никто не знает как он называется?
0
Ты бы его хоть показал сперва.
0
каюсь, надеялся что stlink чипопулярный в массах,
в комплектации их 3, один 20/20 житаг, и два 4/4
для stm8, на одном из них разъемчик симпатичный микро,
с шагом 1мм и фиксатором.

Позвонил в терру и компел, там чешут репу, не знают.
Фотик на работе ботлается, завтра щелкну.
0
В массах популярен не STLINK, а его обрезки на DISCOVERY.
0
Очевидно, имеется в виду кабель, расположенный вторым слева (возле USB кабеля) на этой фотке:
www.wvshare.com/img/preview/ST-LINK-V2-en_l.jpg
(вставлять не хочу сюда — большая).
В спецификации написано, что сие есть
«SWIM flat ribbon ended with a 4-pin, 2.54 mm, low-cost connector on two sides» — то есть не приводят какого-то конкретного названия.
В документах к ST-Link описания нема (там и документов-то — рекламки IAR, KEIL и Atollic), по крайней мере у меня в комплекте больше ничего не было.
0
Слишком мелко, не вижу что там за коннектор.
0
Блин, я тупанул — не ту строку схватил. Должно быть «SWIM 100mil 4-pin to standard ERNI connector cable».
В этом духе
www.erni.com/uploads/tx_templavoila/erni-kabelkonfektion-1_05.jpg
0
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.