This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Keil Target Options Settings for EZ-USB FX2(128pin)

Hi,

Some background information first. With regards to EZ-USB FX2(128pin), I am limited to using external parallel memory to store my program due to requirements. As such, I need to use EA=1 mode (as opposed to using the "normal" EA=0 mode with serial EEPROM).

On my board, I am pulling EZ-USB CS# to PROM CE#, EZ-USB OE# to PROM OE# (the respective address and data lines are connected too). The PROM I am using is AT27LV512A.

When compiling the HEX code, one of the settings I have tried for Target Options is as below but it dosen't seem to work. When plugged into a USB host, it is not able to detect the USB device and only shows up as an unknown device.

Off Chip Code Memory
EPROM start : 0x0000, 0x3D00 size

Off Chip Xdata Memory
RAM start : 0xE000, 0x0200 size
RAM start : 0xE400, 0x1C00 size

Anyone has any clue whether the settings are correct? Or is there some other implementation that I have to make?

Rgds

Parents
  • Use On-Chip XRAM: unchecked <--- checked

    But I don't think this is the major reason of the problem.

    What is the actual CPU clock (SYSCLK)?
    The crystal frequency doesn't directly show the SYSCLK, because of PLL.
    CPU clock is set by the firmware as follows.

    bulkloop.c
    
    void TD_Init(void)    // Called once at startup
    {
       // set the CPU clock to 48 MHz
       CPUCS = ((CPUCS & ~bmCLKSPD) | bmCLKSPD1);
    

    As I said in above post, AT27LV512A works well for 12MHz and 24MHz CPU clock, but not for 48MHz.

    For 48MHz operation, you need faster PROM.
    tACC - Address to Output Delay: < 53ns (AT27LV512A: 90ns max)
    tOE - OE/VPP to Output Delay: < 35ns (AT27LV512A: 50ns max)

    Tsuneo

Reply
  • Use On-Chip XRAM: unchecked <--- checked

    But I don't think this is the major reason of the problem.

    What is the actual CPU clock (SYSCLK)?
    The crystal frequency doesn't directly show the SYSCLK, because of PLL.
    CPU clock is set by the firmware as follows.

    bulkloop.c
    
    void TD_Init(void)    // Called once at startup
    {
       // set the CPU clock to 48 MHz
       CPUCS = ((CPUCS & ~bmCLKSPD) | bmCLKSPD1);
    

    As I said in above post, AT27LV512A works well for 12MHz and 24MHz CPU clock, but not for 48MHz.

    For 48MHz operation, you need faster PROM.
    tACC - Address to Output Delay: < 53ns (AT27LV512A: 90ns max)
    tOE - OE/VPP to Output Delay: < 35ns (AT27LV512A: 50ns max)

    Tsuneo

Children
No data