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

Начал изучение программирования STM32F103 с System Workbench + STM32CubeMX, и по обучающим материалам составил мнение - что каждый раз при экспериментах надо прошивать (читай - насиловать и изнашивать) микроконтроллер, что вообще не оправдано (кроме последнего случая). На предмет симуляции контроллера для данной системы (Eclipse) нашёл следующее: Программный симулятор микроконтроллеров ARM в Eclipse, с чего понятно - что по простачку симулировать можно из командной строки, если встраивать в систему - куча всего всякого, и в конце концов - получаем текст с содержимым регистров. - Так что-ли понимается симуляция у программистов? Я ожидал некое схематическое изображение светодиодов, аналоги вывода на дисплей, какие-то сообщения об частоте, выводе единиц на контакты, индикацию процессов в АЦП и т.п. Чёрт ногу сломит. Это обычное дело? Стоит остановиться на этом? Или есть нечто более удобное для новичка? Может в других системах?

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

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


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

каждый раз при экспериментах надо прошивать (читай - насиловать и изнашивать) микроконтроллер, что вообще не оправдано

Что там изнашивать? 10000 циклов перезаписи флеш гарантируется. Вы поседеете раньше :biggrin:

 

В Кейле симулятор вроде бы позволяет хоть что-то, похожее на реальную прошивку, отлаживать местами. Но вообще сами понимаете, условные лампочки у всех разные, на все случаи жизни можно разве что оставить пользователю возможность прикручивать к симулятору скрипты и рисовать свои лампочки самостоятельно. Возможно, там даже что-то такое есть, не интересовался.

Так что для новичка и не только проще всё-таки прошивать и отлаживать внутрисхемно.

Ещё есть такая штука, как модульное тестирование, но это вроде бы не для новичнов.

 

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


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

Сам не видел, люди говорят, есть Proteus, он лампочки в процессоре симулирует.

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


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

Начал изучение программирования STM32F103 с System Workbench + STM32CubeMX, и по обучающим материалам составил мнение - что каждый раз при экспериментах надо прошивать (читай - насиловать и изнашивать) микроконтроллер, что вообще не оправдано ...

Купите себе плату NUCLEO-F103RB за 11 Евро, уже с встроенным программатором-дебаггером, и ни в чем себе не отказывайте в плане "насилия и изнашивания" микроконтроллера. Еще ни разу не встречал отказа флеша МК на отладочной плате из-за частой перепрошивки. Есть тестовые платы, которые я периодически "мучаю" по несколько раз в год оччень плотно, уже лет по десять, и ничего.

 

Так что-ли понимается симуляция у программистов? Я ожидал некое схематическое изображение светодиодов, аналоги вывода на дисплей, какие-то сообщения об частоте, выводе единиц на контакты, индикацию процессов в АЦП и т.п.

Тоже слышал про Протеус, но только как "для начинающих" и "для обучения". Сам не видел и вряд ли ...

 

Программная симуляция больше подразумевает симуляцию работы ядра МК и ЧАСТИЧНО периферии.

Я в симуляторе отлаживаю только какие-то небольшие вычислительные алгоритмы.

Симулировать внешнюю обвязку своей платы - просто замучаетесь - хотя это в принципе возможно, но по трудоемкости огромно.

Поэтому это никто не делает, и все сейчас отлаживаются на целевой плате.

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


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

Начал изучение программирования ...

Вы неправильно расставляете приоритеты. Главное в деле работы с микроконтроллерами Ваше время. И оно улетает тоннами когда начинаете работать с процессорами.

Прямая работа с микропроцессором позволяет наступать на огромное количество ошибок и граблей только один раз. Как нашли решение, оно будет работать и дальше.

А вот симулятор мало того что плохо делает симуляцию периферии, не дает никакой гарантии работоспособности железа.

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

Потому что Вы сделали тест, получили результат, поправили, сделали второй, поправили, и вот в третий раз вроде все должно работать и тут бац...

и процессор выдает результат который никак не относится к предыдущим тестам.

Поэтому работа с микропроцессроми это всегда борьба за время, борьба за то, чтобы время разработки софта или устройства из бесконечности

перевести в разумные сроки. Повторюсь время уходит тоннами, Вы не заметите как годы улетят на простые устройства.

В такой ситуации не жалко и тонны микропроцессоров, даже если придется их выбрасывать после 10 перепрошивок. А у них не 10, а десять тысяч.

 

Короче берите реальную плату и работайте с реальным железом. И да перепрошивается весь софт при изменении одной переменной.

 

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


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

Стоит остановиться на этом?

Не стоит. Как Вам тут уже неоднократно сказали. Тем более что STM32F103 - один из самых дешёвых, если работаете с отладочной платой - купите их несколько раз так боитесь изнасиловать ;) Если с реальным устройством - скорее новую плату переразведёте (для правки схемотехники) и всё равно там будет новый МК.

Ну или возьмите более мощный МК, где больше ОЗУ, и насилуйте его ОЗУ вашей программой сколько угодно. :laughing:

 

Короче берите реальную плату и работайте с реальным железом. И да перепрошивается весь софт при изменении одной переменной.

Да время - самое главное. Скорее даже поэтому, а не из-за экономии ресурса флеша, я стараюсь отлаживать ПО по возможности в ОЗУ, ибо перепрошивка флеша - это в разы медленнее.

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


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

Эх молодежь пошла.. вот помню Z80 как центральный проц, ПЗУ с УФ стиранием.. прогу пишешь, потом стираешь ПЗУ под лампой ДРЛ 20 минут, потом шьешь его.. ресурс - 25 циклов. Новая стоит денег дохрена, брали в Автово.. вот это было программирование.. Пишешь конечно на ассемблере, а не на этих ваших новомодных Сях, на офигительном компе с 2.5 МГц тактовой и 48 кбайт ОЗУ с монитором из ЧБ телевизора.. А щас что.. чем ошибки в коде искать - проще залить и смотреть - пашет-не пашет ))) Всех на Колыму!! Потом at90s1200 появился и at89c2051 c флешем - такой оргазм был... !

 

Не стоит. Как Вам тут уже неоднократно сказали. Тем более что STM32F103 - один из самых дешёвых, если работаете с отладочной платой - купите их несколько раз так боитесь изнасиловать ;) Если с реальным устройством - скорее новую плату переразведёте (для правки схемотехники) и всё равно там будет новый МК.

Ну или возьмите более мощный МК, где больше ОЗУ, и насилуйте его ОЗУ вашей программой сколько угодно. :laughing:

 

 

Да время - самое главное. Скорее даже поэтому, а не из-за экономии ресурса флеша, я стараюсь отлаживать ПО по возможности в ОЗУ, ибо перепрошивка флеша - это в разы медленнее.

Вы прикалываетесь? Сколько этот ваш проц шьется? У меня 60 кил в EFR32 заливаются секунды 4.. Я в день на курению трачу времени больше, чем yf 900 рперепрошивок

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


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

Эх молодежь пошла.. вот помню Z80 как центральный проц, ПЗУ с УФ стиранием.. прогу пишешь, потом стираешь ПЗУ под лампой ДРЛ 20 минут, потом шьешь его.. ресурс - 25 циклов.

Вы прикалываетесь? Неужто так и стирали по 20 минут? А работали когда? Или просто надо было время на перекуры оправдать? :smile3046:

Сам когда-то давно отлаживал ПО в устройствах на i8080 и хранивших его штатно в РФ-ах. РФ шил только тогда, когда надо было на стенд ставить или заказчику отправлять.

А для отладки были статические ОЗУ, по пинам совместимые с РФ. Их и ставили в колодки. Никто 20 минут на перешивку не ждал.

Да и для прошивок в РФ у меня их не одна штука была, а пачка. И если нужно - брал следующую из пачки. А потом всю пачку стирал.

 

Вы прикалываетесь? Сколько этот ваш проц шьется? У меня 60 кил в EFR32 заливаются секунды 4.. Я в день на курению трачу времени больше, чем yf 900 рперепрошивок

А я не курю. :laughing:

Мой МК только один сектор и только стирает до 5.5сек + прошивка. И прошивка у меня гораздо больше 60 кил.

И сидеть ждать по 10 секунд (а то и больше) при каждом небольшом изменении ПО меня напрягает. И сбивает с рабочего ритма.

А в ОЗУ всё грузится за ~секунду.

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


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

20 минут. ДРЛ-250 со снятой колбой.

Ну раз 10 секунд напрягает то звиняйте.. я над кодом думаю дольше значительно обычно, 10 секнду никак не напрягают

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


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

Ну раз 10 секунд напрягает то звиняйте.. я над кодом думаю дольше значительно обычно, 10 секнду никак не напрягают

Когда надо думать над кодом - это одно.

А когда разбираться с новым периферийным блоком МК, имеющим несколько десятков регистров да ещё очень плохо описанных - это совсем другое. И тогда приходится очень много раз перешивать МК.

Речь конечно не об STM32, где регистров в периферии - раз два и обчёлся....

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


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

"STM32, где регистров в периферии - раз два и обчёлся...." я бы так не сказал... а в каком не обчелся тогда?

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


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

"STM32, где регистров в периферии - раз два и обчёлся...." я бы так не сказал... а в каком не обчелся тогда?

Infineon XMC4xxx например.

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


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

По описанию их перифирии - тож самое. Странно тогда. Ну да ладно

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


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

По описанию их перифирии - тож самое. Странно тогда. Ну да ладно

Странно вы как-то описание читаете....

Например UART в STM32F4: 7 регистров, в каждом используется не более 16 бит.

Аналогичный последовательный порт (USIC) в XMC4700: регистров под 4 десятка, используются биты 0...31.

Разница в несколько раз это "тож самое" ?

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


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

Эх молодежь пошла.. вот помню Z80 как центральный проц...

Что за бред. Я на них сколько игрушек адаптировал, вся работа на ассемблере в памяти. Берете картинку, убираете ее из игры, область памяти зачищаете, пишете туда свой код.

Там же отлаживаете. И когда все готово прошиваете ультрафиолетом. Ассмблер, компилятор, все как положено.

Помню точно, прошивка в ПЗУ это только финальный вариант, а так вся работа не поверите, в памяти и на магнитной ленте. Елы палы как вообще мы тогда работали....

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

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


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

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

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

Гость
Ответить в этой теме...

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

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

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

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

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

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