1,复旦微如何读写16MB以上地址的数据

2,phy如何gpio复位

3,板卡ping电脑 电脑上打开wireshark抓包软件时能ping通 暂停抓包就ping不通。虽然能ping通可能也有数据错误。
原因:wireshark有个混杂模式,可能与这个有关系,注意看看有没有错误,可以delay调试。
20号寄存器,控制收发的延时调使能和非使能。

4,主芯片是FMQL45T900,网络硬件识别是正常100M,但配置完IP地址后会变成10M
原因:设备树没指定速率,是配置ip又自协商了。
5,7045程序跑起来以后,有什么办法通过串口给ps发指令,然后通过pl jtag在线加载bit,加载完成后通知ps继续运行,ps程序裸跑,不重新加载,也就是能随时在线跟新PL bit程序运行而又不影响PS程序造成死机?
解决:串口要能接收处理指令,可以在加载前关掉user level shift寄存器,加载后再打开。关掉这个寄存器,加载pl bit的时候就不会影响ps程序运行了。串口给ps发串口指令,ps再把这个寄存器打开,就可以重新访问pl了。
6,生成的bin文件,在启动的时候找不到main函数,但是调试可以正常运行main函数。


现象:启动的时候,卡在那里起不来。原因:DDR初始化没有屏蔽。修改办法:

如果按上面改了还启动不起来,报一样的错误 :从log看拷贝app把fsbl给覆盖了,fsbl启动挂了。
先检查发现把app放在fsbl位置了:

固化的lwip用的icf设置:

解决办法:

按下图改了以后,还是不对,原因是:ram_start用ddr_cache_start,这里没改对

要是还不行,直接把ddr的icf替换成例程里面的icf,就可以运行了


7,修改200Mqspi的时钟系数,最好直接从vivado中修改,从iar中修改很多时候不生效

如果修改下面IAR的位置是不起作用的,要直接从vivado改完导出到IAR

附录:QSPI时钟应该配置的数据和寄存器应该配置的值

