Blackrose's Blog Blackrose's Blog

ATMEL SAMA5D36的Flash分区结构

in technologyread (122) 文章转载请注明来源!

这块板使用Linux 3.6.9版本,使用了dts方式初始化bsp设备,但很多驱动上并没有对dts全整支持。Nand上的分区信息也只是靠U-Boot来传输,dts并没有配置。当前的分区信息如下:

Bootstrap: 0x00000000 ~ 0x40000, size = 256KB
U-Boot: 0x40000 ~ 0xC0000, size = 512KB
U-Boot Env: 0xC0000 ~ 0x180000, size = 768KB
DTB file: 0x180000 ~ 0x200000, size = 128KB
Kernel: 0x200000 ~ 0x800000, size = 6MB
rootfs: 0x800000 ~ 0x10000000, size = 256 - 8 = 248MB

要修改分区信息的话,Bootstrap,U-Boot的Loadaddr相关的都要修改,U-Boot传递给Kernel的mtd信息也要修改。实际上主发还是在U-Boot上,Bootstrap只需要知道U-Boot的地址就可以,Load后跳转就交给U-Boot。SAMA5D3系列的芯片使用了SAM-BA工具来提供烧写功能。

下面是SAM-BA中对NAND的烧写地址定义:

## NandFlash Mapping
set bootStrapAddr   0x00000000
set ubootAddr       0x00040000
set ubootEnvAddr    0x000c0000
set dtbAddr         0x00180000
set kernelAddr      0x00200000
set rootfsAddr      0x00800000
## u-boot variable
set kernelLoadAddr  0x22000000
set dtbLoadAddr     0x21000000 
文章二维码

扫描二维码,在手机上阅读!

发表新评论
博客已萌萌哒运行
© 2018 由 Typecho 强力驱动.Theme by Yodu
前篇 后篇
雷姆
拉姆