可能我们只知道傻傻按照官方教程烧录镜像,从来没有想过这个问题。我们都知道树莓派的一个镜像可以烧录树莓派的全系列板子,树莓派的cpu架构有armv6,armv7的区别,它是如何做到通用的?打开boot分区可以看到不只有一个zimage,启动时肯定根据不同的pi选择了不同的zimage和dtd,它是根据什么区分不同pi的?另外一个问题是它的文件系统是共用的,里面自带的软件是没有区分armv6和armv7,那也就是说这两个架构的应用都是通用的?是否可以根据树莓派的这个原理做一个f1c100s和v3s的通用镜像
最近编辑记录 kekemuyu (2019-11-06 09:42:54)
离线
感觉有点麻烦,又有点容易。
假如是TF版本,
容易,就是搞定uboot就行。
麻烦,就是spl(boot0)都难做到兼容,一个spl走天下。
愿闻其详,uboot如何区分不同的cpu?我觉得必须是cpu向uboot传达了某个参数,uboot才能知道启用那个zimage
最近编辑记录 kekemuyu (2019-11-06 09:59:36)
离线
关键在u-boot,首先要u-boot最开始程序首先判断出cpu类型和板子型号然后选择性加载不同的uboot,也就是说uboot要有三个部分,一个是f1c100s的uboot,一个是v3s,在这两个之前,有一段汇编代码判断cpu型号,然后和决定加载后面的uboot版本
”汇编代码判断cpu型号“还有这操作,我记得cpu内部还有个brom,里面也有boot程序,是不是需要brom的支持才行
离线