zoukankan      html  css  js  c++  java
  • How arduino IDE works?

    test.ino

    void setup()
    {    
        pinMode(13,OUTPUT);
        
    }
    
    void loop()
    {
    
        digitalWrite(13,HIGH);
        delay(500);
        digitalWrite(13,LOW);
        delay(500);
    
    }

    Arduino IDE console output(for easy read , I formated)

    #step 1
    E:Arduinoarduino-1.7.10/hardware/tools/avr/bin/avr-g++ -c # just process , complie , assembl e , not link , so it generate object file -g # for debug -Os # optimize for size -w # suppress all warning -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=107010 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR -IE:Arduinoarduino-1.7.10hardwarearduinoavrcoresarduino -IE:Arduinoarduino-1.7.10hardwarearduinoavrvariantseightanaloginputs C:UsersxxxAppDataLocalTempuild4353357245568764721.tmp est.cpp -o
    C:UsersxxxAppDataLocalTempuild4353357245568764721.tmp est.cpp.o
    #step2 使用已经编译的文件:C:UsersxxxAppDataLocalTempuild4353357245568764721.tmphooks.c.o 使用已经编译的文件:C:UsersxxxAppDataLocalTempuild4353357245568764721.tmpWInterrupts.c.o 使用已经编译的文件:C:UsersxxxAppDataLocalTempuild4353357245568764721.tmpwiring.c.o 使用已经编译的文件:C:UsersxxxAppDataLocalTempuild4353357245568764721.tmpwiring_analog.c.o 使用已经编译的文件:C:UsersxxxAppDataLocalTempuild4353357245568764721.tmpwiring_digital.c.o 使用已经编译的文件:C:UsersxxxAppDataLocalTempuild4353357245568764721.tmpwiring_pulse.c.o 使用已经编译的文件:C:UsersxxxAppDataLocalTempuild4353357245568764721.tmpwiring_shift.c.o 使用已经编译的文件:C:UsersxxxAppDataLocalTempuild4353357245568764721.tmpabi.cpp.o 使用已经编译的文件:C:Usersxxx AppDataLocalTempuild4353357245568764721.tmpCDC.cpp.o 使用已经编译的文件:C:Usersxxx AppDataLocalTempuild4353357245568764721.tmpHardwareSerial.cpp.o 使用已经编译的文件:C:Usersxxx AppDataLocalTempuild4353357245568764721.tmpHardwareSerial0.cpp.o 使用已经编译的文件:C:Usersxxx AppDataLocalTempuild4353357245568764721.tmpHardwareSerial1.cpp.o 使用已经编译的文件:C:Usersxxx AppDataLocalTempuild4353357245568764721.tmpHardwareSerial2.cpp.o 使用已经编译的文件:C:Usersxxx AppDataLocalTempuild4353357245568764721.tmpHardwareSerial3.cpp.o 使用已经编译的文件:C:Usersxxx AppDataLocalTempuild4353357245568764721.tmpHID.cpp.o 使用已经编译的文件:C:Usersxxx AppDataLocalTempuild4353357245568764721.tmpIPAddress.cpp.o 使用已经编译的文件:C:Usersxxx AppDataLocalTempuild4353357245568764721.tmpmain.cpp.o 使用已经编译的文件:C:Usersxxx AppDataLocalTempuild4353357245568764721.tmp
    new.cpp.o 使用已经编译的文件:C:UsersxxxAppDataLocalTempuild4353357245568764721.tmpPrint.cpp.o 使用已经编译的文件:C:Usersxxx AppDataLocalTempuild4353357245568764721.tmpStream.cpp.o 使用已经编译的文件:C:Usersxxx AppDataLocalTempuild4353357245568764721.tmpTone.cpp.o 使用已经编译的文件:C:Usersxxx AppDataLocalTempuild4353357245568764721.tmpUSBCore.cpp.o 使用已经编译的文件:C:Usersxxx AppDataLocalTempuild4353357245568764721.tmpWMath.cpp.o 使用已经编译的文件:C:Usersxxx AppDataLocalTempuild4353357245568764721.tmpWString.cpp.o 使用已经编译的文件:C:UsersxxxAppDataLocalTempuild4353357245568764721.tmpcore.a

    #step 3 E:Arduinoarduino
    -1.7.10/hardware/tools/avr/bin/avr-gcc
    -w
    -Os
    -Wl,
    --gc-sections
    -mmcu=atmega328p
    -o C:UsersxxxAppDataLocalTempuild4353357245568764721.tmp/test.cpp.elf
    C:UsersxxxAppDataLocalTempuild4353357245568764721.tmp est.cpp.o
    C:UsersxxxAppDataLocalTempuild4353357245568764721.tmp/core.a
    -L C:UsersxxxAppDataLocalTempuild4353357245568764721.tmp -lm
    E:Arduinoarduino
    -1.7.10/hardware/tools/avr/bin/avr-objcopy
    -O ihex
    -j .eeprom --set-section-flags=.eeprom=alloc,load
    --no-change-warnings
    --change-section-lma .eeprom=0
    C:UsersxxxAppDataLocalTempuild4353357245568764721.tmp/test.cpp.elf
    C:UsersxxxAppDataLocalTempuild4353357245568764721.tmp/test.cpp.eep
    E:Arduinoarduino
    -1.7.10/hardware/tools/avr/bin/avr-objcopy
    -O ihex
    -R .eeprom
    C:UsersxxxAppDataLocalTempuild4353357245568764721.tmp/test.cpp.elf
    C:UsersxxxAppDataLocalTempuild4353357245568764721.tmp/test.cpp.hex

    procedure map(I guss)

  • 相关阅读:
    LeetCode 842. Split Array into Fibonacci Sequence
    LeetCode 1087. Brace Expansion
    LeetCode 1219. Path with Maximum Gold
    LeetCode 1079. Letter Tile Possibilities
    LeetCode 1049. Last Stone Weight II
    LeetCode 1046. Last Stone Weight
    LeetCode 1139. Largest 1-Bordered Square
    LeetCode 764. Largest Plus Sign
    LeetCode 1105. Filling Bookcase Shelves
    LeetCode 1027. Longest Arithmetic Sequence
  • 原文地址:https://www.cnblogs.com/lulipro/p/6657890.html
Copyright © 2011-2022 走看看