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

📄 usbhal.lst

📁 周立功的LPC214x固件程序
💻 LST
📖 第 1 页 / 共 2 页
字号:
  127          
  128          
  129          
ARM COMPILER V2.53,  USBHAL                                                                28/06/07  09:54:11  PAGE 4   

ASSEMBLY LISTING OF GENERATED OBJECT CODE



*** PUBLICS:
 PUBLIC         USB_InitHareware?T
 PUBLIC         USB_USBDevIntConfig?T
 PUBLIC         USB_ConfigPll?T



*** CODE SEGMENT '?PR?USB_ConfigPll?T?USBHAL':
   59:     PLL1CFG = 0x23;                                         /* P = 2, M = 4 */
 00000000  2123      MOV         R1,#0x23
 00000002  4800      LDR         R0,=0xE01FC0A4
 00000004  7001      STRB        R1,[R0,#0x0]
   60:     PLL1CON = 0x1;                                          /* Enable PLL1 */
 00000006  2101      MOV         R1,#0x1
 00000008  4800      LDR         R0,=0xE01FC0A0
 0000000A  7001      STRB        R1,[R0,#0x0]
   61:     PLL1FEED = 0xAA;                                        
 0000000C  21AA      MOV         R1,#0xAA
 0000000E  4800      LDR         R0,=0xE01FC0AC
 00000010  7001      STRB        R1,[R0,#0x0]
   62:     PLL1FEED = 0x55;                                        /* PLL Feed */
 00000012  2155      MOV         R1,#0x55
 00000014  4800      LDR         R0,=0xE01FC0AC
 00000016  7001      STRB        R1,[R0,#0x0]
   64:     while((PLL1STAT & 0x400) == 0);                         /* 等待 PLL1 锁定 */
 00000018          L_1:
 00000018  4800      LDR         R0,=0xE01FC0A8
 0000001A  8800      LDRH        R0,[R0,#0x0]
 0000001C  4800      LDR         R1,=0x400
 0000001E  4208      TST         R0,R1
 00000020  D0FA      BEQ         L_1  ; T=0x00000018
   66:     PLL1CON = 0x3;                                          /* Enable and connect*/
 00000022  2103      MOV         R1,#0x3
 00000024  4800      LDR         R0,=0xE01FC0A0
 00000026  7001      STRB        R1,[R0,#0x0]
   67:     PLL1FEED = 0xaa;                                        
 00000028  21AA      MOV         R1,#0xAA
 0000002A  4800      LDR         R0,=0xE01FC0AC
 0000002C  7001      STRB        R1,[R0,#0x0]
   68:     PLL1FEED = 0x55;                                        /* PLL Feed part 2 */
 0000002E  2155      MOV         R1,#0x55
 00000030  4800      LDR         R0,=0xE01FC0AC
 00000032  7001      STRB        R1,[R0,#0x0]
   69: }
 00000034  4770      BX          R14
 00000036          ENDP ; 'USB_ConfigPll?T'


*** CODE SEGMENT '?PR?USB_InitHareware?T?USBHAL':
   76: void USB_InitHareware(void)
 00000000  B500      PUSH        {LR}
   79:     PCONP |= 0x80000000;                                    /* 给USB控制器提供电源    power on USB controller */
 00000002  4800      LDR         R2,=0x80000000
 00000004  4800      LDR         R0,=0xE01FC0C4
 00000006  6801      LDR         R1,[R0,#0x0]
 00000008  4311      ORR         R1,R2
 0000000A  6001      STR         R1,[R0,#0x0]
   80:     USB_ConfigPll();                                        /* 配置USB时钟            config USB clock */
 0000000C  F7FF      BL          USB_ConfigPll?T  ; T=0x0001  (1)
 0000000E  FFF8      BL          USB_ConfigPll?T  ; T=0x0001  (2)
   85:     PINSEL1 &= ~(0x03U << 14);      
 00000010  4800      LDR         R2,=0xC000
 00000012  4800      LDR         R0,=0xE002C004
 00000014  6801      LDR         R1,[R0,#0x0]
 00000016  4391      BIC         R1,R2
 00000018  6001      STR         R1,[R0,#0x0]
   86:     PINSEL1 |= (0x01U << 14);                               /* P0.23为 Vbus 引脚      P0.23 is Vbus Pin */
ARM COMPILER V2.53,  USBHAL                                                                28/06/07  09:54:11  PAGE 5   

 0000001A  4800      LDR         R2,=0x4000
 0000001C  4800      LDR         R0,=0xE002C004
 0000001E  6801      LDR         R1,[R0,#0x0]
 00000020  4311      ORR         R1,R2
 00000022  6001      STR         R1,[R0,#0x0]
   89: }
 00000024  BC08      POP         {R3}
 00000026  4718      BX          R3
 00000028          ENDP ; 'USB_InitHareware?T'


*** CODE SEGMENT '?PR?USB_USBDevIntConfig?T?USBHAL':
   96: void USB_USBDevIntConfig(void)
 00000000  B081      SUB         R13,#0x4
   97: {
 00000002            ; SCOPE-START
   98:     INT32U tmp = EP_SLOW;
 00000002  2104      MOV         R1,#0x4
 00000004  A800      ADD         R0,R13,#0x0
 00000006  6001      STR         R1,[R0,#0x0] ; tmp
  101:     USBDevIntClr = FRAME;                                   /* 禁止同步传输帧中断 */
 00000008  2101      MOV         R1,#0x1
 0000000A  4800      LDR         R0,=0xE0090008
 0000000C  6001      STR         R1,[R0,#0x0]
  104:     USBDevIntEn = tmp;                                      /* 使能复位中断, 低速中断 */
 0000000E  A800      ADD         R0,R13,#0x0
 00000010  6801      LDR         R1,[R0,#0x0] ; tmp
 00000012  4800      LDR         R0,=0xE0090004
 00000014  6001      STR         R1,[R0,#0x0]
  107:     USBDevIntPri = 0;                                       /* 使能端点中断为低优先级中断 */
 00000016  2100      MOV         R1,#0x0
 00000018  4800      LDR         R0,=0xE009002C
 0000001A  7001      STRB        R1,[R0,#0x0]
  112:     tmp = (0x01 << 0) + (0x01 << 1) + (0x01 << 2) + 
 0000001C  213F      MOV         R1,#0x3F
 0000001E  A800      ADD         R0,R13,#0x0
 00000020  6001      STR         R1,[R0,#0x0] ; tmp
  117:     USBEpIntEn = tmp;                                       /* 使能物理端点 0 ~ 5中断 */
 00000022  A800      ADD         R0,R13,#0x0
 00000024  6801      LDR         R1,[R0,#0x0] ; tmp
 00000026  4800      LDR         R0,=0xE0090034
 00000028  6001      STR         R1,[R0,#0x0]
  120:     USBEpIntPri &= ~tmp;                                    /* 设置物理端点 0 ~ 5为低优先级中断 */
 0000002A  A800      ADD         R0,R13,#0x0
 0000002C  6802      LDR         R2,[R0,#0x0] ; tmp
 0000002E  4800      LDR         R0,=0xE0090040
 00000030  6801      LDR         R1,[R0,#0x0]
 00000032  4391      BIC         R1,R2
 00000034  6001      STR         R1,[R0,#0x0]
 00000036            ; SCOPE-END
  122: }
 00000036  B001      ADD         R13,#0x4
 00000038  4770      BX          R14
 0000003A          ENDP ; 'USB_USBDevIntConfig?T'



Module Information          Static
----------------------------------
  code size            =    ------
  data size            =    ------
  const size           =    ------
End of Module Information.


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

⌨️ 快捷键说明

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