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

📄 cdbfileformat.txt

📁 This a FREE tool chain which compiles C codes into 8051 binary code, converts the binary to RTL ROM,
💻 TXT
📖 第 1 页 / 共 3 页
字号:
|    

SL      | 

long                     |
+--------------+----------------------------+
|    

SI      | 

int                      |
+--------------+----------------------------+
|    

SC      | 

char                     |
+--------------+----------------------------+
|    

SS      | 

short                    |
+--------------+----------------------------+
|    

SV      | 

void                     |
+--------------+----------------------------+
|    

SF      | 

float                    |
+--------------+----------------------------+
| 

ST <name>  | 

Structure of name <name> |
+--------------+----------------------------+
|    

SX      | 

sbit                     |
+--------------+----------------------------+
|  

SB <n>    | 

Bit field of <n> bits    |
+--------------+----------------------------+


Examples








S:LcheckSerialPort$pstBuffer$1$1({3}DG,STTTinyBuffer:S),R,0,0,[r2,r3,r4]

S:Ltimer0LoadExtended$count$1$1({2}SI:S),B,1,-4

S:G$T2CON_7$0$0({1}SX:S),J,0,0

S:LAdcInitialize$a$1$1({2}SI:S),B,1,1

S:G$ScanCount$0$0({2}SI:S),F,0,0

4.5 Function Records

  <F><:>
{ G | F<Filename> | L { <function> | "--null--" }}
<$><Name>

  <$><Level>
<$><Block>
<(><TypeRecord><)>
<,><AddressSpace>

  <,><OnStack>
<,><Stack>
<,><Interrupt>
<,><Interrupt Num>

  <,><Register Bank>

+--------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+
|        

F         | 

Symbol record type indicator                                                                                                                                |
+--------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+
|        

G         | 

Scope is global                                                                                                                                             |
+--------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+
|  

F <Filename>    | 

Scope is file                                                                                                                                               |
+--------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+
|  

L <Function>    | 

Scope is local                                                                                                                                              |
+--------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+
|     

<Name>       | 

Symbol name                                                                                                                                                 |
+--------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+
|     

<Level>      | 

Scope level (see below)                                                                                                                                     |
+--------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+
|     

<Block>      | 

Scope block (see below)                                                                                                                                     |
+--------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+
|   

<TypeChain>    | 

Type chain record (see type record below)                                                                                                                   |
+--------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+
| 

<Address Space>  | 

Address space code <see table below>                                                                                                                        |
+--------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+
|   

<On Stack>     | 

Indicates if this is a stack variable                                                                                                                       |
+--------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+
|     

<Stack>      | 

If stack variable, the stack offset relative to the "bp" 
variable. (Libraries will have to be compiled using the -
-debug option for this to be available) |
+--------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+
| 

<Is Interrupt>   | 

Indicates if this is an interrupt handler.                                                                                                                  |
+--------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+
| 

<Interrupt Num>  | 

If interrupt handler, this indicates the interrupt number.                                                                                                  |
+--------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+
| 

<Register Bank>  | 

If interrupt handler, this ist he register bank number.                                                                                                     |
+--------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+


Purpose

The Function record defines any Source File function. 
Its construction is the same as the symbol record, with 
the addition of 3 extra parameters for indicating 
interrupt handlers.

Example

F:G$main$0$0({2}DF,SV:S),C,0,0,0,0,0

F:G$SioISR$0$0({2}DF,SV:S),Z,0,0,1,4,0

4.6 Type Records

  <T><:>
<F><Filename><$>
<Name>
<[><TypeMember> 
  {<TypeMember>} <]>

+-----------------+--------------------------------------------+
|      

T        | 

Type record type indicator               |
+-----------------+--------------------------------------------+
|  

<Filename>   | 

The filename where this type is declared |
+-----------------+--------------------------------------------+
|    

<Name>     | 

The name of this type                    |
+-----------------+--------------------------------------------+
| 

<TypeMember>  | 

(see below)                              |
+-----------------+--------------------------------------------+


4.7 Type Member

  <(><{><Offset><}><SymbolRecord><)>

+-------------------+----------------------------------------------------------------------------------+
|    

<Offset>     | 

The offset of this type member in decimal.                                     |
+-------------------+----------------------------------------------------------------------------------+
| 

<SymbolRecord>  | 

A complete symbol record describing this Member. (See "
Symbol Records" above. |
+-------------------+----------------------------------------------------------------------------------+


Purpose

Type records describe the complex types within the 
source file. These include structure and union types.

Examples

T:Fcmdas$TTinyBuffer[

({0}S:S$pNext$0$0({3}DG,STTTinyBuffer:S),Z,0,0)

({3}S:S$length$0$0({1}SC:U),Z,0,0)

({4}S:S$maxLength$0$0({1}SC:U),Z,0,0)

({5}S:S$rindex$0$0({1}SC:U),Z,0,0)

({6}S:S$windex$0$0({1}SC:U),Z,0,0)

({7}S:S$buffer$0$0({64}DA64,SC:U),Z,0,0)
]

4.8 Link Address of Symbol

  <L><:> 
{ <G> | F<filename> | L<function> } 
<$><name>
<$><level>

  <$><block>
<:><address>

+-----------------+----------------------------------------------------------------------------------------------+
|      

L        | 

Link record type indicator                                                                 |
+-----------------+----------------------------------------------------------------------------------------------+
|      

G        | 

Symbol has file scope.                                                                     |
+-----------------+----------------------------------------------------------------------------------------------+
| 

F <Filename>  | 

Symbol has file scope.                                                                     |
+-----------------+----------------------------------------------------------------------------------------------+
| 

L <Function>  | 

Symbol has function scope                                                                  |
+-----------------+----------------------------------------------------------------------------------------------+
|    

<Name>     | 

Symbol name                                                                                |
+-----------------+----------------------------------------------------------------------------------------------+
|   

<Level>     | 

Symbol level                                                                               |
+-----------------+----------------------------------------------------------------------------------------------+
|   

<Block>     | 

Symbol block                                                                               |
+-----------------+----------------------------------------------------------------------------------------------+
|  

<Address>    | 

Symbol address in hex, relative to the address space 
code, in the matching symbol record. |
+-----------------+----------------------------------------------------------------------------------------------+


Purpose

The link address record is used to bind a memory 
location to a symbol record.

Example

L:G$P0$0$0:80
L:G$ScanCount$0$0:0
L:Fcmdas$_str_0$0$0:195

4.9 Linker Symbol End Address Record

  <L><:><X>
{ <G> | F<filename> | L<functionName> }
<$><name>

  <$><level>
<$><block>
<:><Address>

+-----------------+-----------------------------------------------------------------------------------------------------------+
|      

L        | 

Link record type indicator                                                                              |
+-----------------+-----------------------------------------------------------------------------------------------------------+
|      

X        | 

Link end address sub type indicator                                                                     |
+-----------------+-----------------------------------------------------------------------------------------------------------+
|      

G        | 

Symbol has file scope.                                                                                  |
+-----------------+-----------------------------------------------------------------------------------------------------------+
| 

F <Filename>  | 

Symbol has file scope.                                                                                  |
+-----------------+-----------------------------------------------------------------------------------------------------------+
| 

L <Function>  | 

Symbol has function scope.                                                                              |
+-----------------+-----------------------------------------------------------------------------------------------------------+
|    

<Name>     | 

Symbol name                                                                                             |
+-----------------+-----------------------------------------------------------------------------------------------------------+
|   

<Level>     | 

Symbol level                                                                                            |
+-----------------+-----------------------------------------------------------------------------------------------------------+
|   

<Block>     | 

Symbol block                                                                                            |
+-----------------+-----------------------------------------------------------------------------------------------------------+
|  

<Address>    | 

Symbol end address in hex, relative to the address 
space code contained in the matching symbol record. |
+-----------------+-----------------------------------------------------------------------------------------------------------+


Purpose

The Linker Symbol end address record is primarily used 
to indicate the Ending address of functions. This is 
because function records do not contain a size value, 
as symbol records do.

Example

L:XG$sysClearError$0$0:194
L:XG$SioISR$0$0:A09

4.10 Linker ASM Line Record

  <L> <:> <A>
<$><Filename>
<$><Line>
<:><EndAddress>

+----------------+--------------------------------------------------------------------------+
|      

L       | 

Link record type indicator                                             |
+----------------+--------------------------------------------------------------------------+
|      

A       | 

Link assembly file line record sub type indicator                      |
+----------------+--------------------------------------------------------------------------+
| 

<Filename>   | 

Filename of the assembly file.                                         |
+----------------+--------------------------------------------------------------------------+
|   

<Line>     | 

Line number in the above filename.{}These numbers start 
at 1 (not 0). |
+----------------+--------------------------------------------------------------------------+
| 

<EndAdress>  | 

End address                                                            |
+----------------+--------------------------------------------------------------------------+


Purpose

The linker Asm Line record is used to bind the 
execution address with a source file and line number.

Example

L:A$TinyBuffer$2320:A13
L:A$max1270$391:CA4

4.11 Linker C-Line Record

  <L> <:> <C>
<$><Filename>
<$><Line>
<$><Level>
<$><Block>

  <:><EndAddress>

+-----------------+-------------------------------------------------------------------------+

⌨️ 快捷键说明

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