📄 fs_variable.lst
字号:
C51 COMPILER V7.50 FS_VARIABLE 02/16/2009 09:59:55 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE FS_VARIABLE
OBJECT MODULE PLACED IN fs_variable.obj
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE modules\file\fs_variable.c LARGE BROWSE DEBUG OBJECTEXTEND PRINT(.\fs_varia
-ble.lst) OBJECT(fs_variable.obj)
line level source
1
2 /*_____ I N C L U D E S ____________________________________________________*/
3
4 #include "config.h" /* system configuration */
5 #include "fat.h"
6
7 /*_____ M A C R O S ________________________________________________________*/
8
9
10 /*_____ D E F I N I T I O N ________________________________________________*/
11
12
13
14 extern pdata Byte gl_buffer[];
15
16
17 /* shared file system variables */
18
19 /* disk management */
20 data Uint32 fat_ptr_data; /* address of the first byte
21 /* of data */
22 xdata Byte fat_buf_sector[512]; /* 512 bytes buffer */
23
24 /* directory management */
25 idata Uint16 fat_dclust_byte_count;/* byte counter in directory sector */
26 idata Uint32 fat_dir_current_sect; /* sector of selected entry in dir list */
27 xdata Uint16 fat_dir_list_index; /* index of current entry in dir list */
28 xdata Uint32 fat_dir_start_sect; /* start sector of dir list */
29 xdata Uint16 fat_dir_list_last; /* index of last entry in dir list */
30 idata Uint16 fat_dchain_index; /* the number of the fragment of the dir, in fact */
31 /* the index of the table in the cluster chain */
32 idata Uint16 fat_fchain_nb_clust; /* the offset of the cluster from the first cluster */
33 /* of the file fragment */
34 xdata Uint32 total_capacity;
35
36 /* file management */
37 data Uint16 fat_fclust_byte_count; /* byte counter in file cluster */
38 xdata Byte current_ext;
39 xdata char ext[3]; /* file extension (limited to 3 characters) */
40
41 char pdata *lfn_name = &(gl_buffer[32]); /* long filename limited to MAX_FILENAME_LEN chars */
42 Uint16 song_name[11];
43 bit bdata song_name_style;
44
45 /* Mode repeat A/B variables */
46 xdata Byte fat_fchain_index_save;
47 xdata Byte fat_fchain_nb_clust_save;
48 xdata Uint16 fat_fclust_byte_count_save;
49
50 // xdata fat_st_free_space free_space;
51
52
53 /* Specific variables for fat file system */
54 //#if ((MEM_CHIP_FS == FS_FAT_32) || (MEM_CHIP_FS == FS_FAT_12_16) || (MEM_CARD_FS == FS_FAT_32) || (MEM_C
C51 COMPILER V7.50 FS_VARIABLE 02/16/2009 09:59:55 PAGE 2
-ARD_FS == FS_FAT_12_16))
55 /* disk management */
56 data Uint32 fat_ptr_fats; /* address of the first byte of FAT */
57 data Uint32 fat_ptr_rdir;
58 data Byte fat_cluster_size; /* cluster size (sector count) */
59 idata Byte fat_cluster_mask; /* mask for end of cluster test */
60
61
62 bdata bit fat_is_fat16; /* TRUE: FAT16 - FALSE: FAT12 */
63 bdata bit fat_open_mode; /* READ or WRITE */
64 bdata bit fat_2_is_present; /* TRUE: 2 FATs - FALSE: 1 FAT */
65 bdata bit flag_end_disk_file;
66
67 xdata Uint32 fat_count_of_clusters;/* number of cluster - 2 */
68 xdata Union32 fat_file_size;
69 xdata Uint32 fat_fat_size; /* FAT size in sector count */
70
71 /* directory management */
72 xdata fat_st_clust_chain dclusters[MAX_DIR_FRAGMENT_NUMBER];
73 /* cluster chain for the current directory */
74 bdata bit dir_is_root; /* TRUE: point the root directory */
75
76 idata Byte fat_dchain_nb_clust; /* the offset of the cluster from the first cluster */
77 /* of the dir fragment */
78 xdata Byte fat_last_dclust_index;/* index of the last cluster in directory chain */
79 xdata Uint32 fat_dir_current_offs; /* entry offset from fat_dir_current_sect */
80 xdata fat_st_cache fat_cache; /* The cache structure, see the .h for more info */
81
82
83 /* file management */
84 xdata fat_st_clust_chain fclusters[MAX_FILE_FRAGMENT_NUMBER];
85 /* cluster chain for the current file */
86 idata Byte fat_last_clust_index;/* index of the last cluster in file chain */
87 idata Byte fat_fchain_index; /* the number of the fragment of the file, in fact */
88 /* the index of the table in the cluster chain */
89
90 xdata Uint32 fat_current_file_size;
91 xdata Uint32 fat_rootclus_fat32; /* root cluster address */
92 bdata bit fat_last_dir_cluster_full;
93 bdata bit fat_no_entries_free;
94 xdata Uint16 fat_total_clusters;
95 xdata Uint32 last_free_cluster;
96
97 xdata Uint16 fat_root_entry; /* position in root dir */
98
99 idata Uint16 fat_current_end_entry_position;
100 idata Uint16 fat_current_start_entry_position;
101 xdata Uint16 fat_nb_deleted_entries;
102 xdata Uint16 fat_nb_total_entries;
103
104 bdata bit fat_is_fat32; /* TRUE: FAT32 - FALSE: FAT12/FAT16 */
105
106 xdata Uint32 fat_bpb_add;
107
108
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = ---- ----
CONSTANT SIZE = ---- ----
XDATA SIZE = 1075 ----
PDATA SIZE = ---- ----
C51 COMPILER V7.50 FS_VARIABLE 02/16/2009 09:59:55 PAGE 3
DATA SIZE = 15 ----
IDATA SIZE = 18 ----
BIT SIZE = 9 ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -