Atmega328P Datasheet 16. Interrupt

Started by tha, August 06, 2019, 09:54:04 AM

Previous topic - Next topic

tha

อันนี้ลองทำเซทบิท IVSEL ย้าย interrupt ไปยัง boot section แต่ไม่โปรแกรม BOOTRST Fuse ก็สามารถทำงานได้แล้ว แต่จะต้องไม่บีบอัดโปรแกรมเลย คือต้องตั้ง Optimization : -O0 เลย เวลาคอมไพล์ได้ program size = 4258 bytes( 13.0% full) เลย แต่ถ้าบีบอัดโปรแกรมโดยตั้ง Optimization : -Os เวลาคอมไพล์ได้ program size = 330 bytes( 1.0% full) เอง แต่โปรแกรมทำงานไม่ได้ รวมถึงการเซท flag ด้วย ไม่ทำงานเลย เป็นเพราะอะไร ควรตั้งอย่างไรดีครับ

http://www.mediafire.com/file/oahhv06fkt2eyew/Boot_IVSEL_1.rar/file




tha

ลองมาใช้ AVR8 GNU Toolchain จะได้ program size = 1998 bytes( 6.1% full) โดยตั้ง Optimization : -O0 เหมือนกัน ก็ทำงานได้ เล็กกว่ากันครึ่งต่อครึ่งเลย หามาลงกันเลยนะ ไม่รู้มีท่านใดบอกมาไหม ก็ขอขอบคุณมา ณ ที่นี้ด้วยครับ ที่แนะนำมา



นี่ AVR8 GNU Toolchain
https://www.microchip.com/mplab/avr-support/avr-and-arm-toolchains-c-compilers

นี่ Makefile
http://gnuwin32.sourceforge.net/packages/make.htm