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)

  • 相关阅读:
    java基础部分的一些有意思的东西。
    antdvue按需加载插件babelpluginimport报错
    阿超的烦恼 javaScript篇
    .NET E F(Entity Framework)框架 DataBase First 和 Code First 简单用法。
    JQuery获得input ID相同但是type不同的方法
    gridview的删除,修改,数据绑定处理
    jgGrid数据格式
    Cannot read configuration file due to insufficient permissions
    Invoke action which type of result is JsonResult on controller from view using Ajax or geJSon
    Entity model数据库连接
  • 原文地址:https://www.cnblogs.com/lulipro/p/6657890.html
Copyright © 2011-2022 走看看