KoGIch 0 4 декабря, 2021 Опубликовано 4 декабря, 2021 · Жалоба Здравствуйте! Вся эта связка крутится на 20й убунте. Набросал проект руками и завернул в Makefile. При сборке прошивки обнаружил, что некоторые участки, которые в бинарнике или в elf файле заполнены нулями, при генерации hex файла пропускаются, и получается что после очистки контроллера и заливки этого hex'a с пропущенными участками в местах где должны лежать нули остаются 0xFFFFFFFF и для меня это критично. Вылечил это опцией --gap-fill 0, но столкнулся с тем что при запуске отладки прошивка собирается заново и уже не из моего Makefile, стирается контроллер, заливается прошивка и потом только запускается отладка. Так вот эта отладочная прошивка имеет тот же косяк с пропусками как при генерации hex без опции gap-fill. Я перерыл весь гугл, поковырял исходники, но не смог найти где происходит сборка перед отладкой или как ее отключить. Очень прошу помощи. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VladislavS 39 4 декабря, 2021 Опубликовано 4 декабря, 2021 · Жалоба Вы не то лечить пытаетесь. Лучше объясните зачем в бинарнике, эльфе или хексе вам нули понадобились? Иницализация нулями секций данных, предполагающих такую инициализацию, происходит при старте контроллера в стартапе. Придумать зачем пихать секции с нулями во флэшь с ходу не получается. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
KoGIch 0 4 декабря, 2021 Опубликовано 4 декабря, 2021 · Жалоба 24 минуты назад, VladislavS сказал: Вы не то лечить пытаетесь. Лучше объясните зачем в бинарнике, эльфе или хексе вам нули понадобились? Иницализация нулями секций данных, предполагающих такую инициализацию, происходит при старте контроллера в стартапе. Придумать зачем пихать секции с нулями во флэшь с ходу не получается. Я не инициализирую нулями. Они появляются даже не в секции а фрагментами по 320 байт в результате сборки. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
x893 61 4 декабря, 2021 Опубликовано 4 декабря, 2021 · Жалоба Смотрите map файл Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
KoGIch 0 4 декабря, 2021 Опубликовано 4 декабря, 2021 · Жалоба 43 минуты назад, x893 сказал: Смотрите map файл У меня ld файл. Там все нормально. В терминале я вижу что вызывается команда make. Такое впечатление, что создается свой временный Makefile вот только не пойму кем и как его сконфигурировать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VladislavS 39 4 декабря, 2021 Опубликовано 4 декабря, 2021 · Жалоба - Петька, прибор? - Прибор 14! - Что 14? - А что прибор? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
KoGIch 0 5 декабря, 2021 Опубликовано 5 декабря, 2021 · Жалоба 10 часов назад, VladislavS сказал: - Петька, прибор? - Прибор 14! - Что 14? - А что прибор? Сарказм оценил, но я не могу рассказать накой мне сдались эти нули. Просто поверьте эти нули там нужны. Если можете помогите разобраться где прописаны правила сборки при отладке. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VladislavS 39 5 декабря, 2021 Опубликовано 5 декабря, 2021 · Жалоба 2 часа назад, KoGIch сказал: но я не могу рассказать накой мне сдались эти нули. Просто поверьте эти нули там нужны. Всё больше убеждаюсь, что они там даром не нужны. Скорее всего, между данными есть промежутки. В бинарнике эти места забиты нулями, ибо нет механизма сделать в нём дырки. А в хексе их просто не пишут. Вам же советовали map-файл смотреть. Присоединяюсь к совету. 2 часа назад, KoGIch сказал: Если можете помогите разобраться где прописаны правила сборки при отладке Извини, с VS Code не работаю. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
KoGIch 0 5 декабря, 2021 Опубликовано 5 декабря, 2021 · Жалоба 2 часа назад, VladislavS сказал: Всё больше убеждаюсь, что они там даром не нужны. Скорее всего, между данными есть промежутки. В бинарнике эти места забиты нулями, ибо нет механизма сделать в нём дырки. А в хексе их просто не пишут. Вам же советовали map-файл смотреть. Присоединяюсь к совету. Извини, с VS Code не работаю. Вот теперь я всё понял! Спасибо! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться