flash.asm
来自「e1c0df5d-c8bc-48a5-bc02-a2b7c51c0dbf是做mp」· 汇编 代码 · 共 63 行
ASM
63 行
#define __ASSEMBLER__ 1#define __SFR_OFFSET 0#include <avr/io.h>.section .bootloader;*******************************************************************************;*;* flash writing assembly stuff;*;*******************************************************************************; void writepage(unsigned int page_address, unsigned char func).global write_pagewrite_page:; push r30; push r31; push r0; push r1 rcall wait_spmen mov r31, r25 mov r30, r24 out SPMCR, r22 spm rjmp wait_spmen; void fill_temp_buffer(unsigned int page_address, unsigned int buffer_address).global fill_temp_bufferfill_temp_buffer:; push r30; push r31; push r0; push r1 rcall wait_spmen mov r31, r25 mov r30, r24 mov r1, r23 mov r0, r22 ldi r20, (1<<SPMEN) out SPMCR, r20 spm rjmp wait_spmen; void wait_spmenwait_spmen: in r20, SPMCR sbrc r20, SPMEN rjmp wait_spmen; pop r1; pop r0; pop r31; pop r30 ret
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?