利尔达的串口转以太网

Other Parts Discussed in Thread: LM3S6432

大家好的,我的开发板是利尔达的串口转以太网,芯片上LM3S6432,的使用TI里面的例程,设置为静态IP。如下:

 g_sParameters.ulStaticIP=0xC0A80E78;
g_sParameters.ulSubnetMask=0xFFFFFF00;
  g_sParameters.ulGatewayIP=0xC0A80101;
  lwIPInit(pucMACAddr, g_sParameters.ulStaticIP, g_sParameters.ulSubnetMask,
             g_sParameters.ulGatewayIP, IPADDR_USE_STATIC);
但是,在下载程序的时候,选择全部flash擦除,下载好后,与电脑连接不上,finder工具也找不到IP。然后我下载利尔达提供的出厂程序后(选择的是flash全部擦除),在下载自己的程序,选择的是选择仅需要的页进行flash擦除,这样就能和电脑连接。finder工具也能找ip。这个为什么啊。

  • 我记得是这样的,默认情况下,Stellaris的出厂MAC地址全是FF,用户可以修改,而且在实际的产品中也是需要修改的。在程序中会有一个if语句判断MAC地址是不是全是FF,如果全是FF那么程序就会卡住,不会获取IP

    不知道利尔达的程序是怎么设置的,我猜想应该是在Flash的某个地址中有一些MAC的信息。如果擦除了这段Flash,那么Flash的内容为FF,所以不会获取到IP。

  • 你好。MAC地址我在初始化的时候已经设置了的,

    unsigned long ulUser0 = 0x00452301, ulUser1 = 0x00ab8967;

    unsigned char pucMACAddr[8];

    pucMACAddr[0] = ulUser0 & 0xff;

       pucMACAddr[1] = (ulUser0 >> 8) & 0xff;

       pucMACAddr[2] = (ulUser0 >> 16) & 0xff;

       pucMACAddr[3] = ulUser1 & 0xff;

       pucMACAddr[4] = (ulUser1 >> 8) & 0xff;

       pucMACAddr[5] = (ulUser1 >> 16) & 0xff;

    不知道还有什么地方需要设置。是这样的,但我下载过利尔达出厂的程序后,例程里的程序(经过自己修改)。我在初始化的时候,把读取Flash的代码屏蔽掉了的。但是如果全部擦除flash下载,就是不能运行。但是如果擦除需要的,就可以找到ip。感觉很奇怪。