您尚未登录。

楼主 #1 2019-11-06 09:41:45

kekemuyu
会员
注册时间: 2018-12-13
已发帖子: 844
积分: 725

树莓派的一个镜像是如何做到适配不同架构的芯片的,能否做一个f1c100s/v3s的通用镜像。

可能我们只知道傻傻按照官方教程烧录镜像,从来没有想过这个问题。我们都知道树莓派的一个镜像可以烧录树莓派的全系列板子,树莓派的cpu架构有armv6,armv7的区别,它是如何做到通用的?打开boot分区可以看到不只有一个zimage,启动时肯定根据不同的pi选择了不同的zimage和dtd,它是根据什么区分不同pi的?另外一个问题是它的文件系统是共用的,里面自带的软件是没有区分armv6和armv7,那也就是说这两个架构的应用都是通用的?是否可以根据树莓派的这个原理做一个f1c100s和v3s的通用镜像

最近编辑记录 kekemuyu (2019-11-06 09:42:54)

离线

楼主 #3 2019-11-06 09:57:23

kekemuyu
会员
注册时间: 2018-12-13
已发帖子: 844
积分: 725

Re: 树莓派的一个镜像是如何做到适配不同架构的芯片的,能否做一个f1c100s/v3s的通用镜像。

超级萌新 说:

感觉有点麻烦,又有点容易。

假如是TF版本,
容易,就是搞定uboot就行。
麻烦,就是spl(boot0)都难做到兼容,一个spl走天下。

愿闻其详,uboot如何区分不同的cpu?我觉得必须是cpu向uboot传达了某个参数,uboot才能知道启用那个zimage

最近编辑记录 kekemuyu (2019-11-06 09:59:36)

离线

楼主 #5 2019-11-06 10:15:09

kekemuyu
会员
注册时间: 2018-12-13
已发帖子: 844
积分: 725

Re: 树莓派的一个镜像是如何做到适配不同架构的芯片的,能否做一个f1c100s/v3s的通用镜像。

ippen 说:

关键在u-boot,首先要u-boot最开始程序首先判断出cpu类型和板子型号然后选择性加载不同的uboot,也就是说uboot要有三个部分,一个是f1c100s的uboot,一个是v3s,在这两个之前,有一段汇编代码判断cpu型号,然后和决定加载后面的uboot版本

”汇编代码判断cpu型号“还有这操作,我记得cpu内部还有个brom,里面也有boot程序,是不是需要brom的支持才行

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn