24.10.2018, 10:07
|
|
Заблокирован
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,486
Сказал спасибо: 396
Сказали Спасибо 2,220 раз(а) в 1,319 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Лучше не один символ, а как-то так:
#TEST ON#\n\r
так вы оградите от случайностей и привнесете нотки интеллекта в диалоги с железякой.
|
|
|
|
25.10.2018, 07:50
|
|
Прописка
Регистрация: 08.04.2017
Сообщений: 100
Сказал спасибо: 40
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Доброго дня
Вопросик
Обновление прошивки STM32 по TCP возможна?
Для ТСР используется внешняя микросхема W5500 работающая по SPI.
Мысль:
Принять прошивку.
Записать в свободную область памяти STM32.
Перезагрузиться и работать с нее
реально?
|
|
|
|
25.10.2018, 09:12
|
|
Почётный гражданин KAZUS.RU
Регистрация: 24.03.2007
Сообщений: 1,361
Сказал спасибо: 85
Сказали Спасибо 619 раз(а) в 374 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Тогда прошивка должна быть скомпилирована именно для запуска из этой области памяти. Ну и должен быть какой-то загрузчик, который будет по каким-то образом определять, из какой области флэша нужно запустить прогу. Ну и память нужна чуть более чем в два раза больше размера прошивки. Как-то это нерационально и геморойно.
ИМХО, лучше сделать относительно небольшой загрузчик, а основную прошивку всегда хранить в одной и той же области. Загрузчик стартует, проверяет наличие основной прошивки и запускает ее, при наличии. Если основной прошивки нет, то находится в режиме ожидание перепрошивки. Как-то так.
|
|
|
|
25.10.2018, 09:18
|
|
Прописка
Регистрация: 08.04.2017
Сообщений: 100
Сказал спасибо: 40
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от pambaru
|
ИМХО, лучше сделать относительно небольшой загрузчик, а основную прошивку всегда хранить в одной и той же области. Загрузчик стартует, проверяет наличие основной прошивки и запускает ее, при наличии. Если основной прошивки нет, то находится в режиме ожидание перепрошивки. Как-то так.
|
т.е. при обновлении прошивки новая затирает старую?
а если сбой связи?
да и весь ТСР Протокол нужно запихать в загрузчик
п.с. можно сделать отдельную флешпамять и туда сгружать принятую прошивку а потом с нее обновляться
|
|
|
|
25.10.2018, 10:25
|
|
Заблокирован
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,486
Сказал спасибо: 396
Сказали Спасибо 2,220 раз(а) в 1,319 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Есть МК с бакмя банками флеша. Там вообще решается очень просто каждый банк используется независимо при загрузке. И прошиваться они могут поочередно
|
|
|
|
25.10.2018, 11:22
|
|
Почётный гражданин KAZUS.RU
Регистрация: 08.02.2005
Адрес: Минск, Беларусь
Сообщений: 8,052
Сказал спасибо: 2,778
Сказали Спасибо 2,726 раз(а) в 2,015 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от olegprom19
|
а если сбой связи?
|
Разве
Сообщение от olegprom19
|
Мысль: Принять прошивку.
|
не подразумевалось промежуточное хранение прошивки где-то между ТСР и флешью контроллера?
У NXP есть контроллеры, которые при пустой флеше или поврежденной прошивке автоматом входят в режим загрузки и ждут по USB, UART и, возможно, еще по какой-то шине. Но при перепрошивке вначале флешь обнуляется.
|
|
|
|
25.10.2018, 11:31
|
|
Почётный гражданин KAZUS.RU
Регистрация: 24.03.2007
Сообщений: 1,361
Сказал спасибо: 85
Сказали Спасибо 619 раз(а) в 374 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от olegprom19
|
т.е. при обновлении прошивки новая затирает старую?
а если сбой связи?
|
Такие случаи должны быть предусмотрены.
К примеру, я делаю так: стартовую страницу флэш с векторами прерываний затираю первой, а записываю последней. Таким образом, при сбое в питании стартовый сектор будет пустой. Первым при сбросе или включении питания стартует загрузчик. Он проверяет первый сектор флэша, и если там пусто, просто не пытается запустить основную прогу, а ждет прошивки.
Сообщение от olegprom19
|
да и весь ТСР Протокол нужно запихать в загрузчик
|
Так у Вас же используется W5500? Весь протокол в ней, загрузчику только надо инициализировать ее. А если это все в локалке, то рекомендую шить не по TCP, а по UDP через broadcast сообщения, чтобы в случае неправильного конфига (ip адрес, маска подсети и т.п.) все равно можно было прошить.
|
|
|
Сказали "Спасибо" pambaru
|
|
|
08.11.2018, 05:31
|
|
Прописка
Регистрация: 08.04.2017
Сообщений: 100
Сказал спасибо: 40
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Вопросик. в STM32F103C8T6 качестве опорного напряжения используется напряжение питания AVDD.
Что лучше взять один общий точный стабилизатор 3,3В для питания МК и AVDD (если общее потребление схемы небольшое)
Или обычный стабилизатор 3,3В для питания МК и ИОН 3,3В для питания AVDD.
Также посоветуйте какой ИОН выбрать.
|
|
|
|
08.11.2018, 11:56
|
|
Почётный гражданин KAZUS.RU
Регистрация: 24.03.2007
Сообщений: 1,361
Сказал спасибо: 85
Сказали Спасибо 619 раз(а) в 374 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Можно использовать обычный стабилизатор, на АVDD фильтр, а для калибровки использовать внутренний Vrefint.
|
|
|
Сказали "Спасибо" pambaru
|
|
|
08.11.2018, 12:00
|
|
Прописка
Регистрация: 08.04.2017
Сообщений: 100
Сказал спасибо: 40
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от pambaru
|
Можно использовать обычный стабилизатор, на АVDD фильтр, а для калибровки использовать внутренний Vrefint.
|
ага есть такой вариант
https://bravikov.wordpress.com/2012/...ров-stm32f10x/
на АVDD фильтр есть.
но изначально обычные стабилизаторы, вы дают не совсем 3,3В
да и в процессе эксплуатации могут уплывать значения от температуры
согласен как вариант периодически калибровать от внутреннего REFa
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 08:15.
|
|