Jetson Xavier NX上参照指导自己修改编译cboot,卡住进行不下去了。
修改点:
在load_and_boot_kernel()函数里err = display_boot_logo();后面调用
hi2c=tegrabl_i2c_dev_open(TEGRABL_INSTANCE_I2C9, I2C_ADDR, 1, 1);
tegrabl_i2c_dev_close(hi2c);
i2c是挂载I2C1总线上,直接卡在tegrabl_i2c_dev_open上了,进行不下去了。
跟踪了一下代码,发现在函数dpaux_prod_set(struct tegrabl_dpaux *hdpaux, uint32_t mode)里面
if ((off < 0) || (off > (NV_ADDRESS_MAP_DPAUX_SIZE - *(int32_t )hdpaux->base))) {
pr_error(“dpaux address offset is out of bounds\n”);
goto fail;
}
使用(int32_t *)hdpaux->base是会卡住,打印了也不是空指针,指针地址
hdpaux->base=0x155f0000
不知道具体什么原因
找到一点规律,插上HDMI显示屏就可以正常走下去,如果不插显示屏就卡死。HDMI与I2c之间有什么关联关系吗?
在cboot里能获取到载板的型号信息吗?
使用版本和参照文档见下面链接
请帮忙确认一下是什么原因导致的,谢谢!!