Jump to content

    

Forger

Свой
  • Content Count

    1933
  • Joined

  • Last visited

Everything posted by Forger


  1. Keil, Create Library

    Да, но оставить только нужные файлы, исключив лишние не удалением из проекта, а исключением их из компиляции: правая кнопка мыши по файлу, далее первый пункт выпадающего списка и в окне снять галку Include In Target Build. Там же можно настроить параметры комилятора и многое другое, относящееся к этому файлу. Но удобнее это делать с деревом файлов, размещая библиотечные файлы в нужных разделах. И в настройках проекта во вкладке Output выбрать Create Libriary.
  2. Cortex®-M7

    Смайлик под постом призван объяснить это
  3. Cortex®-M7

    Тогда даже 5й кейл будет слишком свежим, ищите 4й, там все как раз именно под голые С заточено. И комп желательно тоже древний использовать, новый современный на голом С может нестабильно работать
  4. Cortex®-M7

    На данный момент свежий 6.14 https://developer.arm.com/tools-and-software/embedded/arm-compiler/downloads/version-6 Отдельно для keil можно ставить 6й компилятор, но только 32-битную версию. Но лучше все же скачать последний свежий keil, там внутри уже идет свежий 6й компилятор. Если не в курсе и не знаете как это легко выяснить, то лучше ничего не менять и оставить как есть :)
  5. Cortex®-M7

    Он поддерживается (обновляется) и он от ARM. 5й уже никто не рекомендует использовать, особенно в новых проектах. Для меня важно C++11, который реализован полностью лишь в 6-ом. Все свои старые активные проекты перевел на 6й. Если проект старый и не требует особого развития, то перепрыгивать с 5го на 6й нет никакого смысла имхо.
  6. Cortex®-M7

    В свежей версии кейла по-умолчанию для новых проектов сразу выбирается 6й, а античный 5й не обновлялся уже несколько лет.
  7. http://www.keil.com/support/man/docs/armlink/armlink_pge1362065977713.htm
  8. Keil, Create Library

    Если галка была установлена ТАКЖЕ на применяемых в проекте библиотеках, то выигрыш будет еще БОЛЬШЕ. Но будет в любом случае. Никто никому не запрещает придумывать небылицы )) Сам Keil не генерит НИКАКОГО кода. Это делает компилятор и линковщик, причем оба непосредственно от ARM. Платные. https://developer.arm.com/tools-and-software/embedded/arm-compiler/downloads/version-6 Вот вот. Понимание приходит не сразу )))
  9. Keil, Create Library

    В проектах выигрыш по объему прошивки есть и сильно зависит от внешних применяемых библиотек. Что дает положительного отказ от этого? Да ничего
  10. Keil, Create Library

    link-time optimization это лишь дополнение к возможностям линкера. Линкер скажем так: корректирует команды CPU при линковке на базе работы после компилятора, ведь адреса объектов определяет именно линкер. По-ходу мы не поняли друг друга, или я запутал народ: размещение функций в РАЗНЫХ elf-секциях, дает возможность линкеру очень просто от них избавиться. Именно для этого и создана эта галочка. Т. е. это НЕ ТО ЖЕ самое, что делать для каждого функции свой obj-файл.
  11. Keil, Create Library

    Это делает не компилятор, а линкер, и называется это link-time optimazation. Хорошо работает для голых C библиотек и т. п. проектов. На плюсах вообще никакой пользы не приносит. По крайней мере я не заметил чего-то выдающегося. Впрочем у меня и проекты не шибко требовательные к размеру и скорости кода. Всего с большим запасом.
  12. Keil, Create Library

    Я сравнивал у себя в проектах: если разница и была, то настолько незначительная, что даже не имело смысла заморачиваться. А вот код на выходе выходил заметно объемнее. Впрочем, в keil-е можно выборочно настроить настройки компиляции хоть на каждый файл индивидуально, хоть на группу файлов. Для критичных файлом можно настроить наилютейшую оптимизацию без этой галки.
  13. Keil, Create Library

    Ничто не вечно, у меня такой два года работает. У них был небольшой косяк с прошивкой, достаточно ее было обновить. И бэкапы никто не отменяет. Это - святое, во все времена. Эта галочка не влияет на компиляцию и оптимизацию кода, а лишь помогаем линкеру потом убрать из исходной прошивки неиспользуемые объекты. Вот и все что она делает. И не только ему. Впрочем, никто ж не заставляет ставить эту галочку - это сугубо добровольное мероприятие )
  14. Keil, Create Library

    Судя по последним тестам в однопоточном режиме на равной тактовой частоте amd оказывается быстрее (речь про 3000 серию и выше). Но интел догоняет и порой обгоняет за счет бОльше тактовой частоты. В античных программах под одноядерные процы - там и компы никто не меняет годами. Чихнуть рядом страшно, но то что менять железо ))) Этот миф давно гуляет по интернетам, наравне с поклонними плоской земли, противниками 6G, которые сжигают их вышки и т.п. персонажами К слову, с 15 года активно использую исключительно ssd, ни один не умер. А сейчас везде перешел вообще на pcie ssd. Современные ssd имеют очень мудреные контроллеры, на борту у них всегда немаленький кэш (в среднем около 1% от объема диска). Убить диск можно только записывая огромные файлы в нонстоп режиме, есть тесты, но и тут тот же samsung показывает впечатляющие результаты (потому он недешевый). Эта галочка делает то, что делают некоторые староверы руками - результат компиляции каждой функции сует в свой объектный файл. ARM просто облегчили жизнь программисту, но безусловно истинном староверам, которые передвигаются на конной HDD тяге, такие упрощения жизни неприемлемы ;)
  15. Keil, Create Library

    Это нормальный проц, у него как я понял нет гипертрединга, т.е. всего 6 потоков, у той же ряженки 3600 получается тоже 6 ядер, но уже 12 потоков, потому компилит значительно быстрее, хотя стоит примерно столько же. Интел для игр хорошо, а для 3D и работы амд все же ловчее. Это показывают тесты синтетические и в реальных положениях. Ни разу не сталкивался. Компы везде амд и давно.
  16. Keil, Create Library

    Пофиг, главное - много-много-многопоточный. Интел интелу рознь. Современные ряженки амд сильно уделывают интел при равной цене, раньше было наоборот. Хорошо, когда конкуренция начинает реально работать ))
  17. Keil, Create Library

    Время компиляции сокращается применением нормального компа с современным процом. К слову, недавно перешел на бюджетный ryzen 5 3600, keil компилит одновременно 12 файлов Если бы был ryzen 7 а то и 9, то вообще ракета. Жду 4000 поколения ряженок. При случае обновлю. В сравнении с античными компами разница колоссальная. И лишне говорить, что keil и проект должны быть обязательно на ssd
  18. Keil, Create Library

    С какого перепуга? Эта галка или не дает разницы (если все функции и методы используются в проекте) или сокращает финальную прошивку, вырезая неиспользуемые функции/методы.
  19. Keil, Create Library

    (С) "Каждый дрочит, как хочет"
  20. Keil, Create Library

    Я гарантирую то, что не стану заставлять вас пересаживаться на "паровоз", смело катайтесь и дальше на конной тяге В любой адекватной (не античной) среде эти ключи выставляются или по-умолчанию автоматом или соотв. "галочками". В допотопных же IDE или из под makefile это все придется выставлять ручками
  21. Keil, Create Library

    Раньше передвигались исключительно на лошадях и при появлении паровозов особо суеверные люто их боялись ...
  22. Keil, Create Library

    В keil еще с античных времен можно было поставить одну единственную галочку, что позволяет избежать подобного геморроя. Работает в ОБОИХ компляторах v5 и разумеется в v6 Вот картинка, по названию опции очень хорошо понятно, что она делает: Это НУЖНО ДЕЛАТЬ не только библиотеках, но в самих проектах, очень сокращает объем прошивки, особенно в проектах, где используются огромные c/c++ файлы с кучей функций/методов
  23. Keil, Create Library

    Ничего удивительного, если в гугле все это есть, на первой же странице. Кроме нюансов, но они возникают в процессе применения и также решаются через гугль. Не вижу смысл дергать сообщество по тому, что можно сделать самостоятельно ;)
  24. Keil, Create Library

    Проверить самому - 5 минут с перекурами :) Знаю точно, что v5 и v6 несовместимы, хотя либы в составке keil как-то работают под обеими версиями (я про либы из middleware).