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)

  • 相关阅读:
    深入Spring Security魔幻山谷-获取认证机制核心原理讲解
    灵魂拷问:你真的理解System.out.println()打印原理吗?
    解决分布式React前端在开发环境的跨域问题
    “我以为”与“实际上”
    前端:如何让background背景图片进行CSS自适应
    VSCode如何设置Vue前端的debug调试
    【JDBC】总结
    【JDBC第9章】Apache-DBUtils实现CRUD操作
    【JDBC第8章】数据库连接池
    【JDBC第7章】DAO及相关实现类
  • 原文地址:https://www.cnblogs.com/lulipro/p/6657890.html
Copyright © 2011-2022 走看看