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

📄 nflash32.lis

📁 USB通信程序开发(附源码 精品)包括详细论文说明
💻 LIS
📖 第 1 页 / 共 5 页
字号:
                         .module NFlash32.c
                         .area data(ram, con, rel)
 0000                 _WriteResidueVal::
 0000                   .blkb 2
                         .area idata
 0000 0000              .word 0
                         .area data(ram, con, rel)
 0002                   .dbfile G:\source\NFlash32.c
 0002                   .dbsym s WriteResidueVal _WriteResidueVal i
 0002                 _Flash_Write_Sec::
 0002                   .blkb 1
                         .area idata
 0002 00                .byte 0
                         .area data(ram, con, rel)
 0003                   .dbfile G:\source\NFlash32.c
 0003                   .dbsym s Flash_Write_Sec _Flash_Write_Sec c
 0003                 _Flash_Write_Col::
 0003                   .blkb 1
                         .area idata
 0003 00                .byte 0
                         .area data(ram, con, rel)
 0004                   .dbfile G:\source\NFlash32.c
 0004                   .dbsym s Flash_Write_Col _Flash_Write_Col c
 0004                 _Flash_Write_addl::
 0004                   .blkb 1
                         .area idata
 0004 00                .byte 0
                         .area data(ram, con, rel)
 0005                   .dbfile G:\source\NFlash32.c
 0005                   .dbsym s Flash_Write_addl _Flash_Write_addl c
 0005                 _Flash_Write_addh::
 0005                   .blkb 1
                         .area idata
 0005 00                .byte 0
                         .area data(ram, con, rel)
 0006                   .dbfile G:\source\NFlash32.c
 0006                   .dbsym s Flash_Write_addh _Flash_Write_addh c
 0006                 _ReadResidueVal::
 0006                   .blkb 4
                         .area idata
 0006 00000000          .word 0,0
                         .area data(ram, con, rel)
 000A                   .dbfile G:\source\NFlash32.c
 000A                   .dbsym s ReadResidueVal _ReadResidueVal l
 000A                 _Flash_Read_Sec::
 000A                   .blkb 1
                         .area idata
 000A 00                .byte 0
                         .area data(ram, con, rel)
 000B                   .dbfile G:\source\NFlash32.c
 000B                   .dbsym s Flash_Read_Sec _Flash_Read_Sec c
 000B                 _Flash_Read_Col::
 000B                   .blkb 1
                         .area idata
 000B 00                .byte 0
                         .area data(ram, con, rel)
 000C                   .dbfile G:\source\NFlash32.c
 000C                   .dbsym s Flash_Read_Col _Flash_Read_Col c
 000C                 _Flash_Read_addl::
 000C                   .blkb 1
                         .area idata
 000C 00                .byte 0
                         .area data(ram, con, rel)
 000D                   .dbfile G:\source\NFlash32.c
 000D                   .dbsym s Flash_Read_addl _Flash_Read_addl c
 000D                 _Flash_Read_addh::
 000D                   .blkb 1
                         .area idata
 000D 00                .byte 0
                         .area data(ram, con, rel)
 000E                   .dbfile G:\source\NFlash32.c
 000E                   .dbsym s Flash_Read_addh _Flash_Read_addh c
                         .area text(rom, con, rel)
 0000                   .dbfile G:\source\NFlash32.c
 0000                   .dbfunc s flashErase _flashErase fI
                       ;              i -> R20
                       ;           addl -> R22
                       ;           addh -> R10
                         .even
 0000                 _flashErase::
 0000 00D0              rcall push_gset3
 0002 622F              mov R22,R18
 0004 A02E              mov R10,R16
 0006 2497              sbiw R28,4
 0008                   .dbline -1
 0008                   .dbline 61
                       ; /*++
                       ; 
                       ; Module Name:
                       ; 
                       ;          NFlash32.c
                       ; 
                       ; Abstract:
                       ; 
                       ;          Header file related to D12 module
                       ; 
                       ; Environment:
                       ; 
                       ;         ICCAVR 6.29
                       ; 
                       ; Revision History:
                       ; 
                       ;         04/23/2004      chenchi   created
                       ; 
                       ; --*/
                       ; /******************************************************************/
                       ; #include "io8515v.h"
                       ; #include "d12.h"
                       ; #include "scsi.h"
                       ; #include "nflash32.h"
                       ; 
                       ; unsigned int WriteResidueVal = 0;
                       ; unsigned char Flash_Write_Sec = 0x00;
                       ; unsigned char Flash_Write_Col = 0x00;
                       ; unsigned char Flash_Write_addl = 0x00;
                       ; unsigned char Flash_Write_addh = 0x00;
                       ; unsigned long ReadResidueVal = 0;
                       ; unsigned char Flash_Read_Sec = 0x00;
                       ; unsigned char Flash_Read_Col = 0x00;
                       ; unsigned char Flash_Read_addl = 0x00;
                       ; unsigned char Flash_Read_addh = 0x00;
                       ; 
                       ; /************************************************************
                       ; **工程名称:U盘固件程序开发
                       ; **编译器类型及版本:ICCAVR 6.26C
                       ; **日期:2004.4.30
                       ; **创建人:陈驰
                       ; **所属单位:湖南大学计算机与通信学院
                       ; 
                       ; **芯片类型:AT90S8515,PDIUSUD12,K9F5608U0A-YCB0
                       ; **时钟频率:8MHZ
                       ; 
                       ; **函数功能:块擦除函数
                       ; **函数输入参数及说明:
                       ;   addh:高地址
                       ;   addl:低地址
                       ; 
                       ; **函数返回值:无
                       ; **在本函数以外定义的变量:fCOMMAND,fADD,fWPs,fWPc,fRB
                       ; **调用的函数说明:无
                       ; 
                       ; **修改人:陈驰
                       ; **修改日期:2004.4.30
                       ; **修改说明:创建
                       ; *************************************************************/
                       ; void flashErase(unsigned char addh,unsigned char addl)
                       ; {
 0008                   .dbline 62
                       ;     unsigned char i=0;
 0008 4427              clr R20
 000A                   .dbline 63
                       ;     fWPs;//打开写保护
 000A 959A              SBI 0x12,5
 000C                   .dbline 63
 000C                   .dbline 64
                       ;     fCOMMAND = 0x60;//块擦除命令
 000C 80E6              ldi R24,96
 000E 809300A0          sts 40960,R24
 0012                   .dbline 65
                       ;     fADD = addl;//低地址
 0012 60930090          sts 36864,R22
 0016                   .dbline 66
                       ;     fADD = addh;//高地址
 0016 A0920090          sts 36864,R10
 001A                   .dbline 67
                       ;     fCOMMAND = 0xd0;//处理命令
 001A 80ED              ldi R24,208
 001C 809300A0          sts 40960,R24
 0020                   .dbline 68
                       ;     asm("nop \n nop");
 0020 0000              nop 
 0022 0000               nop
 0024                 L5:
 0024                   .dbline 69
 0024                 L6:
 0024                   .dbline 69
                       ;     while(!fRB);
 0024 849B              sbis 0x10,4
 0026 FECF              rjmp L5
 0028                   .dbline 70
                       ;     fCOMMAND = 0x70;//读状态命令
 0028 80E7              ldi R24,112
 002A 809300A0          sts 40960,R24
 002E                   .dbline 71
                       ;     i = fDATA;//读状态值
 002E 40910080          lds R20,32768
 0032                   .dbline 72
                       ;     csram;
 0032 609301FC          sts 0xfc01,R22
 0036                   .dbline 72
 0036                   .dbline 73
                       ;     fWPc;//写保护
 0036 9598              CBI 0x12,5
 0038                   .dbline 73
 0038                   .dbline 74
                       ;     printf("%x,%x erase is %x",addh,addl,i);//串口打印
 0038 242E              mov R2,R20
 003A 3324              clr R3
 003C 2A82              std y+2,R2
 003E 3B82              std y+3,R3
 0040 262E              mov R2,R22
 0042 3324              clr R3
 0044 2882              std y+0,R2
 0046 3982              std y+1,R3
 0048 2A2D              mov R18,R10
 004A 3327              clr R19
 004C 00E0              ldi R16,<L8
 004E 10E0              ldi R17,>L8
 0050 00D0              rcall _printf
 0052                   .dbline -2
 0052                   .dbline 75
                       ; }
 0052                 L4:
 0052 2496              adiw R28,4
 0054 00D0              rcall pop_gset3
 0056                   .dbline 0 ; func end
 0056 0895              ret
 0058                   .dbsym r i 20 c
 0058                   .dbsym r addl 22 c
 0058                   .dbsym r addh 10 c
 0058                   .dbfunc s flashWritecmd _flashWritecmd fI
                       ;      Start_add -> y+9
                       ;        End_add -> y+7
                       ;   WritePageNum -> y+5
                       ;    Erase_Count -> y+3
                       ;     Erase_addh -> R14
                       ;  Dest_two_addh -> R22
                       ;  Sour_two_addh -> R10
                       ;      Dest_addh -> y+19
                       ;      Sour_addh -> y+18
                       ; CopyBack_two_count -> y+16
                       ; CopyBack_Count -> y+14
                       ;     Erase_addl -> y+13
                       ;  Dest_two_addl -> R12
                       ;  Sour_two_addl -> R20
                       ;      Dest_addl -> y+12
                       ;      Sour_addl -> y+11
                       ;              i -> R6,R7
                         .even
 0058                 _flashWritecmd::
 0058 00D0              rcall push_gset5
 005A 6497              sbiw R28,20
 005C                   .dbline -1
 005C                   .dbline 98
                       ; /************************************************************
                       ; **工程名称:U盘固件程序开发
                       ; **编译器类型及版本:ICCAVR 6.26C
                       ; **日期:2004.4.30
                       ; **创建人:陈驰
                       ; **所属单位:湖南大学计算机与通信学院
                       ; 
                       ; **芯片类型:AT90S8515,PDIUSUD12,K9F5608U0A-YCB0
                       ; **时钟频率:8MHZ
                       ; 
                       ; **函数功能:写FLASH预处理函数
                       ; **函数输入参数及说明:无
                       ; 
                       ; **函数返回值:无
                       ; **在本函数以外定义的变量:
                       ; **调用的函数说明:无
                       ; 
                       ; **修改人:陈驰
                       ; **修改日期:2004.4.30
                       ; **修改说明:创建
                       ; *************************************************************/
                       ; void flashWritecmd(void)
                       ; {
 005C                   .dbline 102
                       ;     unsigned char Erase_addh,Erase_addl;
                       ;     unsigned char Sour_addh,Sour_addl,Dest_addh,Dest_addl;
                       ;     unsigned char Sour_two_addh,Sour_two_addl,Dest_two_addh,Dest_two_addl;
                       ;     unsigned int Erase_Count = 0,i = 0;
 005C 2224              clr R2
 005E 3324              clr R3
 0060 2B82              std y+3,R2
 0062 3C82              std y+4,R3
 0064                   .dbline 102
 0064 6624              clr R6
 0066 7724              clr R7
 0068                   .dbline 103
                       ;     unsigned int CopyBack_Count = 0;
 0068 0024              clr R0
 006A 1124              clr R1
 006C 0E86              std y+14,R0
 006E 1F86              std y+15,R1
 0070                   .dbline 104
                       ;     unsigned int CopyBack_two_count = 0;
 0070 088A              std y+16,R0
 0072 198A              std y+17,R1
 0074                   .dbline 105
                       ;     unsigned int WritePageNum = 0;
 0074 2224              clr R2
 0076 2D82              std y+5,R2
 0078 3E82              std y+6,R3
 007A                   .dbline 124
                       ;     union{
                       ;         unsigned char c[2];
                       ;         unsigned int add;
                       ;     }Start_add;
                       ;     union{
                       ;         unsigned char c[2];
                       ;         unsigned int add;
                       ;     }End_add;
                       ;     /************说明*****************

⌨️ 快捷键说明

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