ERROR: Invaled boot image pagesize. Device pagesize: 4096, Image pagesize: 16384

本文介绍了一种特定的内核启动失败情况,错误提示为“Invalid boot image page size”。通过调整配置文件、清理构建目录并重新编译固件来解决这一问题。

无法启动内核,出现以下提示:

ERROR: Invaled boot image pagesize. Device pagesize: 4096, Image pagesize: 16384

ERROR: Could not do normal boot. Reverting to fastboot mode.

Diplay initialized

fastboot_init()

ept1 in @0x42195fd0/0x3c max=512 bit=20000

ept1 out @0x42195ff0/0x28 max=512 bit=2

udc_start()

fastboot: processing commands


解决办法:

1:修改:MYSDK/device/telechips/m801/BoardConfig.mk的nand page
2:删除:/out/host/linux-86/obj/EXECUTABLE/mkmtding && mkbootimg && yaffs2这3个文件夹
3:把/out/host/linux-x86/bin 目录删除
4:把/out/target/product/m801 目录的img都删掉
5:重新编译
6:打包 

你可以使用逻辑运算符 `??`(空值合并操作符)或三元运算符的简化方式来更简洁地书写这个对象。但由于你依赖的是 `currentPageData` 是否存在,而不是其属性是否为 null/undefined,因此最清晰且简写的版本可以使用解构赋值与默认值结合的方式。 ### ✅ 推荐简写版本: ```javascript const page = { number: currentPageData?.current ?? pageData.current, size: currentPageData?.pageSize ?? pageData.pageSize, }; ``` ### 解释: - `currentPageData?.current`:可选链操作符,如果 `currentPageData` 为 `null` 或 `undefined`,则返回 `undefined`,不会报错。 - `?? pageData.current`:空值合并操作符,只有当左侧为 `null` 或 `undefined` 时,才使用右侧的默认值。 - 因此,如果 `currentPageData` 存在且 `current` 有定义,就用它;否则回退到 `pageData` 中的值。 这种方式比重复写三元运算更简洁、可读性更强。 --- ### 其他可选方式(进阶) 如果你想要进一步抽象,也可以这样写: ```javascript const page = ['current', 'pageSize'].reduce( (acc, key) => ({ ...acc, [key === 'current' ? 'number' : 'size']: currentPageData?.[key] ?? pageData[key], }), {} ); ``` 但这种写法虽然短,可读性和维护性较差,**不推荐用于生产环境中的此类简单场景**。 --- ### 总结 最推荐的写法是使用 **可选链 + 空值合并**: ```javascript const page = { number: currentPageData?.current ?? pageData.current, size: currentPageData?.pageSize ?? pageData.pageSize, }; ``` 既简洁又安全,语义清晰。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值