adnega 11 26 марта, 2023 Опубликовано 26 марта, 2023 · Жалоба Кста, у меня загрузчик даже исправное приложение запускает не сразу, а через 200мс (быстрый старт) - 5000мс (медленный старт, после NVIC_SystemReset), чтоб можно было к нему как-то подключиться. У вас каким образом выполняется обновление? По какому каналу? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 236 26 марта, 2023 Опубликовано 26 марта, 2023 · Жалоба 33 минуты назад, fpga_student сказал: после обновления образы прошивок загрузчик с SD стирает, соответственно на следующем перезапуске ему просто нечего писать. Это вы так думаете. А кривая программа может делать что угодно. Хоть например при каждом старте 10 раз подряд тереть один и тот же сектор. Просто это не вылазит, до тех пор, пока устройство часто не перезапускается (у вас на столе). А у заказчика например какой-то монтажник плохо прикрепил провод питания, он болтается и устройство перезапускается каждые несколько секунд. И так проходит месяц и.... флешь приказывает долго жить... как вариант. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
fpga_student 0 26 марта, 2023 Опубликовано 26 марта, 2023 · Жалоба On 3/26/2023 at 10:40 PM, adnega said: Кста, у меня загрузчик даже исправное приложение запускает не сразу, а через 200мс (быстрый старт) - 5000мс (медленный старт, после NVIC_SystemReset), чтоб можно было к нему как-то подключиться. У вас каким образом выполняется обновление? По какому каналу? Файл с SD. Нет никакого канала. Есть новый файл прошивки - обновляемся. Нету - проверяем и грузим что есть. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
adnega 11 26 марта, 2023 Опубликовано 26 марта, 2023 · Жалоба В 26.03.2023 в 22:38, fpga_student сказал: Я сказал FRAM, она работает на 40МГц. Достаточно быстро, чтобы сильно не гадить ПО, кроме того есть аппаратные очереди. Записанный стек позволит хотя бы понять, в одном и том же месте происходит сбой или в разных, если в одном то хотя бы укажет направление куда смотреть. Видимо теперь будем, спасибо Если у вас нету отладочной консоли (UART), то во внешнюю память можно сбрасывать стек, извлеченный из недр HardFault, а дальше - хоть ногодрыгом кинуть значение регистров и стека во внешнюю память. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 236 26 марта, 2023 Опубликовано 26 марта, 2023 · Жалоба 22 минуты назад, fpga_student сказал: 3. Область хранения настроек ПО. Настройки в процессе работы устройства изменяются? Как реализовано изменение? Безопасно? Или при внезапной перезагрузке они могут слететь? Может тогда просто это у вас и происходит? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
fpga_student 0 26 марта, 2023 Опубликовано 26 марта, 2023 · Жалоба On 3/26/2023 at 10:43 PM, adnega said: Если у вас нету отладочной консоли (UART), то во внешнюю память можно сбрасывать стек, извлеченный из недр HardFault, а дальше - хоть ногодрыгом кинуть значение регистров и стека во внешнюю память. Сперва надо узнать что там HardFault. И какую внешнюю память Вы предлагаете использовать ? On 3/26/2023 at 10:43 PM, jcxz said: Настройки в процессе работы устройства изменяются? Как реализовано изменение? Безопасно? Или при внезапной перезагрузке они могут слететь? Может тогда просто это у вас и происходит? Да изменяет пользователь в меню HMI. Насчет безопасно я не в курсе, нужно пытать программиста. Нет скорее всего дело не в этом, слишком много плат слетело. 20-30% Практически невероятно такое совпадение, я думаю почти невероятно чтобы даже 2 машины таких было. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 236 26 марта, 2023 Опубликовано 26 марта, 2023 · Жалоба 7 минут назад, fpga_student сказал: Я сказал FRAM, она работает на 40МГц. Достаточно быстро SPI? Это очень медленно. Так как для того чтобы вести какие-то логи, нужно выполнить множество операций записи (может и чтения). Каждая операция - команда разрешения, команда посылки данных. Каждая со своими стробами CS и т.п. На параллельной FRAM может были бы какие-то шансы..... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
adnega 11 26 марта, 2023 Опубликовано 26 марта, 2023 · Жалоба В 26.03.2023 в 22:41, fpga_student сказал: Файл с SD. Нет никакого канала. Я для таких случаев всегда использую копию обновления во флешь. Т.е. обнаруживаю корректное обновление на карте, если требуется обновить, то записываю его в регион IMAGE во флешь МК, делаю перезагрузку. Загрузчик видит корректное обновление в IMAGE, принимает решение обновить APPLICATION, стирает APPLICATION, расшифровывает IMAGE и копирует его в APPLICATION, проверяет корректность записи и ставит штамп с CRC32, если все ок. После этого APPLICATION можно запускать. И если когда-то APPLICATION поплохеет, всегда есть копия в IMAGE для автоматического восстановления. 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
fpga_student 0 26 марта, 2023 Опубликовано 26 марта, 2023 · Жалоба On 3/26/2023 at 10:49 PM, adnega said: Я для таких случаев всегда использую копию обновления во флешь. Т.е. обнаруживаю корректное обновление на карте, если требуется обновить, то записываю его в регион IMAGE во флешь МК, делаю перезагрузку. Загрузчик видит корректное обновление в IMAGE, принимает решение обновить APPLICATION, стирает APPLICATION, расшифровывает IMAGE и копирует его в APPLICATION, проверяет корректность записи и ставит штамп с CRC32, если все ок. После этого APPLICATION можно запускать. И если когда-то APPLICATION поплохеет, всегда есть копия в IMAGE для автоматического восстановления. Прошивка огромная она едва влазит в память. Места на 2 копии нет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
adnega 11 26 марта, 2023 Опубликовано 26 марта, 2023 · Жалоба В 26.03.2023 в 22:43, jcxz сказал: Настройки в процессе работы устройства изменяются? Как реализовано изменение? Безопасно? Или при внезапной перезагрузке они могут слететь? Может тогда просто это у вас и происходит? Кста, подергать питание в моменты изменения настроек - это первое, что нужно попробовать для удачного окирпичивания на столе. В 26.03.2023 в 22:48, jcxz сказал: SPI? Это очень медленно. Дык, кирпич никуда и не торопится - это по сути канал с внешним миром для выгрузки хоть какого-то дампа Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
fpga_student 0 26 марта, 2023 Опубликовано 26 марта, 2023 · Жалоба On 3/26/2023 at 10:51 PM, adnega said: Кста, подергать питание в моменты изменения настроек - это первое, что нужно попробовать для удачного окирпичивания на столе. Там есть проблемы, но по статистике не сходится имхо никак. Но вообще попробую, спасибо Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
adnega 11 26 марта, 2023 Опубликовано 26 марта, 2023 · Жалоба В 26.03.2023 в 22:50, fpga_student сказал: Прошивка огромная она едва влазит в память. Места на 2 копии нет. Кста, внешняя SPI флешка под IMAGE - рулит. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 236 26 марта, 2023 Опубликовано 26 марта, 2023 · Жалоба 19 минут назад, fpga_student сказал: Там и так несколько мегабайт прошивка, я не стал прессовать( Чувствую, что программист и сам не в курсе - кто там что у него в ПО пишет во флешь. При таких-то размерах можно предположить - явно где-то надёргал чужого кода, который непонятно что внутри себя вытворяет. 4 минуты назад, adnega сказал: Дык, кирпич никуда и не торопится - это по сути канал с внешним миром для выгрузки хоть какого-то дампа Напомню, что ТС собирался писать в него лог штатной работы функций программы. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
fpga_student 0 26 марта, 2023 Опубликовано 26 марта, 2023 · Жалоба On 3/26/2023 at 10:53 PM, jcxz said: Чувствую, что программист и сам не в курсе - кто там что у него в ПО пишет во флешь. При таких-то размерах можно предположить - явно где-то надёргал чужого кода, который непонятно что внутри себя вытворяет. Вы злы к моему программисту. Он чрезвычайно хорош. Единственный из 15 студентов, кто с первого дня меня консультировал) Драйверы ядра под линукс, техническое зрение, сейчас нейросети. Он великолепный, просто там действительно большая хрень, которой уделялось не так много времени как было нужно. Кода заимствованного действительно было много, тк сам с нуля он бы писал все в разы дольше. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
adnega 11 26 марта, 2023 Опубликовано 26 марта, 2023 · Жалоба В 26.03.2023 в 22:52, fpga_student сказал: Там есть проблемы, но по статистике не сходится имхо никак. У Заказчика всяко может быть. Например, он изменяет какие-то уставки, которые в реальном времени щелкают каким-нить мощным контактором, от помехи которого МК сбоит - статистика в этом случае меняется кардинально. В 26.03.2023 в 22:56, fpga_student сказал: Вы злы к моему программисту. Он чрезвычайно хорош. Единственный из 15 студентов за 5 лет, кто с первого дня меня консультировал) Драйверы ядра под линукс, техническое зрение, сейчас нейросети. Он великолепный, просто там действительно большая хрень, которой уделялось не так много времени как было нужно. Самое простое - сделайте индикацию HardFault. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться