在u-boot-samsung-dev\include\configs\smdkv210single.h 中改起始地址
256M就是0000 0000 ~ 0FFF FFFF ,所以 chip_mask 就是0FFF FFFF的取反,即(F000 0000),所以要改成 0x30F01323
继续改虚拟映射
在 \u-boot-samsung-dev\board\samsung\smdkc110\smdkc110.c
再改一下内存映射表
在start.S(\u-boot-samsung-dev\cpu\s5pc11x\start.S)中找到 _mmu_table_base
在 \u-boot-samsung-dev\board\samsung\smdkc110\lowlevel_init.S中找到 mmu_table
make distclean → make smdkv210single_config → make 最后得到 u-boot.bin
烧录: 在 /samsung_uboot/u-boot-samsung-dev/sd_fusing 目录中
make clean → make → ./sd_fusing.sh /dev/sdb
在SI中搜索 "unrecognised EXT_CSD structure" 得到一个结果
因为打印显示是 "version 7" 所以简单地把数据改大点试下
在"\u-boot-samsung-dev\drivers\mmc\mmc.c" 中
可以修改 find_mmc_device 函数的参数来显示SD卡的容量
如果使用SD卡(mmc = find_mmc_device(1)), 这行 if (ext_csd_struct > 5) 不用改
SD/MMC:这个也会显示正常, 这说明SD的 version 不大于 5 ,而上面显示iNand 的 version 是 7
实测可行
小结:需要用到的文件:
1 smdkv210single.h (需要修改)
2 start.S (需要查看)
3 smdkc110.c (需要修改)
4 lowlevel_init.S (需要修改)
5 mmc.c (需要修改)
以上修改后再放到ubuntu中编译生成u-boot.bin