TI论坛
直播中

李萌

7年用户 177经验值
私信 关注
[问答]

OMAPL137的DSP-AIS ARM-UBL UBOOT 在NANDFALSH中的存储地址与linux MTD怎么区分?

请教
通过nandflashwrite,把DSP-AIS ARM-UBL UBOOT烧写到nandflash的1 2 4 block 。nandflashwrite中定义block空间如下
#define DEVICE_NAND_RBL_SEARCH_START_BLOCK (1)
#define DEVICE_NAND_ARM_UBL_SEARCH_START_BLOCK (2)
#define DEVICE_NAND_UBOOT_SEARCH_START_BLOCK (4)
在内核代码中NAND分区定义如下
static struct mtd_partition da830_evm_nand_partitions[] = [
/* bootloader params in the first sector */
[0] = [
.name = "u-boot env",
.offset = 0,
.size = SZ_128K,
.mask_flags = MTD_WRITEABLE, /* force read-only */
],
/* primary bootloader in the next sector */
[1] = [
.name = "UBL",
.offset = MTDPART_OFS_APPEND,
.size = SZ_128K,
],
/* bootloader (U-Boot, etc) in next sector */
[2] = [
.name = "u-boot",
.offset = MTDPART_OFS_APPEND,
.size = 4 * SZ_128K,
],
/* kernel */
[3] = [
.name = "kernel",
.offset = MTDPART_OFS_APPEND,
.size = SZ_2M,
],
/* file system */
[4] = [
.name = "filesystem",
.offset = MTDPART_OFS_APPEND,
]
];
内核代码中NAND分区定义的u-boot env 、UBL、u-boot地址空间与DSP-AIS ARM-UBL UBOOT实际存储地址冲突?
在uboot中 通过NAND write命令 烧写uImage,应该烧写到哪个地址空间?
谢谢

回帖(3)

王山崎

2020-8-12 14:02:27
uboot和KERNEL定义有可能冲突,但是kernel最重要的定义是文件系统位置正确,kernel nand驱动会读取文件系统,这要是和实际不一致就会造成启动错误。
其他,比如uImage,uenv等位置,是由uboot去读取的,也就是说uboot里面的定义了读取的位置,kernel就是定义错了,也没问题。因为kernel不操作。
当然最好定义一致,这样带来好处就是linux下也可以擦除烧写uboot uImage
举报

王山崎

2020-8-12 14:10:26
烧写uImage的位置和读取uImage位置要一致,按照uboot的预定义来做
举报

李萌

2020-8-12 14:17:13
非常感谢Denny Yang。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分