at91sam9260 bootstrap 3.2移植

21 篇文章 0 订阅
16 篇文章 0 订阅

第一步:下载源代码

从下面的网址中下载最新的代码:

ftp://www.at91.com/pub/at91bootstrap/

第二步:

开发板的硬件:

CPU            AT91SAM9260

SDRAM         MT48LC16M  1片(32MB 16bit)

NANDFLASH   K9F1208U0c(64MB)

BOOTSTRAP

针对我板子对BootStrap进行了如下修改。

一、因为我用的sdram是32M的,用了13根地址线,所以AT91C_SDRAMC_NR_13就不用改了,如果为12条,则要改为AT91C_SDRAMC_NR_12。但是我们的SDARM的数据线是16位,所以要把AT91C_SDRAMC_DBW_32_BITS,改为AT91C_SDRAMC_DBW_16_BITS(at91sam9260ek.c)

sdram_init(    

AT91C_SDRAMC_NC_9  |

                               AT91C_SDRAMC_NR_13 |

                               AT91C_SDRAMC_CAS_2 |

                               AT91C_SDRAMC_NB_4_BANKS |

                               AT91C_SDRAMC_DBW_16_BITS |

                                AT91C_SDRAMC_TWR_2 |

                               AT91C_SDRAMC_TRC_7 |

                               AT91C_SDRAMC_TRP_2 |

                               AT91C_SDRAMC_TRCD_2 |

                               AT91C_SDRAMC_TRAS_5 |

                               AT91C_SDRAMC_TXSR_8,           

                                (MASTER_CLOCK *7)/1000000);  

 

二、将nand_ids.h中的nandflash参数改成{0xec75, 0x800, 0x4000, 0x200, 0x10, 0x0, "Samsung K9F5608U0M32MB\0"}

  {0xec76,0x1000, 0x4000, 0x200, 0x10, 0x0, "Samsung K9F1208U0B 64Mb\0"},

 {0xecdc, 0x1000, 0x20000, 0x800, 0x40, 0x0, "Samsung K9F4G08U0M512Mb\0"},

     ID        0xecdc

     块的数量    set nf(nandNbBlocks)          0x1000

     块的大小    set nf(nandBlockSize)         0x20000

     簇的大小    setnf(nandSectorSize)        0x800

     闲置空间    set nf(nandSpareSize)          0x40

     总线宽度    set nf(nandBusWidth)            0

 

三、将JUMP_ADDR(board/at91sam9260ek/nandflash/at91sam9260ek.h)的值由23F00000改成21F80000。在高版本中,如3.2中,是在根目录下的Config.in中修改的。(U-BOOT跳转地址)

 

 

编译:     makeat91sam9260ek_defconfig

          make

默认为:dateflash 模式

这时可以用make menuconfig进入配置菜单,来定制,如下图

 



在这里说话一点,不要选择debug功能,这样只会加大目录文件的大小,我们可以自己写一下printf函数,但一直有一个疑问,就是不能在对nand的操作中用printf,如果调用,就会出现

nand_scan(): Cannot allocate oob_buf; 

也可以通过下面的命令来配置:

$ make MEMORY=nandflash  at91sam9260ek_defconfig

 $make

生成bin文件:binaries/at91sam9260ek-nandflashboot-3.2.bin


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值