Всем привет
задачка казалось бы простая, но, как выяснилось - сам решить не смог.
Итак:
есть плата добавлена через менеджер плат, все ок.
поставлены пакеты к этой плате, они содержат файлы с расширениями .h и .c
файлы которые с .h инклюдятся, в них даже можно что-то вносить свое изменять
-это все отражается в собираемом ардуино ИДЕ проекте.
Но если внести изменения в файл с расширением .c
как и надо делать, то изменения не применяются,
более того этот файл вообще не участвует в построении проекта.
Вместо него используется файл с расширением .a который создался в момент установки обеспечения для платы.
можно конечно создать новый хедер в папке с исходниками к плате, и в него все поместить, но с этим также возникают проблемы, например
не видит определений функций даже объявленных со словом extern.
т.е. вопрос следующий, их два
первый как бы обновить файлы с расширением .a
если это невозможно,
то как объявить функции которые существуют в других папках на разных уровнях иерархии просто extern не работает, хотя новый хедер подключается/инклюдится после первоначального.
но собстенно с екстернами разберусь, это топорный вариант, а хотелсоь бы как-то все таки задействвовать файлы .с из стандартной поставки для платы. для чего то же они поставлены
Элементарно - пересоздать файл .a таким же способом, каким он был создан в момент установки обеспечения для платы. Но! Подсунув в тудыть исправленные .c и .h и .asm.
не , дядь, говоно совет
переименовал файлик на сипипи
переименовал функцию в хедере и в сипипи
начал собирать
пишет
андефайнед референсе то новаяфункция -
не верный совет, белиберда.
в момент установки этой балалайки
был запущен скрипт на поиск процессов , а именно gcc
моя ардуина им компилит
и гцц даже не шелохнулся
файлы поставялются как уже собранные
это надо их как-то мейком наверн пересобирать?
вот люди советы дают - это какие-то домыслы или с потолка ?
вроде как реально элементарная задача пересобрать проект.
Ну тогда надо пересобрать библиотеку, как уже написал @sadman41
Только обычно это не просто так - как правило к тем функциям, что в архивных файлах (.а) полного комплекта исходников нет. Ну и SDK, в которых собраны эти файлы - ничего общего с ардуино не имеет.
совершенно верно, полного пакета исходников нет.
тогда возникает вопрос, для чего были поставлены файлы с определениями, если они никак не могут быть использованы?
например вот та функция которую мне нужно пересобрать скажем так, есть в файле
…/common_libs/lib_arduino.a
по сути в общем файле.
непонятна логика.
вот это вот я и боялся у меня был запущен скрипт простейший
:loop tasklist|findstr gcc >> res.txt goto loop
и он не показал что gcc вызывается а процесс эксплорер сразу показал файл скачано установлено.
вот гемор какой-то.
т.е. получается без среды разработки от вендора
а на гитхабе есть , но там тоже часть бинарники уже
а вопрос тогда какой смясл выкладывать такое ?
для чего это ?
Кто вам сказал что не могут?
Это называются “предкомпилированные модули”. А файлы с определениями нужны, чтобы вы могли использовать функции из этих модулей в своем коде.
Это вполне себе полноценные библиотеки, только без исходников. Вы можете ими пользоваться, но не редактировать. Так обычно поставляется проприетарное ПО.
стоп стоп стоп
не путаем мухи с котлетами
файлы заголовков - это ясно для чего они,
вы мне тут лекцию читаете для первого класса
меня смущает то, что помимо файлов заголовков также поставлены файлы с расширениями .с или же .cpp
но эи файлы вообще никак не участвуют в процессе и могут быть удалены.
При этом они содаржат в себе аннтотации
типа
для изменения списка каналов внесите изменения в эти переменные, и там внутри пояснения по настройке алгоритмов.
Согласитесь какой смысл выкатывать талмуд с настройками, если никто его применить не сможет.
Плата realtek bw16
хочу использовать для вай фай 169 канал, и некоторые другие.
мне кажется надо будет качать среду разработки реалтековскую если есть такая наподобие как для ESP, и может быть в ней, хотя я нашел в том файле который с common/arduino.a в нем содержатся функции которых нету в апи,
так что 100% пересобрать его не получится.
если только ida pro его разобрать и может быть изменить:)))
ида про вообще может менять файлы бинарные ?