x893 78 April 6 Posted April 6 · Report post 32 minutes ago, jcxz said: SES = "SES | Satellite Communication Service Provider" Мне не спутник нужен. Спутница ? Quote Share this post Link to post Share on other sites More sharing options...
tonyk_av 71 April 7 Posted April 7 (edited) · Report post 12 hours ago, jcxz said: "отлаживать в gdb" - это вообще визуальный отладчик? Или там из командной строки? Для него полно фронтэндов, и текстовых, и графических. Так что ничего страшного и неудобного нет. 7 hours ago, jcxz said: Но вряд-ли их будет много (если вообще будут). Если при сборке под IAR были включены все опции по проверке программы, а не оставлены дефолтные, то под gcc такие программы у меня собирались и работали без ошибок. Edited April 7 by tonyk_av Quote Share this post Link to post Share on other sites More sharing options...
perfect stranger 12 April 7 Posted April 7 · Report post 12 часов назад, x893 сказал: SES забыли. Если руки две, то и за полчаса можно наиграться. Тоже вариант. Главное - не забыть третьей рукой отключить от USB CMSIS-DAP, прежде чем её запускать, иначе висит с таким вот сообщением: После отключения CMSIS-DAP закрывается. Или то "местный эффект"? Quote Share this post Link to post Share on other sites More sharing options...
VladislavS 46 April 7 Posted April 7 · Report post 9 часов назад, jcxz сказал: Не уверен, что нет скрытых багов, которые вылезут после сборки другим компилятором/компоновщиком. Если делаете это впервый раз, то кое-что может вылезти. IAR не так требователен к наличию volatile и более лоялен к constexpr ограничениям. Если asm-ом сильно не балуетесь, конечно. А так, я уже давно делаю проекты, которые собираются (и даже работают) в IAR, Keil и GCC. Стартап написать универсальный да и всё. startup_iar_gcc_keil_stm32G030.c low_level_init.cpp Quote Share this post Link to post Share on other sites More sharing options...
Arlleex 311 April 7 Posted April 7 · Report post 30 минут назад, VladislavS сказал: А так, я уже давно делаю проекты, которые собираются (и даже работают) в IAR, Keil и GCC. Рядовой код без прекрас, может, и будет собираться сразу. А так - специфичные для IAR атрибуты, как минимум, могут заставить переворачивать проект. Quote Share this post Link to post Share on other sites More sharing options...
VladislavS 46 April 7 Posted April 7 · Report post Что за специфичные атрибуты, пример? IAR давно уже всё допилил для совместимости. Quote Share this post Link to post Share on other sites More sharing options...
Arlleex 311 April 7 Posted April 7 · Report post Насколько я помню, несколько отличались поведения атрибутов выравнивания и упаковки. Ну и атрибут размещения в секции тоже. Quote Share this post Link to post Share on other sites More sharing options...
VladislavS 46 April 7 Posted April 7 · Report post IAR давно поддерживает __attribute__((packed)) __attribute__((aligned(16))) __attribute__((section(".init"))). Quote Share this post Link to post Share on other sites More sharing options...
dOb 10 April 7 Posted April 7 · Report post Как я понимаю, проблема в различии форматов объектных файлов. Так что загрузить трудно. Когда имел то такое удовольствие: Имеется .hex файл но нет исходников. К каждому слову из файла приписал db и получился ассемблерный файл. Загрузил в IAR и под отладчиком нашёл ошибку. Quote Share this post Link to post Share on other sites More sharing options...
jcxz 342 April 7 Posted April 7 · Report post 3 минуты назад, dOb сказал: Имеется .hex файл но нет исходников. К каждому слову из файла приписал db и получился ассемблерный файл. Загрузил в IAR и под отладчиком нашёл ошибку. Загрузить готовый .bin/.hex - не проблема. Вопрос был про связывание строк и переменных исходного кода с командами этого самого образа. Quote Share this post Link to post Share on other sites More sharing options...
VladislavS 46 April 7 Posted April 7 · Report post Он же стандартные elf делает, там всё связано. А вот как его загрузить... Ozone так точно умеет, это его основной режим. Quote Share this post Link to post Share on other sites More sharing options...
jcxz 342 April 7 Posted April 7 · Report post 32 минуты назад, VladislavS сказал: IAR давно поддерживает __attribute__((packed)) __attribute__((aligned(16))) __attribute__((section(".init"))). Всё это знаю и уже применил. И многое другое. Есть некоторые проблемы пока с intrinsic-функциями, с которыми в GCC как-то не очень... Также впереди - адаптация .asm-файлов. PS: Ещё - ОЧЕНЬ хреновый в GCC формат листинг-файлов (си/си++ компилятор). Может кто подскажет что-то более читаемое? Близкое к формату IAR. Более всего в листингах мешает огромный объём стороннего текста (кроме собственно команд). Как его уменьшить? А также - отсутствие строк исходного кода в листинге (как у IAR). Формат листингов - дефолтный. Пока не разбирался. Может кто сразу подскажет - как его улучшить? Только что, VladislavS сказал: Ozone так точно умеет, это его основной режим. Ещё раз - Ozone мимо, так как не бесплатный. Quote Share this post Link to post Share on other sites More sharing options...
VladislavS 46 April 7 Posted April 7 · Report post 9 минут назад, jcxz сказал: Ещё раз - Ozone мимо, так как не бесплатный. У вас вроде J-Link-ов разных туева хуча была... 19 минут назад, jcxz сказал: Есть некоторые проблемы пока с intrinsic-функциями Они же в CMSIS забиты. Quote Share this post Link to post Share on other sites More sharing options...
jcxz 342 April 7 Posted April 7 · Report post 22 минуты назад, VladislavS сказал: У вас вроде J-Link-ов разных туева хуча была... Ну да... и ни одного оригинального. 22 минуты назад, VladislavS сказал: Они же в CMSIS забиты. Не использую. В IAR-е они есть и без всяких CMSIS. Quote Share this post Link to post Share on other sites More sharing options...
Vasily_ 121 April 7 Posted April 7 · Report post 3 минуты назад, jcxz сказал: Ну да... и ни одного оригинального. Работодатель жмот ? 😂 Quote Share this post Link to post Share on other sites More sharing options...