по факту разрядность забираемых данных одинаковая?
и как изменится ошибка, если скажем уменьшить в 2 раза потенциал источника?
Код: Выделить всё
L R L R L R L R L R L R L R
0 2048 500 2048 2000 2048 3000 2048 2000 2048 500 2048 0 2048Код: Выделить всё
L R L R L R L R L R
2048 0 1048 1000 48 2000 0 2048 1000 1048Код: Выделить всё
ADC1->DIFSEL &= ~ADC_DIFSEL_DIFSEL_1;
ADC1->DIFSEL &= ~ADC_DIFSEL_DIFSEL_2;Код: Выделить всё
прер. от таймера
| | | |
T-1-2-----------------------T-1-2-----------------------T-1-2-----------------------T-1-2
| | | |
выход из прерыванияпо-моему, единственно приемлемое решение. тем более что абсолютно все "настоящие" перепрошиваемые устройства так работают - хоть тот же роутер возьмите, хоть мобильник.Ярослав555 писал(а):ставится флешка. В таком случае новая прошивка льется туда, потом сверяются контрольные суммы и если все ок - МК перешивает сам себя.
У STM32 нет определённых областей а-ля BOOT в AVR. Можно переходить куда угодно.Возможно ли из основной программы перенаправить выполнение во встроенный бутлоадер?
Не просто возможно, а будет очень часто.Но даже если это возможно, то возможен вариант сбоя при передаче прошивки, и тогда новая прошивка не стартанет, и снова передать контроль бутлоадеру некому.
Да - это хороший пример. Но если нет возможности добавить флешку и МК достаточно объёмный, то можно разделить адресное пространство внутренней памяти программ на три части: 1 - загрузчик, 2 - основная программа, 3 - сохранённая программа. Загрузчик качает программу и сохраняет её в область 3, проверяет, а затем копирует в область 2.Я видел подход, когда возле МК ставится флешка.
Любой подойдет.Asmodey писал(а):что лучше приобрести для программирования этих МК?
ST-Link это не программатор, а отладчик. Прошивка МК это одна из функций отладчика.Asmodey писал(а):Еще вопрос - эти программаторы могут использоваться в качестве отладчиков?
По USART можно только залить или прочитать прошивку, а отладка производится по интерфейсу JTAG или SWD, т. е. нужен ST-Link или другой отладчик.Asmodey писал(а):Если по USART, то нельзя ли обойтись таким преобразователем USB-USART?
Asmodey про отладку спрашивал.Eddy_Em писал(а):Шить ли st-link'ом — на любителя.
Завязывайте с линуксом. Поставьте винду и IDE и не нужно будет лезть в дебри gdb.Eddy_Em писал(а):На мой взгляд, погружаться в дебри gdb не имеет никакого смысла
Представьте отлаживал, причем успешно. Когда USB полностью инициализирован и с компом связь установлена, работу программы можно останавливать без опасения что USB отвалится. Контроллер отсылает компу сообщение NACK когда программа остановлена и попытки доставить пакет повторяются до тех пор пока программе не будет вновь запущена, т. е. пакеты не теряются.Eddy_Em писал(а):ну как, ставя брейкпойнты и просматривая регистры, можно отладить, скажем, работу с USB, CAN или любым другим интерфейсом, который ждать не будет?
Через USART аппаратная отладка невозможна. Бутлоадер есть и прошит он изготовителем.ПростоНуб писал(а):Последний бесполезен для прошивки и отладки STM-овских МК, если в МК нет уже прошитого бутлоадера.
В винде в нормальной IDE все изначально настроено и прикручивать не нужно.ПростоНуб писал(а):на линуксе как раз с GDB проблем даже меньше, чем в винде. По крайней мере к Eclipse все прикручивается на раз.
Думаешь в него китайцы не могут поставить не STM32?VladislavS писал(а):Второй, скорее всего, можно взять.