﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>IT博客-embedder</title><link>http://www.cnitblog.com/embedder/</link><description /><language>zh-cn</language><lastBuildDate>Wed, 29 Apr 2026 08:41:50 GMT</lastBuildDate><pubDate>Wed, 29 Apr 2026 08:41:50 GMT</pubDate><ttl>60</ttl><item><title>CPU频率的设定</title><link>http://www.cnitblog.com/embedder/archive/2006/09/28/17441.html</link><dc:creator>embedder</dc:creator><author>embedder</author><pubDate>Thu, 28 Sep 2006 06:54:00 GMT</pubDate><guid>http://www.cnitblog.com/embedder/archive/2006/09/28/17441.html</guid><wfw:comment>http://www.cnitblog.com/embedder/comments/17441.html</wfw:comment><comments>http://www.cnitblog.com/embedder/archive/2006/09/28/17441.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/embedder/comments/commentRss/17441.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/embedder/services/trackbacks/17441.html</trackback:ping><description><![CDATA[xlli_setClocks  FUNCTION<br />;<br />;       This code segment gets the platform hex switch settings and loads the appropriate N and L values into<br />;       the CCCR register. Switch register Bits 15:11 and 7 are ignored by this code.<br />;<br />        ldr    r1,  =xlli_PLATFORM_REGISTERS             ; Get platform register base address<br />        ldr    r2,  [r1, #xlli_PLATFORM_SWITCH_offset]   ; Load platform switch settings into r2<br />        and    r3,  r2, #0x7F                            ; Get both HEX rotary values<br />        mov    r3,  r3, LSL #2                           ; Multiply by 4 to get word offset<br />        add    r1,  pc, #xlli_CLK_DATA - (.+8)           ; Load address of CLK_DATA into r1<br />        add    r1,  r1,  r3                              ; Point to address that contains the CCCR data to be loaded<br />        ldr    r5,  [r1]                                 ; load CCCR value into r5<br />        ands   r3,  r2,  #0x80                           ; Is bit 7 set (to set the CCCR A bit)? - This is why we only<br />                                                         ;  need a table that goes through 7F (they're the same above it)<br />        orrne  r5,  r5,  #0x2000000                      ; YES - set the A bit<br />这一段摘自xlli_lowlev_init.s，用于设定频率，现在用的这个文件不是从Mainstone或Armland中复制过来的，与它们之间都有不同，不知道当初用的是哪的文件。从上面前几行可以知道开发板上有跳线类的东西用来设频率，但是我们的板子上没有，所以会取不到这个值，最终频率就设成13MHz，并且在汇编中没再改变过。这个Armland的板子上在xlli_setClocks里自己另设了一个值放进去，以上的行全部被注释掉。<img src ="http://www.cnitblog.com/embedder/aggbug/17441.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/embedder/" target="_blank">embedder</a> 2006-09-28 14:54 <a href="http://www.cnitblog.com/embedder/archive/2006/09/28/17441.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>在MSC0中设定Flash</title><link>http://www.cnitblog.com/embedder/archive/2006/09/27/17397.html</link><dc:creator>embedder</dc:creator><author>embedder</author><pubDate>Wed, 27 Sep 2006 08:56:00 GMT</pubDate><guid>http://www.cnitblog.com/embedder/archive/2006/09/27/17397.html</guid><wfw:comment>http://www.cnitblog.com/embedder/comments/17397.html</wfw:comment><comments>http://www.cnitblog.com/embedder/archive/2006/09/27/17397.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/embedder/comments/commentRss/17397.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/embedder/services/trackbacks/17397.html</trackback:ping><description><![CDATA[
		<p>
				<img height="800" alt="o_msc0.JPG" src="http://www.cnitblog.com/images/cnitblog_com/embedder/3906/o_msc0.JPG" width="650" border="0" />
				<br />
				<img id="img_preview" height="800" src="http://www.cnitblog.com/images/cnitblog_com/embedder/3906/o_flash1.JPG" width="650" />
				<br />
		</p>
		<img height="800" alt="o_flash2.JPG" src="http://www.cnitblog.com/images/cnitblog_com/embedder/3906/o_flash2.JPG" width="650" border="0" />
		<br />
		<img height="800" alt="o_flash3.JPG" src="http://www.cnitblog.com/images/cnitblog_com/embedder/3906/o_flash3.JPG" width="650" border="0" />
		<br />
		<img height="350" alt="o_flash4.JPG" src="http://www.cnitblog.com/images/cnitblog_com/embedder/3906/o_flash4.JPG" width="650" border="0" />
		<br />
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">以下运算单位为</span>
				<span lang="EN-US">MemClk</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，以</span>
				<span lang="EN-US">104MHz</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">为例。</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">RDF</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">值运算：</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这个值算出来是正确的。</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">
						<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /?>
						<o:p> </o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">RRR</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">：</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">Developer's Manual</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中说</span>
				<span lang="EN-US">RRR</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">由三个值的最大值决定：</span>
				<span lang="EN-US">tOFF/2</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">、</span>
				<span lang="EN-US">Write pulse high time</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和</span>
				<span lang="EN-US">Write recovery before read</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，后两个在</span>
				<span lang="EN-US">J3 Datesheet</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中可以看到。</span>
				<span lang="EN-US">Write pulse width high=30ns</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，</span>
				<span lang="EN-US">Write recovery before read=35ns</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，</span>
				<span lang="EN-US">tOFF</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">不知道是什么，找不到。在</span>
				<span lang="EN-US">Intel StrataFlash Memory(J3) to Intel PXA270 Applications Processor Design Guide</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">（</span>
				<span lang="EN-US">301901</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">）（以下简称</span>
				<span lang="EN-US">Design Guide</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">）</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align="left">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中，</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt; mso-fareast-font-family: TimesNewRomanPSMT; mso-font-kerning: 0pt">RRR0 (MSC0[14:12]) = 0b001 (Read recovery: 1 * 2 + 1 = 3 CLK_MEMs)</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: TimesNewRomanPSMT; mso-font-kerning: 0pt; mso-bidi-font-family: TimesNewRomanPSMT">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，这与</span>
				<span lang="EN-US">Manual</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中不同，否则应该有</span>
				<span lang="EN-US">RRR&gt;=35ns/10ns</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，但这样算与</span>
				<span lang="EN-US">Design guide</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中的不同。且在</span>
				<span lang="EN-US">DesignGuide</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中可以看到，是由</span>
				<span lang="EN-US">nCS0</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">为高电平的时间来决定</span>
				<span lang="EN-US">RRR</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的，</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">但这个值在</span>
				<span lang="EN-US">Datasheet</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中并没有体现出来，就算是以</span>
				<span lang="EN-US">Addr to Data Valid</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">时间来算也至少应该是</span>
				<span lang="EN-US">3</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，而不是</span>
				<span lang="EN-US">Design Guide</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中的</span>
				<span lang="EN-US">1</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">
						<o:p> </o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">RDN</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">：</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">Developer’s Manual</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中提到的有两个：</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align="left">
				<span lang="EN-US" style="mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">For burst ROM or flash memory:<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align="left">
				<span lang="EN-US" style="mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">• RDNx + 1 = number of MEM_CLKs from Address to Data Valid for<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align="left">
				<span lang="EN-US" style="mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">subsequent access.<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align="left">
				<span lang="EN-US" style="mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">For flash memory or SRAM:<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align="left">
				<span lang="EN-US" style="mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">• RDNx + 1 = number of CLK_MEMs nWE is asserted for write<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align="left">
				<span lang="EN-US" style="mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">accesses<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">number of CLK_MEMs nWE is asserted for write</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">在</span>
				<span lang="EN-US" style="mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">Datasheet</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">中有提到，为</span>
				<span lang="EN-US" style="mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">W3</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">＝</span>
				<span lang="EN-US" style="mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">70ns</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">。</span>
				<span lang="EN-US" style="mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">Address to Data Valid</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">我的理解是从地址有效到数据有效时的时间，这样对应到波形图中应该是</span>
				<span lang="EN-US" style="mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">R15</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">＝</span>
				<span lang="EN-US" style="mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">25ns</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">，以这个值算的话与</span>
				<span lang="EN-US" style="mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">DesignGuide</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">是差不多的，但</span>
				<span lang="EN-US" style="mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">Design Guide</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">中则指的是</span>
				<span lang="EN-US" style="mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">Page mode read</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">中</span>
				<span lang="EN-US" style="mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">Addr</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">持续时间，这个时间同样在</span>
				<span lang="EN-US" style="mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">Datasheet</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">中没有定义。</span>
				<span lang="EN-US" style="mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">相关文件：</span>
				<span lang="EN-US" style="mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="FONT-FAMILY: Arial">AP-769 Intel StrataFlash(R) Memory (J3) to Intel(R) PXA270 Applications Processor Design Guide<span style="mso-spacerun: yes">     </span></span>
				<span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">30190101.pdf<o:p></o:p></span>
		</p>
<img src ="http://www.cnitblog.com/embedder/aggbug/17397.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/embedder/" target="_blank">embedder</a> 2006-09-27 16:56 <a href="http://www.cnitblog.com/embedder/archive/2006/09/27/17397.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>8.27</title><link>http://www.cnitblog.com/embedder/archive/2006/08/27/16055.html</link><dc:creator>embedder</dc:creator><author>embedder</author><pubDate>Sun, 27 Aug 2006 13:27:00 GMT</pubDate><guid>http://www.cnitblog.com/embedder/archive/2006/08/27/16055.html</guid><wfw:comment>http://www.cnitblog.com/embedder/comments/16055.html</wfw:comment><comments>http://www.cnitblog.com/embedder/archive/2006/08/27/16055.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnitblog.com/embedder/comments/commentRss/16055.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/embedder/services/trackbacks/16055.html</trackback:ping><description><![CDATA[
		<p>SDRAM地址：<br />电路中所用的芯片对应到PXA27x design guide.pdf第78/79页的表格（SDRAM Memory Types Supported by PXA27x Processor和Address signal mapping）中可以看到，所用的配置为16M*16，2Banks*13Rows*9Cols，32-bit bus，只有一个partition，由于CS接的是nSDCS0，所以所属的partition为partition0，对应到Memory Map中可以知道地址范围从A000,0000到A3FF,FFFF。电路图中的E2脚是没用的，但实际上仍接了电阻并接到nSDCS1上，远峰板没接。</p>
		<p>Flash地址：<br />由于Flash芯片上所接片选信号为nCS0，所以对应为Static Chip Select 0，且只有一个Static Chip Select区，起始地址为0x0000,0000，从图中的Data bus接法（两片芯片分别接32-bit databus的高16和低16位）和Addr bus接法（芯片上的A1接CPU上的A2）都可以看出是32-bit bus，芯片容量为32M，所以地址范围为0x0000,0000到0x01FF,FFFF。电路中的WP脚在E28F128中没有说明，见Datasheet16页，但电路上有接，应该不起作用，查看远峰板也没接，所用芯片与我们一样。</p>
		<p>OEMAddrTable里有这么两句：<br />DCD     0x80000000, 0xA0000000, 64      ; MAINSTONEII: SDRAM (64MB).<br />DCD     0x9C900000, 0x00000000, 32      ; MAINSTONEII: nCS0: Boot Flash (32MB).</p>
		<p>比照Config.bib：<br />IF IMGFLASH<br />    RSVD     80000000  000FF000  RESERVED;RAM从8000,0000开始，物理地址为A000,0000<br />    ARGS     800FF000  00001000  RESERVED<br />    NK       9CA00000  03000000  RAMIMAGE;前面留了1M为Bootloader用，所以Flash起始物理地址为0000,0000<br />    RAM      80100000  03F00000  RAM;RAM范围为64M<br />    <br />这里有个问题，RAMIMAGE的大小为48M，但实际容量为32M，这个目前不知道为什么</p>
<img src ="http://www.cnitblog.com/embedder/aggbug/16055.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/embedder/" target="_blank">embedder</a> 2006-08-27 21:27 <a href="http://www.cnitblog.com/embedder/archive/2006/08/27/16055.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>8.24</title><link>http://www.cnitblog.com/embedder/archive/2006/08/24/15899.html</link><dc:creator>embedder</dc:creator><author>embedder</author><pubDate>Thu, 24 Aug 2006 14:25:00 GMT</pubDate><guid>http://www.cnitblog.com/embedder/archive/2006/08/24/15899.html</guid><wfw:comment>http://www.cnitblog.com/embedder/comments/15899.html</wfw:comment><comments>http://www.cnitblog.com/embedder/archive/2006/08/24/15899.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnitblog.com/embedder/comments/commentRss/15899.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/embedder/services/trackbacks/15899.html</trackback:ping><description><![CDATA[今天主要看Ｄｅｖｅｌｏｐｅｒ＇ｓ　ｍａｎｕａｌ里的Ｍｅｍｏｒｙ　ｃｏｎｔｒｏｌｌｅｒ和Ｍｅｍｏｒｙ　ｍａｐ两部分，了解了ＳＤＲＡＭ和Ｆｌａｓｈ的地址范围。Ｍｅｍｏｒｙ　ｃｏｎｔｒｏｌｌｅｒ部分主要看了与ＳＤＲＡＭ有关的部分，包括与ＳＤＲＡＭ连接的Ｉｎｔｅｒｆａｃｅ，大概了解了它的工作方式，但还不确定，要再看一下ＳＤＲＡＭ的Ｄａｔａｓｈｅｅｔ，以及相关的命令。将今天看的与ｃｏｎｆｉｇ．ｂｉｂ比较会发现，物理地址的８０００，００００是保留的，不存在任何设备或者寄存器，因此这应该是一个虚拟地址，Ｗｉｎｃｅ的虚拟地址部分还没看过，不是很清楚<img src ="http://www.cnitblog.com/embedder/aggbug/15899.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/embedder/" target="_blank">embedder</a> 2006-08-24 22:25 <a href="http://www.cnitblog.com/embedder/archive/2006/08/24/15899.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>移植eboot</title><link>http://www.cnitblog.com/embedder/archive/2006/08/21/15669.html</link><dc:creator>embedder</dc:creator><author>embedder</author><pubDate>Mon, 21 Aug 2006 13:08:00 GMT</pubDate><guid>http://www.cnitblog.com/embedder/archive/2006/08/21/15669.html</guid><wfw:comment>http://www.cnitblog.com/embedder/comments/15669.html</wfw:comment><comments>http://www.cnitblog.com/embedder/archive/2006/08/21/15669.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.cnitblog.com/embedder/comments/commentRss/15669.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/embedder/services/trackbacks/15669.html</trackback:ping><description><![CDATA[
		<p>注意事项<br />xllp_lcd.h，在D:\Source_Code\WINCE500\PUBLIC\COMMON\OAK\CSP\ARM\INTEL\PXA27X\XLLP\INC下的该文件没有以下几行，而Armland自己多加了，这几行的内容很明显应该要我们自己加的，自己新建一个专属目录放新添的头文件还是其它？我看每个BSP底下都有src/inc文件夹，这应该是用来放只属于自己板子的信息，那么我们可以将Mailstone的文件夹复制过来，像以下的这些多加的部分就加到里面的比如mainstoneii.h，如果自己建新文件的话可能会很麻烦，因为会需要在很多源文件下添加include。<br />#define  SHARP57    7<br />// Sharp 800x600 12.1 display<br />#define  SHARP121   8<br />#define  VGA800X600  9<br />#define  VGA640X480  10<br />#define SHARP57_PIXEL_CLOCK_FREQUENCY     910   // 9.10 MHz<br />#define SHARP121_PIXEL_CLOCK_FREQUENCY    3168<br />#define VGA640X480_PIXEL_CLOCK_FREQUENCY    2500   //VGA 640*480  <br />#define VGA800X600_PIXEL_CLOCK_FREQUENCY    5000   //VGA 800*600   </p>
		<p>目前由于编译main文件出错，暂时在其中添加了#define  SHARP57    7一行。</p>
		<p> </p>
		<p>
				<br />操作及结果<br />建一些Dirs文件,复制eboot源码到相应位置，sources文件用mainstone的，在arm_xmu下放一个sources.cmn，也是mainstone的</p>
		<p>set _WINCEROOT=d:\Source_Code\WINCE500</p>
		<p>cd %_WINCEROOT%\public\common\oak\misc</p>
		<p>set _TGTPROJ=arm_xmu_eboot</p>
		<p>set _PROJECTROOT=%_WINCEROOT%\PBWorkspaces\%_TGTPROJ%\WINCE500\arm_xmu_ARMV4I</p>
		<p>wince ARMV4I arm_xmu_eboot arm_xmu</p>
		<p>create a cesysgen.bat in D:\Source_Code\WINCE500\PBWorkspaces\arm_xmu_eboot\wince500\arm_xmu_ARMV4I\oak\misc\, use that one in armland，sysgen required this</p>
		<p>sysgen<br />**********************************************************************<br />sysgen在%_PROJECTROOT%里产生了一些文件，主要一个是cesysgen文件夹，内含oak/ddk/sdk三个文件夹，此过程是必要的，不然会有很多头文件找不到，看显示似乎有些地方仍有问题，现在还不确定<br />**********************************************************************<br />D:\Source_Code\WINCE500&gt;sysgen<br />Starting sysgen phase for project ( common )</p>
		<p>
				<br />User selected the following SYSGEN variables<br />环境变量 SYSGEN 没有定义</p>
		<p>
				<br />Checking for uncleared variables<br />Done checking for uncleared variables</p>
		<p>Report:<br />环境变量 SYSGEN 没有定义<br />系统找不到指定的路径。<br />CE_MODULES=coredll nk<br />COREDLL_COMPONENTS=coremain lmem showerr thunks corecrt corestrw snotify coregwe<br />stub coreimmstub locmini multiui nostrsafe<br />NK_COMPONENTS= nknocomp nknomapfile<br />环境变量 SYSGEN_ 没有定义<br />**************************************************************************</p>
		<p>在D:\Source_Code\WINCE500\PLATFORM\Common下build -c，生成编译eboot所需的一些库，放在D:\Source_Code\WINCE500\PLATFORM\Common\lib\下</p>
		<p>复制Mainstoneii/src的common文件夹到arm_xmu/src下，并修改dirs文件，原因是因为这里会生成编译eboot所需的一些库，放在D:\Source_Code\WINCE500\PLATFORM\arm_xmu\lib\下</p>
		<p>build -c<br />**************************************************************************<br />这一步在D:\Source_Code\WINCE500\PLATFORM\arm_xmu\里产生了lib/target两个文件夹和build.dat<br />**************************************************************************</p>
		<p>至此可以生成所需的文件，比如eboot.nb0/eboot.bin/eboot.exe等。<br /></p>
<img src ="http://www.cnitblog.com/embedder/aggbug/15669.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/embedder/" target="_blank">embedder</a> 2006-08-21 21:08 <a href="http://www.cnitblog.com/embedder/archive/2006/08/21/15669.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>6.20</title><link>http://www.cnitblog.com/embedder/archive/2006/06/20/12586.html</link><dc:creator>embedder</dc:creator><author>embedder</author><pubDate>Tue, 20 Jun 2006 14:15:00 GMT</pubDate><guid>http://www.cnitblog.com/embedder/archive/2006/06/20/12586.html</guid><wfw:comment>http://www.cnitblog.com/embedder/comments/12586.html</wfw:comment><comments>http://www.cnitblog.com/embedder/archive/2006/06/20/12586.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/embedder/comments/commentRss/12586.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/embedder/services/trackbacks/12586.html</trackback:ping><description><![CDATA[By default, Romimage.exe does not include the profiler structure and symbols in the run-time image. 什么是profiler structure?查看*.map后觉得这应该是调试用的一些信息，相当于gcc -g，具体看*.map的内容。see PROFILE
sources里某些选项的作用？搜索相关字就可以找到，sources里的一切应该都是一些环境变量，提供给通用的Makefile.def生成自己的Makefile，然后编译出自己的文件。这样说来在整个过程中每次编译一个模块都应该会调用batch的setlocal命令来添加局部变量，以便退出后自动取消，自己猜的，不是很确定
config.bib的３７～５３行分了是否烧Flash的情况，可以看到当有烧时ＲＡＭ的空间大了，这应该是说有烧时系统就直接在Flash下跑，而所有可以改写的变量等在运行时放到ＲＡＭ中，具体放到哪呢？The RAM entry tells the ROM Image Tool (Romimage.exe) to place any executables, modules, data files, and compressed sections in this region. 详见MEMORY Section中的RAMIMAGE。When Romimage executes, all noncompressed executable code is fixed up to run at a virtual address in slot 0, which is an address space created by the kernel, while the actual code is located in the region specified in the RAM entry.In the MEMORY section, you can also specify a memory region that is not filled with run-time image data. This memory region uses the memory name RESERVE and specifies no memory type name. useful for implementing OEM diagnostics
似乎所有的bib文件到最后会合成一个ce.bib，里面包含所有的文件，%MYPROJECT%\RelDir\ARMLand_ARMV4I_Debug\下的bib可以看到ce.bib差不多是其它文件大小的总和，但是这文件怎么生成？
The following process describes the flow of control with BLCOMMON infrastructure: 
１、During the hardware platform boot process, the startup code in the OEM adaptation layer (OAL) calls the hardware platform-independent BootloaderMain function. 
２、BootloaderMain initializes the hardware platform, chooses the download transport, and then initializes the download transport by calling a set of control flow functions. 
３、The boot loader starts downloading the image to the target device using a set of download and flash functions. During the download process, the boot loader might implement functions to show download progress. 
４、When the download is complete, the boot loader boots the OS by calling the OEMLaunch function, which jumps to the OS entry point. 
BL中需要实现的程序一般在HELP中会有举例，比如：搜索Implementing the OEMLaunch Function可以找到OEMLaunch的实现。<img src ="http://www.cnitblog.com/embedder/aggbug/12586.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/embedder/" target="_blank">embedder</a> 2006-06-20 22:15 <a href="http://www.cnitblog.com/embedder/archive/2006/06/20/12586.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>PB中的一些文件和命令</title><link>http://www.cnitblog.com/embedder/archive/2006/06/17/12439.html</link><dc:creator>embedder</dc:creator><author>embedder</author><pubDate>Sat, 17 Jun 2006 15:21:00 GMT</pubDate><guid>http://www.cnitblog.com/embedder/archive/2006/06/17/12439.html</guid><wfw:comment>http://www.cnitblog.com/embedder/comments/12439.html</wfw:comment><comments>http://www.cnitblog.com/embedder/archive/2006/06/17/12439.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/embedder/comments/commentRss/12439.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/embedder/services/trackbacks/12439.html</trackback:ping><description><![CDATA[sources
file:提供给build.exe编译和链接所需的信息。Sources.cmn可有可没有，它对它所在的文件夹及子文件夹都有效，提供共用的宏定义。
After Build.exe parses the sources file, Nmake.exe incorporates the
sources file into the common makefile file, Makefile.def. Build.exe
follows only the macro assignments and ignores other lines, such as
conditional Nmake.exe statements. Conditional statements in sources
files are not supported.<br /><br />
Dirs File：告诉build.exe哪些文件夹需要编译<br /><br />
Build
Tool：build.exe先分析是否有dirs文件，有则遍历文件夹直到找到sources文件，然后调用nmake.exe编译、链接源代码生成目
标文件，再由build.exe生成最终的文件（.exe/.dll/.lib），生成文件放置的目录及命令参数等见Build Tool<br /><br />
Sysgen Tool<br /><br />
Nmake Tool：类似Ｌｉｎｕｘ下的make。它本身并不执行真正的编译过程，而是调用.mak文件中的命令来完成。但我找不到.mak，应该是makefile/makefile.def。<br /><br />
Makefile File：<br /><br />
Windows CE Build Environment Tool：wince.bat，命令格式：wince [-h] [_TGTCPU]
[_TGTPROJ] [_TGTPLAT]
[PRIVATE_OPTIONS]，由此可见要先输入目标CPU/PROJ/PLAT，另外运行前要先设置变量：_WINCEROOT、
_FLATRELEASEDIR、_PROJECTROOT，[_TGTCPU] [_TGTPROJ]
[_TGTPLAT]这三个可以运行命令时指定，应该也可以事先设置。<br /><br />
bif文件：<br /><br />
Environment Variables：<img src ="http://www.cnitblog.com/embedder/aggbug/12439.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/embedder/" target="_blank">embedder</a> 2006-06-17 23:21 <a href="http://www.cnitblog.com/embedder/archive/2006/06/17/12439.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>编译eboot.nb0的问题</title><link>http://www.cnitblog.com/embedder/archive/2006/06/12/12138.html</link><dc:creator>embedder</dc:creator><author>embedder</author><pubDate>Mon, 12 Jun 2006 14:46:00 GMT</pubDate><guid>http://www.cnitblog.com/embedder/archive/2006/06/12/12138.html</guid><wfw:comment>http://www.cnitblog.com/embedder/comments/12138.html</wfw:comment><comments>http://www.cnitblog.com/embedder/archive/2006/06/12/12138.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnitblog.com/embedder/comments/commentRss/12138.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/embedder/services/trackbacks/12138.html</trackback:ping><description><![CDATA[
		<p>今天主要是看ＰＢ中关于Ｅｂｏｏｔ的资料，据介绍生成eboot.bin的方法是：<br />At the command prompt, type the following command to enable the built features to be copied to the %_FLATRELEASEDIR% directory. </p>
		<p>Set WINCEREL=1<br />Modify
the binary image builder file (.bib), Boot.bib, located in the
%_WINCEROOT%\Platform\&lt;Hardware Platform Name&gt;\Src\BootLoader
directory, to match your run-time image. </p>
		<p>Boot.bib is a text
file that specifies the size and location of the memory on the target
device where you store the boot loader. For more information, see Boot
Loader Image Builder File. <br />At the command prompt, type the following command. </p>
		<p>cd %_TGTPLATROOT%\Eboot<br />Type the following command to build Eboot.bin or Boot.bin. </p>
		<p>Build -cfs<br /><br />由
于最早的时候有建过一个Ｐｌａｔｆｏｒｍ并编译通过，因此我直接在platform\armland下相应文件夹里照着做，但结果会有错，没有什么有用的
错误信息，可能是有些环境变量没设好，不知道怎么设才会全，我试过用wince.bat/myproject1.bat或者直接在ＰＢ中开命令行都不行。<br />生成eboot.nb0倒是可以，执行命令：<br />G:\WINCE500\PLATFORM\Armland\Src\Bootloader\Eboot&gt;romimage　$(ROMIMAGE_FLAGS) eboot.bib<br />这样可以编译通过，这句话是查看makefile.inc看到的，在ＰＢ中开命令行运行就可以通过。由此想到eboot.bin应该也可以看makefile来编译，今天先放着了。<br /><font color="blue">今天可以编译了,先在PB里打开命令行,这时已经设好环境变量了,<font color="red">这里的环境变量是根据什么文件设的不清楚,有几个bat文件,不过不确定,得先看一下bat的语法.</font>执行build -c,昨天的命令后面的-cfs是无效的,这样的话就可以生成所需的文件,包括eboot.nb0,eboot.bin等等.</font><br />另
外照我这种方法的话，应该整个过程都是在命令行下执行，那如何在ＰＢ中建一个工程来生成文件呢？ＰＢ中有建project的选项，不过这个的用处应该是生
成后是要放到nk.bin中运行的。正常情况下如何生成eboot.nb0呢？就是在build and
sysgen过程生成，还是有时候有必要单独生成？单独生成的一般方法是什么？命令行或者建工程？</p>
		<font color="blue">看资料eboot可以通过命令行和IDE方式建立,不过都不是通过建工程来建立的</font>
		<br />
		<br />
现在打算自己复制mainstone的ＢＳＰ中的eboot自己照着改一遍，加深印象。eboot的文件是根据mainstone的ＢＳＰ改编的&gt;，程序改了一点，编译的过程改了一点，今天没看完，也有些问题，先记下来。<br />
source里某些选项的作用？<br />
eboot.bib里ROMOFFSET=1C8C0000不同，这个做什么用？下面这句话不知道怎么理解,The bootloader is
fixed up to run from RAM, but is stored in flash.  ROMOFFSET
adjusts the .bin file record headers to that they lie in flash (this
tells the bootloader already on the device to store the image in flash).<br />
makefile怎么工作？文件中生成nk.bin只用了romimage $(ROMIMAGE_FLAGS) eboot.bib一个命令，它应该还调用其它东西编&gt;译程序才生成文件，如何做到的？<br /><img src ="http://www.cnitblog.com/embedder/aggbug/12138.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/embedder/" target="_blank">embedder</a> 2006-06-12 22:46 <a href="http://www.cnitblog.com/embedder/archive/2006/06/12/12138.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>