麻烦各位专家高手给点调试意见,现象如下:
使用的是C6678芯片,自己新建了一个TCP client数据发送的简单工程,采用非阻塞模式。在线仿真调试能正常连接服务器并发送数据。现在我们打算通过EMIF NOR FLASH引导启动上述工程,发现以下现象:
1 自己写了一个bootloader的小工程,映射在0x70000000位置,负责将TCP client工程进行引导搬运;而 TCP client工程的数据存放在0x70200000位置;
2 为了验证bootloader是否功能正常,我们首先将TCP client工程烧写到nor Flash的0x70200000位置,然后将bootloader工程cmd映射修改为 共享内存0x0C000000,并用仿真器在线调试,走完全部bootloader过程,程序跳转到TCP client工程的起始运行地址后,能正常连接服务器并发送 数据。
4 最后,将bootloader工程烧写到0x70000000位置,上电启动后服务端一直没有接收到数据,这时用仿真器load symbol后,观察到TCP client工程引导已经完成,客户端程序在执行connect函数时一直返回的是EHOSTDOWN,感到比较疑惑是什么导致connect返回EHOSTDOWN?
另外,上述TCP client工程通过SPI模式引导是能成功运行的。