esaulenka 7 28 апреля, 2015 Опубликовано 28 апреля, 2015 · Жалоба У всех STM32? И которые не connectivity line, STM32F103, например? У топикстартера - может, о чём написано в первом же сообщении темы. Учитесь читать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ArtDenis 0 28 апреля, 2015 Опубликовано 28 апреля, 2015 (изменено) · Жалоба У всех STM32? И которые не connectivity line, STM32F103, например? Ну ёлки-палки. В первом же сообщении я написал, что собираюсь прошивать его через USB-DFU. Значит я выбрал такой МК, который его поддерживает. Вопрос в другом. Какие ещё способы, существуют для прошивки через родной USB? Тут мне посоветовали писать самому загрузчик. Этот вариант хорош тем, что можно передавать пользователю зашифрованную прошивку, а при передаче уже в самом устройстве расшифровывать и прошивать. Так можно защитится от того, чтобы китайцы не скопировали прошивку с такой же лёгкость как два пальца ;) Но меня этот аспект не особо волнует. Я не думаю, что мой девайс заинтересует китайцев. Да и писать самому загрузчик не охота. С другой стороны, если загрузчик выглядит как съёмный диск, на который можно заливать прошивку, то это большой плюс, т.к. избавляет меня, как разработчика, от того, чтобы поставлять с прошивкой дрова для подключения к устройству для прошивки. И для пользователя процесс заливки прошивки очень наглядный. Это плюс данного подхода. Но если прошивка пошла неудачно, то скорее всего у пользователя будет кирпич, который можно будет восстановить только при помощи заливки прошивки другими способами. Вот я и спрашиваю совета, как участники форума решают эту проблему. Может есть уже проверенный загрузчик, который можно задействовать в своём проекте? Изменено 28 апреля, 2015 пользователем ArtDenis Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
A. Fig Lee 0 28 апреля, 2015 Опубликовано 28 апреля, 2015 · Жалоба USB mass storage это слишком сложно для пользователя, а COM порта нет. Так что других вариантов нет. У топикстартера - может, о чём написано в первом же сообщении темы. Учитесь читать. Ну вы тоже учитесь читать. У топик стартера семь пятниц на неделе, много чего сказано и все ему не подходит. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AHTOXA 18 28 апреля, 2015 Опубликовано 28 апреля, 2015 · Жалоба С другой стороны, если загрузчик выглядит как съёмный диск, на который можно заливать прошивку, то это большой плюс, т.к. избавляет меня, как разработчика, от того, чтобы поставлять с прошивкой дрова для подключения к устройству для прошивки. И для пользователя процесс заливки прошивки очень наглядный. У новых отладочных плат STM-NUCLEO такой способ прошивки. При его подключении в системе появляется съёмный диск, при записи на этот диск прошивки она заливается в целевой контроллер. Действительно, очень удобно. Но если прошивка пошла неудачно, то скорее всего у пользователя будет кирпич, который можно будет восстановить только при помощи заливки прошивки другими способами. Вовсе нет. Загрузчик-то никуда не денется. Так что пользователь просто повторит попытку, и всё. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 69 28 апреля, 2015 Опубликовано 28 апреля, 2015 · Жалоба С другой стороны, если загрузчик выглядит как съёмный диск, на который можно заливать прошивку, то это большой плюс, т.к. избавляет меня, как разработчика, от того, чтобы поставлять с прошивкой дрова для подключения к устройству для прошивки. И для пользователя процесс заливки прошивки очень наглядный. Это плюс данного подхода. Но если прошивка пошла неудачно, то скорее всего у пользователя будет кирпич, который можно будет восстановить только при помощи заливки прошивки другими способами. Тут есть еще может возникнуть проблема в совместимости эмулируемого диска. Скажем, у NXP есть такой загрузчик на LPC1343. Так вот, под Win он работает нормально, а под Linux'ом требуются некоторые телодвижения со стороны пользователя. P.S. По мне, способ весьма неудобный. На LPC повсеместно отказался от него в пользу UART. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ArtDenis 0 28 апреля, 2015 Опубликовано 28 апреля, 2015 (изменено) · Жалоба USB mass storage это слишком сложно для пользователя Почему? У новых отладочных плат STM-NUCLEO такой способ прошивки. При его подключении в системе появляется съёмный диск, при записи на этот диск прошивки она заливается в целевой контроллер. Действительно, очень удобно. А в NUCLEO съёмный диск разве эмулируется самим МК? Вовсе нет. Загрузчик-то никуда не денется. Так что пользователь просто повторит попытку, и всё. Да. Но только если загрузчик сам себя не перезаписывает при прошивке. Хотя можно сделать так, чтобы не перезаписывал ) Изменено 28 апреля, 2015 пользователем ArtDenis Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AHTOXA 18 28 апреля, 2015 Опубликовано 28 апреля, 2015 · Жалоба А в NUCLEO съёмный диск разве эмулируется самим МК? У NUCLEO загрузчик отдельный, да. Но сам принцип смены прошивки, имхо, удобный - никаких драйверов, никакого софта на ПК. Недостатки, естественно, тоже имеются. В частности, такой загрузчик может отъесть приличный кусок FLASH-памяти контроллера. Да. Но только если загрузчик сам себя не перезаписывает при прошивке. Хотя можно сделать так, чтобы не перезаписывал ) Не можно, а нужно! :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
A. Fig Lee 0 28 апреля, 2015 Опубликовано 28 апреля, 2015 · Жалоба Почему? see post #4 от ArtDenis. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ArtDenis 0 28 апреля, 2015 Опубликовано 28 апреля, 2015 · Жалоба see post #4 от ArtDenis. Я там писал про прошивку через COM-порт Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kovigor 6 28 апреля, 2015 Опубликовано 28 апреля, 2015 · Жалоба Скажем, у NXP есть такой загрузчик на LPC1343. Так вот, под Win он работает нормально, а под Linux'ом требуются некоторые телодвижения со стороны пользователя. Я все писал сам и лично проверял под Windows и под Linux. Все работало, как полагается. Кстати, как раз на LPC2148 ... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 69 28 апреля, 2015 Опубликовано 28 апреля, 2015 · Жалоба Я все писал сам и лично проверял под Windows и под Linux. Все работало, как полагается. Кстати, как раз на LPC2148 ... Ну, а у товарищей из NXP вот не вышло. Там есть еще один крайне неприятный баг, из-за которого устройство часто определяется с дикой задержкой. В общем, содержимое ROM LPC1343 разочаровывает в плане USB. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
toweroff 1 29 апреля, 2015 Опубликовано 29 апреля, 2015 · Жалоба Ну, а у товарищей из NXP вот не вышло. Там есть еще один крайне неприятный баг, из-за которого устройство часто определяется с дикой задержкой. В общем, содержимое ROM LPC1343 разочаровывает в плане USB. OFF не могли бы обрисовать проблему? решил как раз заложиться на этот камень Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 69 29 апреля, 2015 Опубликовано 29 апреля, 2015 · Жалоба OFF не могли бы обрисовать проблему? решил как раз заложиться на этот камень Проблема изложена в еррате: какая-то из переменных у них не обнуляется. Но это касается только встроенного загрузчика. Если работать с USB напрямую, то все почти в порядке. Неприятных моментов два: - Громоздкая "ручная" синхронизация при работе с регистрами USB - Частоту ядра нельзя опускать ниже 24MHz Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
toweroff 1 29 апреля, 2015 Опубликовано 29 апреля, 2015 · Жалоба Проблема изложена в еррате: какая-то из переменных у них не обнуляется. Но это касается только встроенного загрузчика. Если работать с USB напрямую, то все почти в порядке. Неприятных моментов два: - Громоздкая "ручная" синхронизация при работе с регистрами USB - Частоту ядра нельзя опускать ниже 24MHz спасибо, посмотрю еще раз на документы минимальная частота в моем случае роли не играет - питание внешнее и некритичное к току Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
NikF 0 29 апреля, 2015 Опубликовано 29 апреля, 2015 · Жалоба Да. Но только если загрузчик сам себя не перезаписывает при прошивке. Хотя можно сделать так, чтобы не перезаписывал ) А он (встроенный загрузчик) разве не защищен от записи/стирания? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться