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)

  • 相关阅读:
    PHP sessions that have already been started
    DOM对象和JQuery对象的区别
    iOS在支持arc的工程中,导入不支持arc的第三方的插件
    Android下利用RadioGroup和RadioButton实现Tabbar的效果
    iOS7.1以后企业应用发布需要HTTPS协议,解决步骤
    Scrapy基础(四)————Scrapy的使用Pycharm进行Debuge设置
    Scrapy基础(三) ------xpath基础
    Scrapy基础(二)————Scrapy的安装和目录结构
    python基础一 ------Python 的编码
    Scrapy基础(一) ------学习Scrapy之前所要了解的
  • 原文地址:https://www.cnblogs.com/lulipro/p/6657890.html
Copyright © 2011-2022 走看看