This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Ethernet boot on dm648

Other Parts Discussed in Thread: TMS320DM648

Hello everyone

I have designed a TMS320DM648 based board.Now I want to boot from network,but I can't receive the BOOTP request packet through the boot port.

The REFCLKP/N is 62.5 MHz on my board,and it works ok when I run an HelloWord ethernet program.The spraaj1c document says"Ethernet boot, I2C boot, and I2C boot modes are supported with ROM version 3.70." How can I confirm my dm648 chip 's ROM version?

Thanks in advance for all your help.

 

  • beibei said:
    How can I confirm my dm648 chip 's ROM version?

    You can confirm the version of the ROM boot loader by reading address 0x0080FF00, this address should read a value of 0x00003060 or 0x00003070 which gives the ROM version of the part, in the case of Ethernet boot you would need 0x00003070. I am not sure how this maps to silicon revisions off hand, but I would suspect if you have the current silicon rev part that you would have the latest ROM boot loader as well.

  • Thanks for your reply.

    The value I read from address 0x0080FF00 is 0x00003070.That means it supports ethernet boot.

    I still can't receive the BOOTP request packet through sniffer tools on my PC.Is there any other tools or softwares I can use to capture the BOOTP Packet? 

    When I read  Ethernet 3 Port Switch's Register  , it seemed the switch had been configured correctly as the spraaj1c document  says .And BOOTCMPLT register's value were 0x00000000.Does that mean the bootloader run successfully?

    The spraaj1c document  Page 15 says"The UDP header validates that the source and destination port numbers match those specified in the boot parameters. If the boot parameter source port field is 0, then any source port is accepted.".Since BOOTP Request Packet UDP header's SRC port field and DST port field are 68 and 9(as  spraaj1c Page 14 Table 10 says),so I must send my code packets with UDP header DST port 68?Do I understand the spraaj1c document right? 

    Really appreciate your help!!

    Best regards.

    beibei.

  • Hello.

    I can receive BOOTP request packet.

    You should check if UHPIEN pin is high by changing SW3-5(HPI_EN) on DM648DVDP.

    Best regards.

     

  • Hi,

    I found that you are facinf issue on ethernet boot on DM648.

    We are also facing the same problem here.

    How did you solve this problem ?

    Please let me know which soltware you are using to view BOOTP request

    Thanks and Regards,

    Gunjan

  • Hello,

    I used Ethereal v0.10.14.

    And I was able to receive BOOTP packet at the following step.

    1. Check the ROM bootloader revision is 3.70 or later.

    2. Set ethernet boot mode. (BOOTMODE[3:0] = 1000b or 1001b or 1010b)

      I was able to receive BOOTP packet in all the modes.

    3. SW3-5 is set and UHPI is enabled. (UHPIEN=1)

      If your EVM is connected to PCI slot, you should enable PCI.(UHPIEN=0)

    Regards.

    BL.HSR-WZ

     

  • Thanks for your inputs.

    I am also using Ethereal v0.10.14.

    My ROM bootloader revision is 3.70 and we are using DM648 EVP version 1.1

     

    As per your inputs I have select BOOTMODE[3:0] = 1001b and 1010b and UHPIEN = 1

    But still no BOOTP on ethereal.

    Do I need to modify anything from Hardware side (Any Junper setting or so) ?

     

    Regards,

    Gunjan

     

  • Hi,

    I got the BootP message now from DM648 by connecting both LAN cables with 1 Gb etherenet switch.

    Now Using AIS I have generated EMAC Packet but I do not have any Host application to send these packets back to DM648 in reply of BOOTP request.

    Please suggest me the next steps for Ethernet Boot on DM648 after getting BOOTP request.

     

    Thanks