-
- Ежели вдруг в прошивке будет серьезный косяк, что не сможет принять обновление - будет жоппа. У мну бут при старте проверяет ряд условий: флаг в регистре/памяти, причина перезагрузки, наличие уровня на пине, заголовок и CRC прошивки. И оттуда LightElf(415 знак., 22.02.2017 12:56)
- т.е. если в поле зверинец, то обновленное приложение может загрузиться один раз и аут. - vllv(22.02.2017 13:15)
- Примерно так сделано в бутлодыре ESP8266. Там два образа лежат - рабочий и тот что обновляется. Плюс маленький кусочек кода для проверки целостности и выбора варианта при старте. Бутлодыря фактически нет, прошивка обновляется из основной ASDFS(149 знак., 22.02.2017 12:24)
- А что, возможен какой-то другой вариант? :-) Во всяком случае, я так отродясь делаю. Да, забыл сказать, что у загрузчика есть аварийный режим, у меня он может принять прошивку по TFTP. - SciFi(21.02.2017 21:45 - 21:53)
- Да вот смотрю, как коллеги наоборот усложняют загрузчик, перенося туда разные библиотечные функции...Может, в этом тренд? :) - VLLV(21.02.2017 21:54)
- Не всегда есть достаточно памяти, что-бы сохранить всю прошивку. - =AlexD=(22.02.2017 12:05)
- Это от жадности. Нынче spi-флешки дёшевы до неприличия. - SciFi(22.02.2017 12:08, ссылка)
- Я в одном проекте вообще совместил загрузчик и программу. Памяти программ хватало на 2 копии, поэтому первая часть стартовала по включению питания, проверяла наличие и целостность второй части и запускала ее. А если не находила - работала vmp(134 знак., 22.02.2017 08:40)
- Я в одном проекте вообще вызывал функции из кода загрузчика в основной программе. - SciFi(22.02.2017 08:42)
- А если нужно исправить эти функции? - vllv(22.02.2017 08:44)
- Не вызывать. Сделать новую копию в приложении. - SciFi(22.02.2017 08:51)
- отожрав место в памяти. теоретически можно написать приложение, меняющее загрузчик. За самоуверенность воспитание трудом ) - vllv(22.02.2017 09:02)
- А я не заставляю. Просто напоминаю, что есть простор для творчества :-) - SciFi(22.02.2017 09:06)
- Спасибо, бес шуток ;) - vllv(22.02.2017 11:06)
- А я не заставляю. Просто напоминаю, что есть простор для творчества :-) - SciFi(22.02.2017 09:06)
- отожрав место в памяти. теоретически можно написать приложение, меняющее загрузчик. За самоуверенность воспитание трудом ) - vllv(22.02.2017 09:02)
- Не вызывать. Сделать новую копию в приложении. - SciFi(22.02.2017 08:51)
- А если нужно исправить эти функции? - vllv(22.02.2017 08:44)
- Я в одном проекте вообще вызывал функции из кода загрузчика в основной программе. - SciFi(22.02.2017 08:42)
- Если есть память, можно и усложнять, но зачем? Основная прошивка вполне может принимать обновление (через веб-морду или что там ещё есть). Так проще, и никто от этого не страдает. SciFi(79 знак., 21.02.2017 21:57 - 22:01)
- Не всегда есть достаточно памяти, что-бы сохранить всю прошивку. - =AlexD=(22.02.2017 12:05)
- Да вот смотрю, как коллеги наоборот усложняют загрузчик, перенося туда разные библиотечные функции...Может, в этом тренд? :) - VLLV(21.02.2017 21:54)
- Ну у меня такой для LPC17. Может обновить сразу с usb флэхи, или проверяет spi dataflash не лежит ли в ней свежее обновление. Принимает обновление основная прошива по wifi. - Гудвин(21.02.2017 21:51)
- Ежели вдруг в прошивке будет серьезный косяк, что не сможет принять обновление - будет жоппа. У мну бут при старте проверяет ряд условий: флаг в регистре/памяти, причина перезагрузки, наличие уровня на пине, заголовок и CRC прошивки. И оттуда LightElf(415 знак., 22.02.2017 12:56)