s3c2440的vivi的usb下载移植成功(基于斯道提供的的vivi及umoom),程序代码还没有仔细研究过,还存在一些问题。在移植过程中,也遇到一些问题。1,中断处理函数中,对arm汇编bl指令的滥用,导致系统重启,修改为ldr *,*,及mov pc,*后问题解决。2中断处理过程的不熟悉,没设置中断处理的堆栈地址,导致中断后系统卡住死机。设置cpsr_c的值进入中断模式后设置sp的值,问题解决。3 usb硬件系统的不熟悉,导致主机host不能检测到有设备连接。查看原理图后发现有条usb_en的接口,使该接口输出1,host就可以检测到device的attach。4 对usb枚举过程的不熟悉,控制传输是可靠传输,故host如发现有丢包,会重发请求,这就是usb手册中说枚举过程中有两次重启,而我的程序中有多次reset以及get device desciption的原因(这只是我的猜想) 5 作为一个嵌入式软件工程师,要有清晰的思维,但在移植这个的过程中,我表现的很混乱,出错后,并没有仔细分析出错的原因,就胡乱下药。应该仔细分析出错原因,对症下药才是。6 对情况估计的太为乐观,原以为有资料,有程序可以参考,就可以1天完成任务,一天过去了,又对自己说,还有一天就可以完成。聪明人因为高估困难而失败,愚蠢的人因为低估困难而失败,很多时候,我很自以为是 7 急功近利,期望一劳永逸,这从alsa驱动的编写中也可以看出来。基础很重要,老马说得好,经济基础决定上层建筑。有些问题,如果基础扎实,就很容易解决,比如说alsa的驱动问题,如对alsa体系很熟悉,也就迎刃而解了。当然,有时候没有那么多的时间预算,那就只有多努力,加班加点了。。切不可知其然不知其所以然。8 现在学的东西太零散。做好笔记,逐渐系统化。
umoom源程序 :
s3c2440-umoom.rar斯道的支持s3c2410 usb下载的vivi:
s3c2410_usb_sidao我移植的s3c2440可以tftp,usb下载的vivi:
s3c2440_usb_tftp_vivi
阅读(3595) | 评论(2) | 转发(0) |