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

📄 usb_mem.lst

📁 STM32 MassStorageClass Sample with shimple buffers you can acceess via SDCARD via spi interface
💻 LST
字号:
   1              		.syntax unified
   2              		.cpu cortex-m3
   3              		.fpu softvfp
   4              		.eabi_attribute 20, 1
   5              		.eabi_attribute 21, 1
   6              		.eabi_attribute 23, 3
   7              		.eabi_attribute 24, 1
   8              		.eabi_attribute 25, 1
   9              		.eabi_attribute 26, 1
  10              		.eabi_attribute 30, 4
  11              		.eabi_attribute 18, 4
  12              		.thumb
  13              		.file	"usb_mem.c"
  21              	.Ltext0:
  22              		.section	.text.UserToPMABufferCopy,"ax",%progbits
  23              		.align	2
  24              		.global	UserToPMABufferCopy
  25              		.thumb
  26              		.thumb_func
  28              	UserToPMABufferCopy:
  29              	.LFB26:
  30              		.file 1 "lib/STM32_USB-FS-Device_Driver/src/usb_mem.c"
   1:lib/STM32_USB-FS-Device_Driver/src/usb_mem.c **** /******************** (C) COPYRIGHT 2009 STMicroelectronics ********************
   2:lib/STM32_USB-FS-Device_Driver/src/usb_mem.c **** * File Name          : usb_mem.c
   3:lib/STM32_USB-FS-Device_Driver/src/usb_mem.c **** * Author             : MCD Application Team
   4:lib/STM32_USB-FS-Device_Driver/src/usb_mem.c **** * Version            : V3.0.1
   5:lib/STM32_USB-FS-Device_Driver/src/usb_mem.c **** * Date               : 04/27/2009
   6:lib/STM32_USB-FS-Device_Driver/src/usb_mem.c **** * Description        : Utility functions for memory transfers to/from PMA
   7:lib/STM32_USB-FS-Device_Driver/src/usb_mem.c **** ********************************************************************************
   8:lib/STM32_USB-FS-Device_Driver/src/usb_mem.c **** * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
   9:lib/STM32_USB-FS-Device_Driver/src/usb_mem.c **** * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.
  10:lib/STM32_USB-FS-Device_Driver/src/usb_mem.c **** * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT,
  11:lib/STM32_USB-FS-Device_Driver/src/usb_mem.c **** * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE
  12:lib/STM32_USB-FS-Device_Driver/src/usb_mem.c **** * CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING
  13:lib/STM32_USB-FS-Device_Driver/src/usb_mem.c **** * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
  14:lib/STM32_USB-FS-Device_Driver/src/usb_mem.c **** *******************************************************************************/
  15:lib/STM32_USB-FS-Device_Driver/src/usb_mem.c **** 
  16:lib/STM32_USB-FS-Device_Driver/src/usb_mem.c **** /* Includes ------------------------------------------------------------------*/
  17:lib/STM32_USB-FS-Device_Driver/src/usb_mem.c **** #include "usb_lib.h"
  18:lib/STM32_USB-FS-Device_Driver/src/usb_mem.c **** 
  19:lib/STM32_USB-FS-Device_Driver/src/usb_mem.c **** /* Private typedef -----------------------------------------------------------*/
  20:lib/STM32_USB-FS-Device_Driver/src/usb_mem.c **** /* Private define ------------------------------------------------------------*/
  21:lib/STM32_USB-FS-Device_Driver/src/usb_mem.c **** /* Private macro -------------------------------------------------------------*/
  22:lib/STM32_USB-FS-Device_Driver/src/usb_mem.c **** /* Private variables ---------------------------------------------------------*/
  23:lib/STM32_USB-FS-Device_Driver/src/usb_mem.c **** /* Extern variables ----------------------------------------------------------*/
  24:lib/STM32_USB-FS-Device_Driver/src/usb_mem.c **** /* Private function prototypes -----------------------------------------------*/
  25:lib/STM32_USB-FS-Device_Driver/src/usb_mem.c **** /* Private functions ---------------------------------------------------------*/
  26:lib/STM32_USB-FS-Device_Driver/src/usb_mem.c **** /*******************************************************************************
  27:lib/STM32_USB-FS-Device_Driver/src/usb_mem.c **** * Function Name  : UserToPMABufferCopy
  28:lib/STM32_USB-FS-Device_Driver/src/usb_mem.c **** * Description    : Copy a buffer from user memory area to packet memory area (PMA)
  29:lib/STM32_USB-FS-Device_Driver/src/usb_mem.c **** * Input          : - pbUsrBuf: pointer to user memory area.
  30:lib/STM32_USB-FS-Device_Driver/src/usb_mem.c **** *                  - wPMABufAddr: address into PMA.
  31:lib/STM32_USB-FS-Device_Driver/src/usb_mem.c **** *                  - wNBytes: no. of bytes to be copied.
  32:lib/STM32_USB-FS-Device_Driver/src/usb_mem.c **** * Output         : None.
  33:lib/STM32_USB-FS-Device_Driver/src/usb_mem.c **** * Return         : None	.
  34:lib/STM32_USB-FS-Device_Driver/src/usb_mem.c **** *******************************************************************************/
  35:lib/STM32_USB-FS-Device_Driver/src/usb_mem.c **** void UserToPMABufferCopy(uint8_t *pbUsrBuf, uint16_t wPMABufAddr, uint16_t wNBytes)
  36:lib/STM32_USB-FS-Device_Driver/src/usb_mem.c **** {
  31              		.loc 1 36 0
  32              		@ args = 0, pretend = 0, frame = 0
  33              		@ frame_needed = 0, uses_anonymous_args = 0
  34              	.LVL0:
  37:lib/STM32_USB-FS-Device_Driver/src/usb_mem.c ****   uint32_t n = (wNBytes + 1) >> 1;   /* n = (wNBytes + 1) / 2 */
  38:lib/STM32_USB-FS-Device_Driver/src/usb_mem.c ****   uint32_t i, temp1, temp2;
  39:lib/STM32_USB-FS-Device_Driver/src/usb_mem.c ****   uint16_t *pdwVal;
  40:lib/STM32_USB-FS-Device_Driver/src/usb_mem.c ****   pdwVal = (uint16_t *)(wPMABufAddr * 2 + PMAAddr);
  35              		.loc 1 40 0
  36 0000 01F10051 		add	r1, r1, #536870912
  37              	.LVL1:
  38 0004 01F54051 		add	r1, r1, #12288
  39              		.loc 1 37 0
  40 0008 0132     		adds	r2, r2, #1
  41              	.LVL2:
  42              		.loc 1 36 0
  43 000a 10B5     		push	{r4, lr}
  44              	.LCFI0:
  45              		.loc 1 40 0
  46 000c 4FF0000C 		mov	ip, #0
  47 0010 4C00     		lsls	r4, r1, #1
  48 0012 5108     		lsrs	r1, r2, #1
  49              	.LVL3:
  50 0014 0BE0     		b	.L2
  51              	.L3:
  41:lib/STM32_USB-FS-Device_Driver/src/usb_mem.c ****   for (i = n; i != 0; i--)
  42:lib/STM32_USB-FS-Device_Driver/src/usb_mem.c ****   {
  43:lib/STM32_USB-FS-Device_Driver/src/usb_mem.c ****     temp1 = (uint16_t) * pbUsrBuf;
  44:lib/STM32_USB-FS-Device_Driver/src/usb_mem.c ****     pbUsrBuf++;
  45:lib/STM32_USB-FS-Device_Driver/src/usb_mem.c ****     temp2 = temp1 | (uint16_t) * pbUsrBuf << 8;
  46:lib/STM32_USB-FS-Device_Driver/src/usb_mem.c ****     *pdwVal++ = temp2;
  52              		.loc 1 46 0
  53 0016 00EB0C03 		add	r3, r0, ip
  54 001a 5A78     		ldrb	r2, [r3, #1]	@ zero_extendqisi2
  55 001c 10F80C30 		ldrb	r3, [r0, ip]	@ zero_extendqisi2
  56              		.loc 1 41 0
  57 0020 0139     		subs	r1, r1, #1
  58              		.loc 1 46 0
  59 0022 43EA0223 		orr	r3, r3, r2, lsl #8
  60 0026 24F81C30 		strh	r3, [r4, ip, lsl #1]	@ movhi
  61              		.loc 1 41 0
  62 002a 0CF1020C 		add	ip, ip, #2
  63              	.L2:
  64 002e 0029     		cmp	r1, #0
  65 0030 F1D1     		bne	.L3
  47:lib/STM32_USB-FS-Device_Driver/src/usb_mem.c ****     pdwVal++;
  48:lib/STM32_USB-FS-Device_Driver/src/usb_mem.c ****     pbUsrBuf++;
  49:lib/STM32_USB-FS-Device_Driver/src/usb_mem.c ****   }
  50:lib/STM32_USB-FS-Device_Driver/src/usb_mem.c **** }
  66              		.loc 1 50 0
  67 0032 10BD     		pop	{r4, pc}
  68              	.LFE26:
  70              		.section	.text.PMAToUserBufferCopy,"ax",%progbits
  71              		.align	2
  72              		.global	PMAToUserBufferCopy
  73              		.thumb
  74              		.thumb_func
  76              	PMAToUserBufferCopy:
  77              	.LFB27:
  51:lib/STM32_USB-FS-Device_Driver/src/usb_mem.c **** /*******************************************************************************
  52:lib/STM32_USB-FS-Device_Driver/src/usb_mem.c **** * Function Name  : PMAToUserBufferCopy
  53:lib/STM32_USB-FS-Device_Driver/src/usb_mem.c **** * Description    : Copy a buffer from user memory area to packet memory area (PMA)
  54:lib/STM32_USB-FS-Device_Driver/src/usb_mem.c **** * Input          : - pbUsrBuf    = pointer to user memory area.
  55:lib/STM32_USB-FS-Device_Driver/src/usb_mem.c **** *                  - wPMABufAddr = address into PMA.
  56:lib/STM32_USB-FS-Device_Driver/src/usb_mem.c **** *                  - wNBytes     = no. of bytes to be copied.
  57:lib/STM32_USB-FS-Device_Driver/src/usb_mem.c **** * Output         : None.
  58:lib/STM32_USB-FS-Device_Driver/src/usb_mem.c **** * Return         : None.
  59:lib/STM32_USB-FS-Device_Driver/src/usb_mem.c **** *******************************************************************************/
  60:lib/STM32_USB-FS-Device_Driver/src/usb_mem.c **** void PMAToUserBufferCopy(uint8_t *pbUsrBuf, uint16_t wPMABufAddr, uint16_t wNBytes)
  61:lib/STM32_USB-FS-Device_Driver/src/usb_mem.c **** {
  78              		.loc 1 61 0
  79              		@ args = 0, pretend = 0, frame = 0
  80              		@ frame_needed = 0, uses_anonymous_args = 0
  81              	.LVL4:
  62:lib/STM32_USB-FS-Device_Driver/src/usb_mem.c ****   uint32_t n = (wNBytes + 1) >> 1;/* /2*/
  63:lib/STM32_USB-FS-Device_Driver/src/usb_mem.c ****   uint32_t i;
  64:lib/STM32_USB-FS-Device_Driver/src/usb_mem.c ****   uint32_t *pdwVal;
  65:lib/STM32_USB-FS-Device_Driver/src/usb_mem.c ****   pdwVal = (uint32_t *)(wPMABufAddr * 2 + PMAAddr);
  82              		.loc 1 65 0
  83 0000 01F10051 		add	r1, r1, #536870912
  84              	.LVL5:
  85              		.loc 1 62 0
  86 0004 0132     		adds	r2, r2, #1
  87              	.LVL6:
  88              		.loc 1 65 0
  89 0006 01F54051 		add	r1, r1, #12288
  90              		.loc 1 61 0
  91 000a 10B5     		push	{r4, lr}
  92              	.LCFI1:
  93              		.loc 1 65 0
  94 000c 4900     		lsls	r1, r1, #1
  95 000e 5208     		lsrs	r2, r2, #1
  96              	.LVL7:
  97 0010 0023     		movs	r3, #0
  98 0012 04E0     		b	.L6
  99              	.L7:
  66:lib/STM32_USB-FS-Device_Driver/src/usb_mem.c ****   for (i = n; i != 0; i--)
  67:lib/STM32_USB-FS-Device_Driver/src/usb_mem.c ****   {
  68:lib/STM32_USB-FS-Device_Driver/src/usb_mem.c ****     *(uint16_t*)pbUsrBuf++ = *pdwVal++;
 100              		.loc 1 68 0
 101 0014 31F81340 		ldrh	r4, [r1, r3, lsl #1]
 102              		.loc 1 66 0
 103 0018 013A     		subs	r2, r2, #1
 104              		.loc 1 68 0
 105 001a C452     		strh	r4, [r0, r3]	@ movhi
 106              		.loc 1 66 0
 107 001c 0233     		adds	r3, r3, #2
 108              	.L6:
 109 001e 002A     		cmp	r2, #0
 110 0020 F8D1     		bne	.L7
  69:lib/STM32_USB-FS-Device_Driver/src/usb_mem.c ****     pbUsrBuf++;
  70:lib/STM32_USB-FS-Device_Driver/src/usb_mem.c ****   }
  71:lib/STM32_USB-FS-Device_Driver/src/usb_mem.c **** }
 111              		.loc 1 71 0
 112 0022 10BD     		pop	{r4, pc}
 113              	.LFE27:
 163              	.Letext0:
DEFINED SYMBOLS
                            *ABS*:00000000 usb_mem.c
                            .text:00000000 $t
  R:\TEMP/ccGMbaaa.s:28     .text.UserToPMABufferCopy:00000000 UserToPMABufferCopy
  R:\TEMP/ccGMbaaa.s:25     .text.UserToPMABufferCopy:00000000 $t
  R:\TEMP/ccGMbaaa.s:76     .text.PMAToUserBufferCopy:00000000 PMAToUserBufferCopy
  R:\TEMP/ccGMbaaa.s:73     .text.PMAToUserBufferCopy:00000000 $t
  R:\TEMP/ccGMbaaa.s:117    .debug_frame:00000000 $d
  R:\TEMP/ccGMbaaa.s:167    .debug_loc:00000000 $d

NO UNDEFINED SYMBOLS

⌨️ 快捷键说明

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