`
yidongkaifa
  • 浏览: 4059161 次
文章分类
社区版块
存档分类
最新评论

U-Boot移植日志(4)--添加一种新的Flash驱动

 
阅读更多

U-boot中只有一些常用型号的Flash,如果用到的Flash没有,U-boot就不能正常操作Flash,需要对添加驱动,步骤如下:(以SST39VF1601为例)

1)在/include/flash.h中为该芯片添加一个ID
#define SST_ID_xF1601 0x234b234b // 其值参见数据手册Devcie ID

2)在common/flash.c中添加相应操作代码
flash_get_size()
{ ......
case(CFG_FLASH_WORD_SIZE)SST_ID_xF1601:
info->flash_id += FLASH_SST1601; // u-boot ID
info->sector_count = 16; // 16 bolcks
info->size=0x00100000; // 1MB
...
}

3)初始化代码 (/board/S3C44B0/flash.c)

flash_init()
{......
flash_protect( FLASH_PROTECT_SET, // include/flash.h
-CFG_MONITOR_EN, 0xffffffff,)
.......
}
只有定义了CFG_FLASH_PROTECTION才会保护flash,d 在flash.h中的FLAG_PROTECT_ST是对flsh_protect的控制

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics