|
发表于 2009-12-8 21:38:30
|
显示全部楼层
接243楼:
根据这个appnote: http://www.cypress.com/?docID=17771 (Guide to Boot EZ-USB from External Parallel Memory - AN55037)
它上面说:
1, The code memory for this mode must be in the
external parallel memory. If the EA input pin is set to
logic high on power-on-reset, the memory map of
EZ-USB is modified such that the entire external
64 KB memory is mapped as code space and the
complete internal memory (main RAM) is used as
data space.
Note: Setting EA=1 puts EZ-USB in a Harvard
Architecture configuration as compared to the other
Von Neumann Architecture configurations of EZ-USB.
2, EZ-USB tries to boot from the serial EEPROM on the
I2C bus first. It checks for 0xC0 and 0xC2 as first
bytes to see which boot method to use. To avoid a
serial EEPROM boot load, there should be no serial
EEPROM on the I2C bus. If an external serial
EEPROM is connected, the first byte must not have
the values 0xC0 or 0xC2.
主要看2后面的字,他说无论如何也要先进行EEPROM boot load
同时TRM里面也说了如果EA=1的时候EEPROM要么没有,要么不能包含
0xc0/0xc2的首字节。
我们总不能改EEPROM的首字节吧?那样不failsafe,所以如果真是不能
克服的话,只能改EEPROM的地址了。
谁有装了外部程序存储器的128脚68013的板子,试试到底会怎么样?
我觉得最有可能是进行EEPROM boot load,加载内部RAM,然后释放CPU
后从外部RAM/ROM开始执行。如果这样除了费点时间外倒是没啥问题。
但是我怕它真就从内部RAM启动了……或者更诡异的行为,我上网查,
没有什么结果。 |
|