最新免费av在线观看,亚洲综合一区成人在线,中文字幕精品无码一区二区三区,中文人妻av高清一区二区,中文字幕乱偷无码av先锋

登錄 免費(fèi)注冊 首頁 | 行業(yè)黑名單 | 幫助
維庫電子市場網(wǎng)
技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng)
驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe

51片上flash的問題

作者:xwj 欄目:單片機(jī)
C語言1行可以編譯成1字節(jié),也可以編譯成幾百字節(jié)
關(guān)鍵還是看你怎么寫

2樓: >>參與討論
hunao
先搞個HEX2BIN 再看看大小
 
3樓: >>參與討論
paulsimons
具體怎么理解?
hex和bin的大小有區(qū)別么?

4樓: >>參與討論
computer00
建議看看hex文件的存儲格式。
一個字節(jié)的數(shù)據(jù),用文本來表示時,至少需要兩字節(jié),另外再加上地址以及其他信息,所以HEX文件是二進(jìn)制文件大小的兩倍還多。


QUESTION
What is the INTEL.html">INTEL HEX file format?
ANSWER
The INTEL.html">INTEL HEX file is an ASCII text file with LINEs of text that follow the
INTEL.html">INTEL HEX file format. Each LINE in an INTEL.html">INTEL HEX file contains one HEX record.
These records are made up of hexadecimal NUMBERs that represent machine
language code and/or constant data. INTEL.html">INTEL HEX files are often used to transfer
the program and data that would be stored in a ROM or EPROM. Most EPROM
programmers or emulators can use INTEL.html">INTEL HEX files.
Record Format
An INTEL.html">INTEL HEX file is composed of any NUMBER of HEX records. Each record is made
up of five fields that are arranged in the following format:
:llAAAAtt[dd...]cc
Each GROUP of letters corresponds to a different field, and each letter
represents a SINGLE hexadecimal digit. Each field is composed of at least two
hexadecimal digits-which make up a byte-as described below:
: is the colon that starts every INTEL.html">INTEL HEX record.
ll is the record-length field that represents the NUMBER of data bytes (dd) in
the record.
AAAA is the address field that represents the starting address for subsequent
data in the record.
tt is the field that represents the HEX record type, which may be one of the
following:
00 - data record
01 - end-of-file record
02 - extended segment address record
04 - extended LINEar address record
dd is a data field that represents one byte of data. A record may have multiple
data bytes. The NUMBER of data bytes in the record must match the NUMBER
specified by the ll field.
cc is the CHECKSUM field that represents the CHECKSUM of the record. The
CHECKSUM is calculated by summing the VALUEs of all hexadecimal digit pairs in
the record modulo 256 and taking the two's complement.
Data Records
The INTEL.html">INTEL HEX file is made up of any NUMBER of data records that are terminated
with a carriage return and a LINEfeed. Data records appear as follows:
:10246200464C5549442050524F46494C4500464C33
where:
10 is the NUMBER of data bytes in the record.
2462 is the address where the data are to be located in MEMORY.
00 is the record type 00 (a data record).
464C...464C is the data.
33 is the CHECKSUM of the record.
Extended LINEAR Address Records (HEX386)
Extended LINEar address records are also known as 32-bit address records and
HEX386 records. These records contain the upper 16 bits (bits 16-31) of the
data address. The extended LINEar address record always has two data bytes and
appears as follows:
:02000004FFFFFC
where:
02 is the NUMBER of data bytes in the record.
0000 is the address field. For the extended LINEar address record, this field
is always 0000.
04 is the record type 04 (an extended LINEar address record).
FFFF is the upper 16 bits of the address.
FC is the CHECKSUM of the record and is calculated as
01h + NOT(02h + 00h + 00h + 04h + FFh + FFh).
When an extended LINEar address record is read, the extended LINEar address
stored in the data field is saved and is applied to subsequent records read
from the INTEL.html">INTEL HEX file. The LINEar address remains effective until changed by
another extended address record.
The absolute-MEMORY address of a data record is obtained by adding the address
field in the record to the shifted address data from the extended LINEar
address record. The following example illustrates this PROCESS..
Address from the data record's address field      2462
Extended LINEar address record data field     FFFF
                                              --------
Absolute-MEMORY address                       FFFF2462
Extended Segment Address Records (HEX86)
Extended segment address records-also known as HEX86 records-contain bits 4-19
of the data address segment. The extended segment address record always has two
data bytes and appears as follows:
:020000021200EA
where:
02 is the NUMBER of data bytes in the record.
0000 is the address field. For the extended segment address record, this field
is always 0000.
02 is the record type 02 (an extended segment address record).
1200 is the segment of the address.
EA is the CHECKSUM of the record and is calculated as
01h + NOT(02h + 00h + 00h + 02h + 12h + 00h).
When an extended segment address record is read, the extended segment address
stored in the data field is saved and is applied to subsequent records read
from the INTEL.html">INTEL HEX file. The segment address remains effective until changed by
another extended address record.
The absolute-MEMORY address of a data record is obtained by adding the address
field in the record to the shifted-address data from the extended segment
address record. The following example illustrates this PROCESS.
Address from the data record's address field     2462
Extended segment address record data field      1200
                                             --------
Absolute MEMORY address                      00014462
End-of-File (EOF) Records
An INTEL.html">INTEL HEX file must end with an end-of-file (EOF) record. This record must
have the VALUE 01 in the record type field. An EOF record always appears as
follows:
:00000001FF
where:
00 is the NUMBER of data bytes in the record.
0000 is the address where the data are to be located in MEMORY. The address in
end-of-file records is meaningless and is ignored. An address of 0000h is
typical.
01 is the record type 01 (an end-of-file record).
FF is the CHECKSUM of the record and is calculated as
01h + NOT(00h + 00h + 00h + 01h).
Example INTEL.html">INTEL HEX File
Following is an example of a complete INTEL.html">INTEL HEX file:
:10001300AC12AD13AE10AF1112002F8E0E8F0F2244
:10000300E50B250DF509E50A350CF5081200132259
:03000000020023D8
:0C002300787FE4F6D8FD7581130200031D
:10002F00EFF88DF0A4FFEDC5F0CEA42EFEEC88F016
:04003F00A42EFE22CB
:00000001FF
Hex文件的INTEL格式:這是INTEL.html">INTEL公司提出的按地址排列的數(shù)據(jù)信息,數(shù)據(jù)寬度為字節(jié),所有數(shù)
據(jù)使用16進(jìn)制數(shù)字表示.
這是一個例子:
:10008000AF5F67F0602703E0322CFA92007780C361
:1000900089001C6B7EA7CA9200FE10D2AA00477D81
:0B00A00080FA92006F3600C3A00076CB
:00000001FF
第一行,":"符號表明記錄的開始. 后面的兩個字符表明記錄的長度,這里是10h. 后面的四個字
符給出調(diào)入的地址,這里是0080h. 后面的兩個字符表明記錄的類型;
0 數(shù)據(jù)記錄 1 記錄文件結(jié)束 2 擴(kuò)展段地址記錄 3 開始段地址記錄 4 擴(kuò)展線性地址記錄 5
開始線性地址記錄
后面則是真正的數(shù)據(jù)記錄, 最后兩位是校驗(yàn)和檢查,它加上前面所有的數(shù)據(jù)和為0.
最后一行特殊,總是寫成這個樣子.
擴(kuò)展INTEL.html">INTEL Hex的格式(最大1M): 由于普通的INTEL.html">INTEL的Hex記錄文件只能記錄64K的地址范圍,
所以大于64K的地址數(shù)據(jù)要靠擴(kuò)展INTEL.html">INTEL Hex格式的文件來記錄.對于擴(kuò)展形式Hex文件,在每
一個64K段的開始加上擴(kuò)展的段地址規(guī)定,下面的數(shù)據(jù)地址均在這個段內(nèi),除非出現(xiàn)新的段地址
定義.
一個段地址 定義的格式如下:
起始符 長度 起始地址 擴(kuò)展段標(biāo)示 擴(kuò)展段序號 無用 累加和
: 02 0000 02 3000 EC
段地址的標(biāo)識符是第四組數(shù)據(jù)02,表示擴(kuò)展地址段的定義,再后面的以為HEX數(shù)表示段
5樓: >>參與討論
mcuatmel
不要看文件大小
要看Keil編譯時下面提示的Code段的大小,這才是你的真正要寫到片子中的代碼長度。

參與討論
昵稱:
討論內(nèi)容:
 
 
相關(guān)帖子
哪位朋友能軟件仿真一下這個電路?
尋求gprs開發(fā)兼職人員
求教:HC375第11叫功能,急
using 0 , using 1 .. 到底干嗎用的?
C8051怎么設(shè)置???
免費(fèi)注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入


Copyright © 1998-2006 www.udpf.com.cn 浙ICP證030469號