Jak mohu získat zdrojové soubory pro knihovny Arduino?

Chvíli jsem hledal v souborech Arduina, abych našel základní knihovnu. Dosud jsem je však nenašel. Kde na svém pevném disku mohu získat soubory základní knihovny (.cpp a .h) potřebné pro všechny kódy Arduino?

Když se rozhlédnu po Googlu, nenalezl jsem způsob, jak najít výše uvedené soubory. Během kompilace Arduina jsem viděl něco o získání souboru .a, ale to není to, co chci. Chci procházet kód a podívat se na funkce, jako je zpoždění, abych zjistil, jak budou reagovat, když se dají hodnoty, které se neočekávají . (tj. Zastaví se můj kód, pokud použiji delay(-200); tím, že nebudu opouštět smyčku, nebo vytvoří černou díru a naruší časoprostorové kontinuum?)

Komentáře

  • Otázka mě zajímala, ale co chci, je zdrojový kód pro strcpy a strcat v zdrojovém kódu assembleru. Stáhl jsem si hlavní knihovnu, ale nemohu najít nic vzdáleně podobného strcpy nebo strcat. NEBO možná nevidím dřevo pro stromy?
  • @bobzic Doporučuji požádat jiného otázka určující, které soubory chcete najít.

Odpovědět

Základní zdrojové soubory Arduina jsou v instalaci Arduino , pod cores/arduino/ . Zdroj dalších zahrnutých knihoven je v libraries/ .

Komentáře

  • A nezapomeňte ' nezapomenout /usr/lib/avr/include/ nebo cokoli, co se překládá v systémech jiných než Linux.
  • Škoda, nainstaloval jsem ji jako aplikaci Windows 10 a nemám přístup k instalační složce.
  • Tyto informace se zdají být zastaralé. Složka knihoven je nyní prázdná a hardware byl přesunut

Odpověď

Kód je k dispozici také online pro případy, kdy nemáte nainstalované IDE:

https://github.com/arduino/Arduino

Komentáře

Odpověď

Na počítačích Mac cesta ke složce zdrojového kódu je:
Arduino.app/Contents/Resources/Java/Hardware/Arduino/Cores/Arduino. Očekávám, že to bude stejné od /Java/ dolů v jiných operačních systémech.

Cesta ke zdrojům knihovny (Arduino-Mac)

Odpověď

Odpověď

Existuje několik míst, kam se můžete podívat. Stejně jako na IDE 1.6.4 (verze Ubuntu) jsou některé v:

(install location)/libraries 

Jedná se zejména o knihovny na vysoké úrovni:

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

To se nevztahuje na nízkoúrovňové knihovny, jako jsou Tone, Print, main atd. Jsou v:

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

Zde najdete základní knihovny Arduino, jako jsou:

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 

Ani to však nenalezne věci jako strcpy. Soubory pro ně naleznete na:

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

Zde najdete:

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 

Ani to není celý příběh. V podadresáři (avr) najdete věci související s avr se soubory pro různé procesory, například (částečně):

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 

Pokud jde o zdroj strcpy, nemyslím si, že je v distribuci. Zahrnují standardní knihovny předkompilované. Například pokud se podíváte do:

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

Uvidíte různé předkompilované knihovny, například:

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

Chcete-li najít zdroj, musíte najít zdroj AVR libc je (pravděpodobně na http://www.nongnu.org/avr-libc/ ).


Pokud jde o Mac, vše toto je o několik úrovní níže v „Aplikačním balíčku“, který můžete zobrazit kliknutím pravým tlačítkem a výběrem „Zobrazit obsah balíčku“. Podívejte se do složky Contents/Resources/Java.


Žádné z těchto míst byste neměli dávat své vlastní knihovny (ty, které píšete e nebo ke stažení).Měli by jít do libraries složky, která je podadresářem vaší sketchbook složky. Pokud neexistuje, vytvořte složku libraries. Takto knihovny nainstalované uživatelem přetrvávají z jedné verze IDE na další.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *