Jak mogę uzyskać pliki źródłowe dla bibliotek Arduino?

Od jakiegoś czasu szukałem w plikach Arduino, aby znaleźć podstawową bibliotekę. Jednak jeszcze ich nie znalazłem. Gdzie na moim dysku twardym mogę uzyskać podstawowe pliki biblioteki (.cpp i .h) niezbędne dla całego kodu Arduino?

Rozglądając się w Google, nie mogłem znaleźć sposobu na znalezienie powyższych plików. Widziałem coś o pobieraniu pliku .a podczas kompilacji Arduino, jednak to nie jest to, czego chcę. Chcę przejrzeć kod i spojrzeć na funkcje, takie jak opóźnienie, aby zobaczyć, jak zareagują, gdy podane wartości nie są oczekiwane . (tj. czy mój kod zatrzyma się, jeśli użyję delay(-200);, nie wychodząc z pętli, czy też utworzy czarną dziurę i zakłóci kontinuum czasoprzestrzeni?)

Komentarze

  • Interesowało mnie to pytanie, ale potrzebuję kodu źródłowego dla strcpy i strcat w kodzie źródłowym asemblera. Pobrałem bibliotekę główną, ale nie mogę zlokalizować niczego zdalnie podobnego do strcpy lub strcat. LUB Może nie widzę drewna dla drzew?
  • @bobzic Sugeruję, abyś zapytał innego pytanie określające, które pliki chcesz znaleźć.

Odpowiedź

Podstawowe pliki źródłowe Arduino znajdują się w instalacji Arduino , pod cores/arduino/ . Źródła dodatkowych bibliotek znajdują się w libraries/ .

Komentarze

  • I nie ' nie zapomnij o /usr/lib/avr/include/ ani o czymkolwiek, co przekłada się na systemy inne niż Linux.
  • Szkoda, że zainstalowałem go jako aplikację Windows 10 i nie mogę uzyskać dostępu do folderu instalacyjnego.
  • Te informacje wydają się nieaktualne. Folder bibliotek jest teraz pusty i sprzęt został przeniesiony

Odpowiedź

Kod jest również dostępny online w przypadku, gdy nie masz zainstalowanego IDE:

https://github.com/arduino/Arduino

Komentarze

Answer

Na komputerze Mac ścieżka do folderu kodu źródłowego to:
Arduino.app/Contents/Resources/Java/Hardware/Arduino/Cores/Arduino. Spodziewałbym się, że będzie tak samo od /Java/ w innych systemach operacyjnych.

Ścieżka do źródeł bibliotecznych (Arduino-Mac)

Odpowiedź

Odpowiedź

Jest wiele miejsc, w których możesz szukać. Podobnie jak w IDE 1.6.4 (wersja Ubuntu), niektóre znajdują się w:

(install location)/libraries 

Ale są to w szczególności biblioteki wysokiego poziomu:

Bridge Esplora Ethernet Firmata GSM LiquidCrystal Robot_Control RobotIRremote Robot_Motor SD Servo SpacebrewYun Stepper Temboo TFT WiFi 

To nie obejmuje bibliotek niskiego poziomu, takich jak Tone, Print, main itp. Znajdują się one w:

(install location)/hardware/arduino/avr/cores/arduino 

Tam można znaleźć podstawowe biblioteki Arduino, takie jak:

abi.cpp Arduino.h binary.h CDC.cpp Client.h HardwareSerial0.cpp HardwareSerial1.cpp HardwareSerial2.cpp HardwareSerial3.cpp HardwareSerial.cpp HardwareSerial.h HardwareSerial_private.h HID.cpp hooks.c IPAddress.cpp IPAddress.h main.cpp new.cpp new.h Printable.h Print.cpp Print.h Server.h Stream.cpp Stream.h Tone.cpp Udp.h USBAPI.h USBCore.cpp USBCore.h USBDesc.h WCharacter.h WInterrupts.c wiring_analog.c wiring.c wiring_digital.c wiring_private.h wiring_pulse.c wiring_shift.c WMath.cpp WString.cpp WString.h 

Jednak nawet to nie lokalizuje rzeczy takich jak strcpy. Pliki nagłówkowe można znaleźć pod adresem:

(install location)/hardware/tools/avr/avr/include/ 

Tam znajdziesz:

alloca.h assert.h ctype.h errno.h inttypes.h math.h setjmp.h stdfix-avrlibc.h stdint.h stdio.h stdlib.h string.h 

Nawet to nie jest cała historia. W podkatalogu (avr) znajdziesz rzeczy związane z avr, z plikami dla różnych procesorów, na przykład (częściowo):

boot.h builtins.h common.h cpufunc.h crc16.h delay.h eeprom.h fuse.h interrupt.h io1200.h io2313.h ... iox64d4.h iox8e5.h lock.h parity.h pgmspace.h portpins.h power.h sfr_defs.h signal.h signature.h sleep.h version.h wdt.h xmega.h 

Jeśli chodzi o źródło strcpy, nie sądzę, aby znajdowało się ono w dystrybucji. Obejmują one standardowe biblioteki, wstępnie skompilowane. Na przykład, jeśli spojrzysz na:

(install location)/hardware/tools/avr/avr/lib 

Zobaczysz różne wstępnie skompilowane biblioteki, na przykład:

libc.a libm.a libprintf_flt.a libprintf_min.a libscanf_flt.a libscanf_min.a 

Aby znaleźć źródło, musisz znaleźć źródło AVR libc jest (prawdopodobnie pod adresem http://www.nongnu.org/avr-libc/ ).


Jeśli chodzi o komputery Mac, wszystko to znajduje się kilka poziomów niżej w „Pakiecie aplikacji”, który można wyświetlić, klikając prawym przyciskiem myszy i wybierając opcję „Pokaż zawartość pakietu”. Zajrzyj do folderu Contents/Resources/Java.


Brak z tych miejsc, w których należy umieścić własne biblioteki (te, które piszesz e lub pobierz).Powinny trafić do folderu libraries, który jest podkatalogiem Twojego folderu sketchbook. Utwórz folder libraries, jeśli nie istnieje. W ten sposób biblioteki instalowane przez użytkownika zachowują się z jednej wersji IDE do następnej.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *