为什么DNW向tiny6410下载大点程序就不能运行?
刚刚学习遇到很多问题。比较喜欢裸奔程序。
我下载裸机程序,像流水灯之类的程序可以正常运行,比如像LCD方面就不行了。下载不运行,开发板重启。。。
像我程序里面把LCD_Init()屏蔽掉,程序就可以正常运行了,不屏蔽就不行,很奇怪。
我的操作方法是按照飞凌6410教程的
我的问题是:
1):是不是dnw下载的方式有个程序大小的限制呢?
2):我把程序里面的lcd初始化屏蔽掉程序就能运行,没其他的lcd函数。不屏蔽就不能运行。。。难道lcd控制器地址有冲突?
3):上网搜索,这个地址"dnw 0x50008000"有的写的是其他的地址,这个与dnw里面设置usb地址有什么区别呢? 自己顶起,搞不懂这个怎么回事。。。 我用dnw下载过lcd的裸机程序,开发板是ok6410,可以的啊。你的lcd_init函数有问题可能 read the fuck source code dboyzju 发表于 2012-12-21 16:17 static/image/common/back.gif
我用dnw下载过lcd的裸机程序,开发板是ok6410,可以的啊。你的lcd_init函数有问题可能 ...
这样啊,那我再看看代码,你也是用这种方式下载的嘛?我按照这样操作对不对呢? 楼主赶紧解决吧正好给我做做参考!!!! dnw 0x50008000这个应该是DRAM的地址 楼上说得对,是sdram的地址!!!! 直接下载到内存如果不能运行,那只能说是程序的问题,排除flash读写错误的问题。 mhb318 发表于 2012-12-22 13:49 static/image/common/back.gif
楼上说得对,是sdram的地址!!!!
好的,我逐步逐步地排除问题,但是也有手册上说这个地址是usb的开始地址啊
“这句话意思是启动目标板的usb连接并设置目标板接收USB数据的内存起始地址为0x50008000”我看一个资料上看到的。
离弄明白还有很远的路 楼主,你应该研究一下链接地址是干什么的,和你下载的地址有什么关系,搞清楚了估计你就知道了啊。不是啥程序下载到0x50008000都能运行的啊,除非你都是位置无关代码~啥叫位置无关代码,你研究一下就知道了~
页:
[1]