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

📄 chenhao.asm

📁 TMS320C6711的上电自检 This source code is ultimately used to create a JEDEC programming file used * to p
💻 ASM
字号:
*.title  "Flash bootup utility for 6211 dsk"
        .option D,T
        .length 102
        .width  140
		
     
BOOT_SIZE     .equ    0x3000       ;bootup code size in byte
FLASH_START   .equ    0x90000000  ;flash start address
BOOT_START    .equ    0x00000000  ;L2 sram start address
EMIF_GCR      .equ    0x01800000  ;EMIF global control     
EMIF_CE1      .equ    0x01800004  ;address of EMIF CE1 control reg. 
EMIF_CE0      .equ    0x01800008  ;EMIF CE0control          
EMIF_SDCTRL   .equ    0x01800018  ;EMIF SDRAM control     
EMIF_SDRP     .equ    0x0180001c  ;EMIF SDRM refresh period 
EMIF_CE1_8    .equ    0xffffff03  ;
EMIF_CE1_32   .equ    0xffffff23  ;
EMIF_CE0_V    .equ    0xffffff33  ;EMIF CE0control   ;0x30
EMIF_SDCTRL_V .equ    0x57115000  ;EMIF SDRAM control ;0x73380000    


     .sect  ".boot_load"           ;用户自定义加载代码段
     .global _boot                 ;定义全局标号_boot
     .ref  _c_int00                ;引用rts6700.lib中定义的全局标号_c_int00

_boot:
            mvkl EMIF_GCR ,A4
     ||     mvkl 0x3300 ,B4

            mvkh EMIF_GCR ,A4
     ||     mvkh 0x3300 ,B4

            stw B4 , * A4            ;配置 EMIF全局控制寄存器
            mvkl EMIF_CE1 ,A4
     ||     mvkl EMIF_CE1_8 ,B4

            mvkh EMIF_CE1 ,A4
     ||     mvkh EMIF_CE1_8 ,B4
         
            stw B4 , * A4                   ;配置 CE1空间控制寄存器
            mvkl  EMIF_CE0,A4                ;EMIF_CE0 address ->A4
      ||    mvkl  EMIF_CE0_V,B4      

            mvkh  EMIF_CE0,A4
      ||    mvkh  EMIF_CE0_V,B4

            stw   B4,*A4
      ||    mvkl  EMIF_SDCTRL,A4            ;EMIF_SDCTRL address ->A4
      ||    mvkl  EMIF_SDCTRL_V,B4     

            mvkh  EMIF_SDCTRL,A4
      ||    mvkh  EMIF_SDCTRL_V,B4     
      
            stw   B4,*A4 
      ||    mvkl  EMIF_SDRP,A4                ;EMIF_SDRP address ->A4
      ||    mvkl  0x61a,B4    ;

            mvkh  EMIF_SDRP,A4
      ||    mvkh  0x61a,B4
            
            stw   B4,*A4
      || mvkl BOOT_START+1024 ,A4             ;待搬移数据的目标地址开始地址0x400
      || mvkl FLASH_START+1024 ,B4            ;待搬移数据的源地址开始地址0x90000400

         mvkh BOOT_START+1024 ,A4
      || mvkh FLASH_START+1024 ,B4
        zero A1

_boot_loop1:                                  ;数据搬移
    ldb *B4++ ,B5
    mvkl BOOT_SIZE , B6
    add 1 ,A1,A1
    mvkh BOOT_SIZE ,B6                        ;B6为待搬移数据块大小 ,可根据实际情况来修改
    cmplt A1, B6, B0
    nop
    stb B5 , *A4++
    [B0] b _boot_loop1
    nop 5
    mvkl .S2 _c_int00 , B0
    mvkh .S2 _c_int00 , B0
    B  .S2 B0                                 ;转向 C程序的入口
    nop 5

⌨️ 快捷键说明

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