加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

at91sam9260 bootstrap 3.2移植

发布时间:2020-12-17 21:17:03 所属栏目:安全 来源:网络整理
导读:第一步:下载源代码 从下面的网址中下载最新的代码: ftp://www.at91.com/pub/at91bootstrap/ 第二步: 开发板的硬件: CPU??????????? AT91SAM9260 SDRAM???????? MT48LC16M? 1片(32MB 16bit) NANDFLASH???K9F1208U0c(64MB) BOOTSTRAP 针对我板子对BootStra

第一步:下载源代码

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

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"}

? {0xec76,0x1000,"Samsung K9F1208U0B 64Mb"},

?{0xecdc,0x20000,0x40,"Samsung K9F4G08U0M512Mb"},

?????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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读