完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本帖最后由 xble 于 2016-3-9 09:45 编辑
TFTP(Trivial File Transfer Protocol,简单文件传输协议)是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务。端口号为69。 如果想学习kernel驱动,反复烧录编译的image是一个必须步骤,如果可以tftp下载kernel然后配合nfs加载OS整个调试过程将会非常方便,只需要在一台机器上操作即可。 不过lemaker guitar开发板的tftp功能基本无法使用,原因是ethernet的速度仅仅是100bit每秒而已,连400k大小的dtb都无法下载成功,更不用说几M的uImage。本着学习的态度自己尝试解决这个问题,包括问乐美客的技术支持,找巨力github下载代码,找SR8201G以太网厂家的技术支持,虽然没有人给予实质性的帮忙,在这里还是非常感谢他们的回复。经过一段时间的努力目前tftp下载速度大约110.4 KiB/s左右,100K每秒的量级虽然还不是最佳速度,但是已经达到使用需要。顺便说一下感觉在这个论坛里面像我这样学习kernel和uboot的人比较少,多数是晒一些功能怎么使用的照片,问问题的人少,回答问题的人更少。 因为S500 Datasheet V1.4和和芯润德_SR8201G_datasheet的说明不是很明白,或者说自己还没有完全弄明白,所以里面的逻辑自己目前还不是很清楚。这里只是说一下自己目前对ethernet一起的一些经验。 要移植Ehternet首先要理解ethernet器件连接架构,MAC和phy是怎么回事;第二点明白MII,RMII等等概念是怎么回事,我们这里使用的是RMII;第三,Ethernet的phy ID代表什么意义;第四,参考ti的cpsw的代码将kernel中ec_phy.c中的代码移植到uboot中。 下面是执行tftpboot 0x7fc0 uImage命令的结果。
有兴趣可以下载附件的uboot试试。
使用下面的命令编译和拷贝uboot cd /opt/LeMaker/linux-actions-bsp && make uboot cd /opt/LeMaker/linux-actions-bsp/build/s500/bootloader sudo dd if=bootloader.bin of=/dev/sdb bs=512 seek=4097 cd /opt/LeMaker/linux-actions-bsp/build/s500/u-boot sudo dd if=u-boot-dtb.img of=/dev/sdb bs=512 seek=6144 sync && umount /media/root/misc && umount /media/root/rootfs &&eject /dev/sdb 使用下面的命令测试,当然测试之前要设置一台tftp服务器,也要根据自己的实际情况修改拷贝地址和ip地址。 setenv serverip 192.168.9.217 setenv ipaddr 192.168.9.221 setenv gatewayip 192.168.9.1 setenv dnsip2 192.168.9.1 setenv dnsip 202.106.46.151 setenv netmask 255.255.255.0 ping 192.168.9.217 tftpboot 0x4000000 kernel.dtb tftpboot 0x7fc0 uImage
|
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-4-24 01:35 , Processed in 0.439337 second(s), Total 73, Slave 51 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号