打印

有关flash烧写的一些问题探讨

[复制链接]
2743|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
dwananqinyan|  楼主 | 2013-1-26 17:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
先作为一个菜鸟,我得好好向诸位学习。最近一直在摸索flash烧写的步骤,总结了一些经验以及还存在的问题,想写点这些东西和大家一起探讨。我现在弄的DSP平台是以前师兄用DM642自己做的板子,该板子上没有cpld,所以如要充分利用flash(Am29LV033C  4M)的空间只能通过GPIO口来选择翻页工作,合众达以及其他例程上都是用了三根选择翻页线,即将flash分为8页,每页512K,一直不明白为什么,而我师兄的板子只有两根线,即将flash分为4页,每页1M,本来以为这在原理上是可以实现的,但我通过反复修改例程始终只能烧写前512k,于是断言难道要坑爹,后来查阅各种资料,貌似DM642这款片子最多能给flash提供512K的寻址空间,因此必须分为8页,这也就解释了合众达公司的设计思路,当然这个仅是我的理解,不一定对哈~,希望高人指点,因为我想即使不能完全实现4M的空间,那么退而求2M的空间应该可行吧,但是实验一直没有成功。 翻页无法实现,我于是转向思索是否是flash的问题,想着下一个小于512K的程序不就得啦,好不容易找到一个程序,欣喜若狂的实验着,结果还是失败、失败、失败。对于bootload的编写我完全是按照c语言来写的,网上有神贴,是用C语言实现flash的二级烧写,大家可以看一下,亲测可用,下面会提到,再此也感谢一下想出这种方式的大神,向您致敬~  现在我通过大神的二次烧写步骤已经初步实现了boot的启动,为什么说是初步呢,是因为我正确烧写flash后,拔掉仿真器,按复位按钮,程序可以正常启动,这说明,bootload和flash已经正常工作,但问题就在于我断电后,bootload就不能正常重启了,我在断电后连上仿真器,在线可以看出,在0x90000000和0x00000400处的程序是对的,所以我的bootload确实把程序自动导入了,但是为什么不能正常工作呢?难道是我的跳转地址不对?我用的是extern far void c_int00(void),在boot最后调用该函数,c_int00();

相关帖子

沙发
dwananqinyan|  楼主 | 2013-1-26 17:41 | 只看该作者
想不明白,请各位帮忙看看~

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

10

主题

156

帖子

0

粉丝