| 2780 | kaklik | 1 | /*------------------- DUMMY BOOT LOADER --------------------------------------------*/ | 
      
        |  |  | 2 | #define FLASH_BLOCK_SIZE   32 | 
      
        |  |  | 3 | #define LOADER_RESERVED    getenv("PROGRAM_MEMORY")-26*FLASH_BLOCK_SIZE | 
      
        |  |  | 4 | #define BUFFER_LEN_LOD     46 | 
      
        |  |  | 5 | #if FLASH_BLOCK_SIZE != getenv("FLASH_ERASE_SIZE")/2 | 
      
        |  |  | 6 |   #error Wrong length of the Flash Block Size. getenv("FLASH_ERASE_SIZE")/getenv("FLASH_WRITE_SIZE") | 
      
        |  |  | 7 | #endif | 
      
        |  |  | 8 |  | 
      
        |  |  | 9 |  | 
      
        |  |  | 10 | #BUILD(INTERRUPT=FLASH_BLOCK_SIZE)   // Redirect Interrupt routine above first flash block | 
      
        |  |  | 11 | #ORG 4,5 | 
      
        |  |  | 12 | void JumpToTheInterrupt()     // Jump to the Interrupt Handler | 
      
        |  |  | 13 | { #asm GOTO FLASH_BLOCK_SIZE #endasm } | 
      
        |  |  | 14 | #ORG 6,FLASH_BLOCK_SIZE-1 {} // First Flash block is reserved | 
      
        |  |  | 15 |  | 
      
        |  |  | 16 |  | 
      
        |  |  | 17 | #ORG LOADER_RESERVED,getenv("PROGRAM_MEMORY")-1 auto=0 | 
      
        |  |  | 18 | #SEPARATE | 
      
        |  |  | 19 | void dummy_main() // Main on the fix position | 
      
        |  |  | 20 | { | 
      
        |  |  | 21 |    reset_cpu(); | 
      
        |  |  | 22 | } |