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

📄 flash.lst

📁 该工程是自己在KEIL环境下写的关于C8051F020的Bootloader,调试成功
💻 LST
字号:
C51 COMPILER V8.08   FLASH                                                                 12/07/2007 14:43:00 PAGE 1   


C51 COMPILER V8.08, COMPILATION OF MODULE FLASH
OBJECT MODULE PLACED IN flash.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE flash.c LARGE OPTIMIZE(0,SPEED) BROWSE DEBUG OBJECTEXTEND

line level    source

   1          
   2          #include "includes.h"
   3          // This routine erases the first 8 pages of FLASH (0x0000 to 0x0FFF).
   4          UINT8 code_erased = FALSE;
   5          UINT8 f_valid     = FALSE;
   6          void FlashErase(UINT8 Erase_Page)
   7          {
   8   1          char xdata* data pagePointer = 0;// a pointer to xdata located in data space
   9   1                                          // points to the first FLASH page that 
  10   1                                          // will be erased
  11   1            
  12   1          bit EA_state;                    // holds interrupt state
  13   1      
  14   1          EA_state = EA;                   // save interrupt state
  15   1      
  16   1          EA = 0;                          // disable interrupts
  17   1          FLSCL |= 0x01;                   // enable FLASH write/erase
  18   1          PSCTL  = 0x03;                   // MOVX erases FLASH
  19   1         
  20   1          // Erase the first 8 FLASH pages
  21   1          pagePointer=Erase_Page*512;
  22   1          *pagePointer = 0;             // initiate the erase
  23   1            
  24   1          PSCTL = 0x00;                    // MOVX writes target XRAM
  25   1          FLSCL &= ~0x01;                  // disable FLASH write/erase
  26   1         
  27   1          EA =  EA_state;                  // restore interrupt state
  28   1      
  29   1          f_valid = FALSE;                 // indicate that code is no longer valid
  30   1          code_erased = TRUE;              // indicate that FLASH has been erased
  31   1      }
  32          
  33          void FlashWrite(UINT8 *Write_Buf,UINT8 Write_Page)
  34          {
  35   1          char xdata* data pwrite;
  36   1          UINT16 i;
  37   1      
  38   1          EA = 0;                             // disable interrupts (precautionary)   
  39   1          FLSCL |= 0x01;                      // enable FLASH write/erase
  40   1          PSCTL  = 0x01;                      // MOVX writes FLASH
  41   1      
  42   1          pwrite = Write_Page*512;      // initialize the write pointer
  43   1          
  44   1            // write the record into flash
  45   1          for( i = 0; i < 512; i++)
  46   1          {
  47   2              *pwrite=Write_Buf[i];
  48   2              pwrite++;
  49   2          }
  50   1          PSCTL = 0x00;                        // MOVX writes target XRAM
  51   1          FLSCL &= ~0x01;                     // disable FLASH write/erase
  52   1      }
  53          
  54          UINT8 FlashRead(UINT16 Read_Address)
  55          {
C51 COMPILER V8.08   FLASH                                                                 12/07/2007 14:43:00 PAGE 2   

  56   1          char code* data pread; 
  57   1          UINT8 ReadTemp;
  58   1          pread =  (char code*)Read_Address;
  59   1          ReadTemp=*pread;
  60   1          return(ReadTemp);
  61   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    245    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =     12    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      6    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =      1    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

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