问个关于at91sam9260的问题

[复制链接]
5141|7
 楼主| Alvin_21IC 发表于 2008-12-19 09:41 | 显示全部楼层 |阅读模式
&nbsp;&nbsp;&nbsp;&nbsp;我的板子用得是atmel的9260,要在nandflash里烧入bootstrap,现在bootstrap总是有问题。<br />&nbsp;&nbsp;&nbsp;&nbsp;1、无法加载U-boot,我写了个控制led闪烁的程序代替uboot做测试,将他烧入nandflash,由BootStrap加载。led未闪烁,(这段测试程序肯定没问题,我用sam-ba初始化sdram,将它拷入sdram,BootStrap直接跳转到sdram运行是没问题的。)<br />&nbsp;&nbsp;&nbsp;&nbsp;2、在bootstrap作led测试。将led亮的程序放在后,led未亮。发现程序在从nand拷贝镜像到sdram这段循环中出不来了。它检查每个块都是坏块。我怀疑是nandflash初始化这段程序的问题。公板的nandflash用得256MB的,我们用的是个32MB的。<br />&nbsp;&nbsp;&nbsp;&nbsp;3、这个板子没有JTAG。<br /><br />各位高手指点下到底是哪的问题,现在我很茫然。谢啦、
wangkj 发表于 2008-12-19 10:56 | 显示全部楼层

配置一下烧写程序。

  
 楼主| Alvin_21IC 发表于 2008-12-19 11:50 | 显示全部楼层

回复2楼

&nbsp;&nbsp;&nbsp;&nbsp;烧写程序写好了,根据我们班子的情况,改了下地址线,和设备型号,nandflash块的总数。别的默认。(改自AT91SAM9260EK)
 楼主| Alvin_21IC 发表于 2008-12-22 10:12 | 显示全部楼层

自己顶

  
 楼主| Alvin_21IC 发表于 2008-12-22 16:14 | 显示全部楼层

具体的改法

我的开发班的硬件:<br />MCU&nbsp;at91sam9260<br />SDRAM&nbsp;MT48LCM32(32MB&nbsp;32bit)<br />NANDFLASH&nbsp;K9F5608DOC(32MB)<br /><br />遇到的问题:<br />我移植的BootStrap无法正常工作。<br />针对我板子对BootStrap进行了如下修改。<br />一、因为我用的sdram是32M的,用了12个引脚,所以将AT91C_SDRAMC_NR_13改成AT91C_SDRAMC_NR_12。<br />&nbsp;sdram_init(&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AT91C_SDRAMC_NC_9&nbsp;&nbsp;|<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AT91C_SDRAMC_NR_12&nbsp;|<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AT91C_SDRAMC_CAS_2&nbsp;|<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AT91C_SDRAMC_NB_4_BANKS&nbsp;|<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AT91C_SDRAMC_DBW_32_BITS&nbsp;|<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AT91C_SDRAMC_TWR_2&nbsp;|<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AT91C_SDRAMC_TRC_7&nbsp;|<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AT91C_SDRAMC_TRP_2&nbsp;|<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AT91C_SDRAMC_TRCD_2&nbsp;|<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AT91C_SDRAMC_TRAS_5&nbsp;|<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AT91C_SDRAMC_TXSR_8,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;Control&nbsp;Register&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(MASTER_CLOCK&nbsp;*&nbsp;7)/1000000);&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;Refresh&nbsp;Timer&nbsp;Register&nbsp;*/<br />二、将nand_ids.h中的nandflash参数改成{0xec75,&nbsp;0x800,&nbsp;0x4000,&nbsp;0x200,&nbsp;0x10,&nbsp;0x0,&nbsp;&quot;Samsung&nbsp;K9F5608U0M&nbsp;32MB&quot;}。<br /><br />三、将JUMP_ADDR的值由23F00000改成21F00000。<br /><br />不知道我还有什么地方没有做好。谢谢大家给予帮助。<br />
accupower 发表于 2008-12-22 21:03 | 显示全部楼层

最好找个仿真器调调

  
boiya 发表于 2008-12-25 15:33 | 显示全部楼层

检查nandflash的启动地址

1.&nbsp;既然在SDRAM能正常运行,而烧写到nandflash后就不行,那可能是nandflash启动地址不对,无法讲nandflash的程序镜像到SDRAM中。<br />2.&nbsp;格式化flash。<br />你是用什么来烧写flash的?
fish1983 发表于 2008-12-26 08:58 | 显示全部楼层

记得好像9260有bug

记得好像9260&nbsp;&nbsp;rev&nbsp;A&nbsp;版本的从nandflash启动有bug,&nbsp;B可以。仅供参考
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

4

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部