有人知道全志的.fex格式是啥吗?比如u-boot.fex和u-boot.bin有什么区别?全志的pack脚本到底干了啥?有高手提点一下吗?我用dd if=boot0_sdcard.bin of=/dev/sdb bs=1k seek=8把boot0写到SD卡8k位置,启动不了,串口没输出。
离线
什么叫.fex格式是啥?
离线
比如u-boot.fex和u-boot.bin ,全志的这个u-boot.fex是什么呢,没用过全志的东西,有知道的高手提点提点
离线
你dd操作可能目的地址不对
离线
根据sunxi.org给的一些类似平台的信息,boot0都是写到seek=8k byte位置,我也搞不清楚
离线
意思是boot0打印的和linux启动打印串口不是一个?这....
离线
可是我看源码,第一句"HELLO! BOOT0 is starting!\n"都没打出来....肯定是串口初始化就失败了,要么就是串口不对
离线
对。boot0一串固定只从串口0
你的sys_config.fex调试串口设置了没有?
设置之后还需要重新执行命令更新boot0.fex
否则配置信息不会更新,也就是说你如果拿的是别人的文件,很可能已经跑起来了,但你没有看到
hello boot0这是第二句
第一句也有可能是brom里面打印的
离线
是不是我用dd if=boot0_sdcard.fex of=/dev/sdb bs=1k seek=8就好了呢...我之前用的.bin格式
离线
因为我们买的V3开发板,他们给的SDK是android的,我们打算用自己的linux,所以我就打算单独做SD卡启动,没用他们给的pack脚本
离线
你方法不对
linux不是你这么玩的
离线
因为我没用过全志的东西,以前用的是imx6,自己做的卡都能启动
离线
全志烧写,检测cpuid功能做进brom,这点小聪明,我觉得瞬间让我抛弃ti,飞卡
离线
再请教一下,是不是做SD启动卡,一定要用全志的pack脚本。现在比如我没有android,只有linux kernel,u-boot,那么打包出来的东西用phoenixcard做出来能启动板子吗?谢谢
离线
解决了,感谢大家的帮助,分享一下过程吧。
1.对于新用全志平台的朋友来说,比如我,先了解一下sys_config机制,其实就是类似主流的dts,全志linux内核里有script_get_item之类的程序也是对应主流linux的设备树解析函数
2.看了u-boot的源码,发现很多设备信息都是空的,也没有其他函数来填充初始化
3.虽然全志自己搞的一套脚本很烦,但是既然要用还是得研究研究,比如这次,一般来说编译完的u-boot就可以直接使用,但是全志的不一样,需要用pack脚本把sys_config里面的配置信息添加进去,生成u-boot.fex,这才是烧写文件
离线
dd if=boot0_sdcard.fex of=/dev/sdb bs=1k seek=8
dd if=u-boot.fex of=/dev/sdb bs=1k seek=19096
这样是否OK ? 当然前提是sys_config.fex根据板子配置好
离线
在开发板中输入相关命令
单独替换linux logo:
mkdir boot-resource
mount -t vfat /dev/mmcblk0p2 boot-resource
替换 boot-resource/bootlogo.bmp
boot-resource分区:(logo在这个分区)
设备:/dev/mmcblk0p2
镜像文件:boot-resource.fex
单独烧写方式:dd if=boot-resource.fex of=/dev/mmcblk0p2 (boot-resource.fex文件所在的目录执行命令)
env分区:
设备:/dev/mmcblk0p5
镜像文件:env.fex
单独烧写方式:dd if=env.fex of=/dev/mmcblk0p5 (env.fex文件所在的目录执行命令)
boot分区:(内核)
设备:/dev/mmcblk0p6
镜像文件:boot.fex
单独烧写方式:dd if=boot.fex of=/dev/mmcblk0p6 (boot.fex文件所在的目录执行命令)
不常用
rootfs分区:
设备:/dev/mmcblk0p7
镜像文件:rootfs.fex
单独烧写方式:dd if=rootfs.fex of=/dev/mmcblk0p7 (rootfs.fex文件所在的目录执行命令)
usr-resource分区: (默认挂载在extp目录,使用dd命令前,先将分区卸载掉)
设备:/dev/mmcblk0p9
镜像文件:usr-resource.fex
单独烧写方式:dd if=usr-resource.fex of=/dev/mmcblk0p9 (env.fex文件所在的目录执行命令)
uboot分区:(镜像文件位置在emmc偏移32800处,24576为uboot备份地址)
设备:/dev/mmcblk0
镜像文件:boot_package.fex
单独烧写方式:
dd if=boot_package.fex of=/dev/mmcblk0 seek=32800 (boot_package.fex文件所在的目录执行命令)
dd if=boot_package.fex of=/dev/mmcblk0 seek=24576
注:以上fex文件,是在执行./build.sh pack后,拷贝或生成在lichee/tools/pack/out目录中的
离线