欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

1788怎么烧片外norflash

更新时间: 2014-01-05 03:19:30 责任编辑: Author_N1

 

1788如何烧片外norflash
各位大侠,求教一个初学者的问题,不过这个问题着实困扰了我好久了!就是如何将程序烧到NXP LPC1788 片外的nor flash 中?

最近编一个基于ucgui的显控程序,由于要用到汉字库和图片,所以片内512KB flash显然不够了。准备用挂在bank1上的nor flash——AM29LV160DB

对于nor flash的擦除、编程的函数都已写好,想利用keil中添加flash烧写算法,并修改分散加载文件的方式直接将全部程序片内片外一起烧写。但是苦于没有基于17xx 片外nor flash的烧写算法模板,烧写进行到擦除片外norflash的那步时就显示“flash timeout 。reset the target”的字样,进行不下去了。估计是烧写算法中,init函数对系统初始化不够。请高手告诉我,keil接口的flash烧写算法中init函数中要进行哪些初始化?(烧写器用的是ulink2)

后又尝试用H-JTAG烧写,不过也得要init文件,面临同样问题!!



请高手告诉我如何解决以上问题,或是如何用其他方式烧写1788片外norflash?
--参考方法--
烧录片外FLASH,一个就是按你的方法,用KEIL中烧写FLASH的模板写烧写外面FLASH的几个函数,片内FLASH和片外FLASH的模板都是一样的,拷贝一份,把FlashPrg.c和FlashDev.c中的内容替换掉,也就是填充FlashDevice结构体,然后再定义那几个函数就可以了。改一下输出文件的名字,生成一个新的FLASH烧写算法。不过,这个不能用散列文件的方式写吧,应该把字库等做成单独文件或做成数组放到单独的keil工程中,在散列文件中将编译执行地址放到片外FLASH地址处,然后设置新写的FALSH烧写算法,应该就OK了。如果还有问题,应该是FLASH的操作函数不对或哪里设置不对。

再有一种办法就是分成多个程序,支持自加载,一部分是loader程序,负责从串口或USB口等加载其他程序,一部分是应用程序,另外一部分是字库等存在外FLASH的程序。这样所有程序就都是你自己的了,可以撇开仿真器加载程序。利于程序更新升级。
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 03:19:30
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/20794/
本文WWW.DOC100.NET DOC100.NET版权所有。