⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 verify flash.asm

📁 ADI 公司的DSP ADSP21369 EZ-KIT LITE开发板的全部源代码
💻 ASM
字号:
/* This program verifies whether the flash is programmed right with
the input file */

#include <def21369.h>
#include "flashprogrammer.h"

.global VERIFY_FLASH;
.extern Word_Read_In, External_Byte_Address;
.extern my_file,read_back,READ_FLASH_WORD,TEST_FAIL;
.section/pm seg_pmco;


VERIFY_FLASH:

    r0=FLASH_START_ADDRESS-1;
    dm(External_Byte_Address)=r0;
    i2=my_file;
    m0=1;l0=0;
    i3=read_back;
    m1=1;l1=0;
    lcntr=@my_file; do VERIFY until lce;
        r0=dm(External_Byte_Address);
        r0=r0+1;
        dm(External_Byte_Address)=r0;

        //fetch two bytes from flash
        call READ_FLASH_WORD;
        r0=dm(Word_Read_In);
        r1=fext R0 BY 0:8;

        //increment address
        r0=dm(External_Byte_Address);
        r0=r0+1;
        dm(External_Byte_Address)=r0;

        call READ_FLASH_WORD;
        r0=dm(Word_Read_In);
        r2=fext r0 BY 0:8;


        //two bytes from source
        r4 = dm(i2,m0);
        r8 = fext R4 by 0:8;
        r12= fext R4 by 8:8;

        //compare
        r8=r8-r1;
        if ne jump TEST_FAIL;

        r12=r12-r2;
        if ne jump TEST_FAIL;

        r2= lshift r2 by 8; //move 8 bits over
        r1=r1+r2;           //combine 2 bytes to make 16-bit data
        dm(i3,m1)=r1;


        //don't branch in last 3 instr of loop:
        nop;
        nop;
VERIFY: nop;
        

VERIFY_FLASH.END: rts;


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -