03.02.2011, 23:52
|
#181
|
Почётный гражданин KAZUS.RU
Регистрация: 25.11.2010
Адрес: г. Дзержинск Нижегородская обл.
Сообщений: 1,696
Сказал спасибо: 130
Сказали Спасибо 1,089 раз(а) в 521 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от skrynia
|
Как думаете, стоит ST-Link покупать, чтобы с STM32 работать или LPT-шный JTAG собрать лучше?
|
Смотри сам. Если в смысле универсальности- собери нормальный JTAG. А если применительно к данным чипам - ST-Link рулит.
Достоинства ST-Link:
1) Требует меньше выводов у кристалла. Достаточно выделить 2 вывода. JTAG требует 5 ног. А ног вечно не хватает ...
2) Количество аппаратных точек остановки. JTAG - 2 точки, ST-Link - 5 точек
3) Полный контроль кристалла во время перехода чипа энергосберегающий режим. JTAG в таком режиме дает только общую отладочную информацию и не имеет возможностей обновления в реальном времени . ST-Lin имеет полный набор функционала.
4) Таймеры STM32 могут останавливаться одновременно с остановкой ЦПУ. Благодаря этому, появляется возможность пошагового выполнения программы и поддержания таймеров в синхронизме с выполнением инструкций ЦПУ Cortex. Нет такой ситуации, что таймеры и софт идут "кто в лес -кто по дрова"
Короче - для Cortex-M3 лучше ST-Link. Но и JTAG под рукой не помешает для остальных чипов.
|
|
|
Сказали "Спасибо" DanilinSA
|
|
|
04.02.2011, 01:17
|
#182
|
Прописка
Регистрация: 02.01.2011
Сообщений: 159
Сказал спасибо: 8
Сказали Спасибо 32 раз(а) в 28 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Цитата:
|
Достоинства ST-Link:
|
Ну ведь это же не достоинства ст-линка, а достоинства ядра Cortex-M3 (или STM32).
1) SWD, поддерживается не только ст-линком и не только у STM32
2) опять же относится к ядру
3) аналогично, еще хочу заметить, что тот же ст-линк у меня на дискавери не смог подключиться к мк в sleep-е, если не сконфигурить предварительно DBGMCU. Про отдельный ст-линк не знаю.
4) опять же не имеет отношения к отладчику
Из плюсов я бы отметил интересную реализацию для работы по УСБ, ст-линк прикидывается флешкой, не нужно никаких дров ставить. Плюс нет всякой фигни с лицензиями, в отличие от того же j-link. Только что в соседней ветке спрашивали. Да и мне чтоб мт-линк свой запустить пришлось его перешивать + всякий гемор с лицензиями.
А вот из минусов именно ст-линка: не очень хорошая поддержка со стороны софта, гнутый софт вообще его не знает (хотя есть атоллик). Кейлом с ним подглючивает, настроек нет.
Я лично отлаживаю плату на стм32 с помощью мт-линка, по сравнению с ст-линком он как-то по серьёзней выглядит. Во всяком случае не глючит и нормально работает прошить + запустить.
Так что лично мое мнение - ст-линк нифига не рулит,
|
|
|
|
04.02.2011, 08:58
|
#183
|
Прописка
Регистрация: 09.12.2003
Сообщений: 116
Сказал спасибо: 5
Сказали Спасибо 23 раз(а) в 19 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от akimych
|
Может переименовать тему "FAQ по STM8" в "FAQ по STM8 и STM32"? Или вообще их разделить. Хотя и оба камная от ST, но отличаются уж очень, имхо. И софт для разработки разный.
А то так и будут одни и те же вопросы на счет симулятора, багофич стлинка и т.д.
Хотя тут сам не знаешь, по стм это будет faq или по глюкам кейла.
И вообще "подарок" не от STM, а от доблесного Кейла (от иара тоже было). Блин, я поражаюсь, ведь комерческий софт, а до чего глюкавый. Если бы не симулятор, послан бы он был уже давно. Плюс еще поддержка ст-линка держит.
Особенно удивляет, что последние версии стали какие-то лагучие. Зачем раскраску закладок сделали. Помню осенью пользовался Ride 7, раздражала она меня тормознутостью, особенно при работе жтага. Иногда, когда запускал кейл 4.11, удивлялся на сколько он "легче". Но после установки 4.13 это ощущение как-то пропало. В частности огорчает отсутсвие такой в общем-то привычный фичи в редакторе, как автозавершение.
Меня вот еще такой глюк задолбал с ст-линком, если прекратить отладку не остановив программу, то кейл вылетает с ошибкой. Причем не всегда, вроде бы в случае, если так сделать 2 раза подряд.
|
Очень интересуют глюки кейла .
В любых местах кроме
симулятора (это для студентов или сложных случаев которых у меня не бывает)
и загрузчика (обычно использую свой с которым прибор и будет в дальнейшем работать и апдейтится).
Ни тем ни другим никогда не пользовался и не планирую.
А вот доказанные глюки компилятора интересуют более чем...
|
|
|
|
04.02.2011, 09:04
|
#184
|
Прохожий
Регистрация: 07.03.2005
Сообщений: 1
Сказал спасибо: 5
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
А в какой мере надо знать язык С, что бы программировать STM 32? В институте увы писали небольшие програмки для пиков и AVR на низком уровне, а ранее там же изучали на примитивном уровне Delphi.
|
|
|
|
04.02.2011, 09:25
|
#185
|
Частый гость
Регистрация: 20.09.2009
Сообщений: 40
Сказал спасибо: 17
Сказали Спасибо 7 раз(а) в 7 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от OKO
|
А в какой мере надо знать язык С, что бы программировать STM 32?
|
Можно вообще не знать ![Улыбка](images/smilies/icon_smile.gif) , а если серьезно, то для начала достаточно базового знания языка, ну и естественно базового знания контроллера
__________________
|
|
|
Сказали "Спасибо" Left Radio
|
|
|
04.02.2011, 09:30
|
#186
|
Прописка
Регистрация: 09.12.2003
Сообщений: 116
Сказал спасибо: 5
Сказали Спасибо 23 раз(а) в 19 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от OKO
|
А в какой мере надо знать язык С, что бы программировать STM 32? В институте увы писали небольшие програмки для пиков и AVR на низком уровне, а ранее там же изучали на примитивном уровне Delphi.
|
На уровне - Богатырев "С для полных идиотов" достаточно за глаза.
Суть не в этом.
Суть в отличном знании типов данных signed unsigned char int float.
эти магические слова надо выучить наизусть а так-же то что за ними стоит.
И самое муторное знание переиферии.Не скажу отличное потому-как не встречал люде знающих ее более чем на 3 с плюсом.
Скажем так , нужно представлять возможности периферии и знать где че искать когда конкретно понадобится.Описание и главное ПРИМЕРЫ.
Выучить нереально ,через полгода напрочь забываются все регистры и биты.
Описания периферии составляют ммм.. ну не идиоты но почти.Любая (почти) строчка по периферии в даташите допускает двоякое толкование.
Примеры с комментариями это то что нужно.
Полезно уяснить работу с указателями, хотя совершенно не обязательно пока не столкнетесь с доработкой чужого говнокода.
У меня на стене висит бумажка на которой нарисован пример как из 4байтного инта извлечь 4 чара при помощи указателей.Уже лет дцать висит.
Для совсем корректного написания кода рекомендую почитать правила MISRA , о многом заставляют задуматься.Сам в процессе многолетних попыток создания надежно работающих устройств пришел к таким-же.Ну маленько в меньшем объеме.
Особенно греет душу правило N60 "каждый if должен завершаться else".
Давно так поступаю хотя профессиональные говнокодеры смеются.Вот оказалось я таки прав.
В дальнейшем необходимо изучать сам компилятор потому как бывают сложные случаи связанные с атомарностью , выделением стека и причудами оптимизации кода.
Последний раз редактировалось PlainUser; 04.02.2011 в 09:43.
|
|
|
Эти 2 пользователя(ей) сказали Спасибо PlainUser за это сообщение:
|
|
|
04.02.2011, 12:30
|
#187
|
Прописка
Регистрация: 07.03.2009
Адрес: MN
Сообщений: 168
Сказал спасибо: 6
Сказали Спасибо 31 раз(а) в 21 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от akimych
|
LPT-шный жтаг собрать ведь ничего не мешает
|
Собрать-то я соберу, только от LPT до стола смущает приличное расстояние, да и материнку менять уже пора, а там, глядишь, и порта может не оказаться.
__________________
- Квадрат - это тоже прямоугольник, только более квадратный и не такой вытянутый
- Двуугольник - это треугольник, только поломанный
- Одноугольника не видел
|
|
|
|
04.02.2011, 12:46
|
#188
|
Заблокирован
Регистрация: 26.12.2009
Сообщений: 3,124
Сказал спасибо: 116
Сказали Спасибо 867 раз(а) в 614 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от OKO
|
А в какой мере надо знать язык С, что бы программировать STM 32?
|
Уровня свободного программирования PIC или AVR вполне хватит. ![Очень смешно](images/smilies/icon_veryhappy.gif)
В большей мере желательно иметь крепкие нервы, свободное время и желание разбираться в хитросплетениях док и архитектуры.
|
|
|
|
04.02.2011, 16:33
|
#189
|
Заблокирован
Регистрация: 12.09.2009
Сообщений: 420
Сказал спасибо: 148
Сказали Спасибо 166 раз(а) в 118 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от st_1
|
желательно иметь крепкие нервы, свободное время и желание разбираться в хитросплетениях док и архитектуры.
|
+1000 много при много времени.
|
|
|
|
04.02.2011, 17:24
|
#190
|
Прописка
Регистрация: 02.01.2011
Сообщений: 159
Сказал спасибо: 8
Сказали Спасибо 32 раз(а) в 28 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Цитата:
|
А вот доказанные глюки компилятора интересуют более чем...
|
Да, глюки менно компилятора действительно инетерсуют. Пока что больше заметны и обсуждаются глюки отладчика.
Вот буквально вчера стокнулся с... даже не знаю, глюк это, особенность или так и должно быть.
Примерный код:
uint16_t a;
uint16_t get_b() { ... }
if(a != ~get_b()) { ... }
Выражение в if всегда истина. Начал выполнять по шагам (по инструкциям), так кейл генерит код для инверсии регистра, но регистр-то 32 разрядный! В результате в старших разрядах FFFF. А далее сравниваются 2 32бит регистра, которые ест-но не равны. ^ 0xFFFF работает правильно. Включена оптимизация -Ospace
Я много где в программе использовал uint16_t и uint8_t, рассчитывая, что они будут обрабатываться соответсвующим образом.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 05:19.
|
|