资源描述:
《让redboot的网络功能重新生效》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、让redboot的网络功能重新生效RedBoot_initRedBoot_init(_do_flash_init,RedBoot_INIT_FIRST);RedBoot_init(load_flash_config,RedBoot_INIT_FIRST);RedBoot_init(ide_init,RedBoot_INIT_FIRST);RedBoot_init(_zlib_init,RedBoot_INIT_FIRST);RedBoot_init(net_init,RedBoot_INIT_LA
2、ST);voidnet_init(void){ ......//Initializeallnetworkdevices for(t=&__NETDEVTAB__[0];t!=&__NETDEVTAB_END__;t++){ if(t->init(t)){ // 我的ep9312开发板对应ep93xx_init[luther.gliethttp] t->status=CYG_NETDEVTAB_STATUS_AVAIL; }else{
3、 //Whattodoifdeviceinitfails? t->status=0; //Devicenot[currently]available } }}CYG_HAL_TABLE_BEGIN(__NETDEVTAB__,netdev);#defineNETDEVTAB_ENTRY(_l,_name,_init,_instance) staticbool_init(structcyg_netdevtab_entry*tab);
4、 cyg_netdevtab_entry_t_lCYG_HAL_TABLE_ENTRY(netdev)={ _name, _init, _instance
5、 };ecos-2.0/packages/devs/eth/arm/ep93xx/v2_0/src/if_ep93xx.c
6、166
7、NETDEVTAB_ENTRY(ep93xx_netdev, NETDEVTAB_ENTRY(ep93xx_netdev, "ep93xx", ep93xx_init, &ep93xx_sc);ecos-2.0/packag
8、es/devs/eth/arm/ep93xx/v2_0/src/if_ep93xx.c
9、74
10、ep93xx_esa,ecos-2.0/packages/devs/eth/arm/ep93xx/v2_0/src/if_ep93xx.c
11、82
12、"ep93xx_esa", ecos-2.0/packages/redboot/v2_0/src/flash.c
13、1913
14、diag_printf("Requestforconfigvalue'%s'-wrongtype",key);后来在启动时发现一个错误
15、提示: +ep93xx_init...ScanforPHYunitsPHYID[1]=15/f441,stat=782d,control=3000Afterscan,phys_found00000002,phys_good00000002Requestforconfigvalue'ep93xx_esa'-wrongtype //从这里看未找到ep93xx_esa定义EP93xx-noEEPROM,staticESA,orRedBootconfigoption.从代码中查看到ep93xx_e
16、sa定义,因为flash_get_config向config中追加内容的函数,只在2个地方对我们用户提供了接口,一个是alias命令,另一个就是fconfig-i命令中config_init函数,config_init函数会将__CONFIG_options_TAB_END__中的所有built-in的config追加到config中,CYG_HAL_TABLE_BEGIN(__CONFIG_options_TAB__,RedBoot_config_options);#define