• AMP模式与单核模式的系统实现差异分析-参考xapp1078


    1, 修改生成fsbl的image_mover.c等源文件,使fsbl一直load直到遇到load = 0xFFFFFFF0。还有其他相应的约定的行为规则,在bootGen相应实现。

    2, 在vivado中执行批处理文件createBoot.bat,内部命令:bootgen -image bootimage.bif -o i BOOT.BIN -w on,注意其中bootgen的配置文件bootimage.bif,该文件的内容如下。其作用是:1,列出需要打包的文件,注意正确顺序。2,给bootloader文件打标签,用于PS_bl文件找到它。3,加入了[load = 0xFFFFFFF0] cpu1_bootvec.bin,遇到该行后,fsbl将停止继续load,并且返回执行第一个非bl和非bit程序,也就是u-boot.elf。

    the_ROM_image:

    {

           [bootloader] amp_fsbl.elf--------------------//fsbl文件

                   download.bit-------------------//配置FPGA PL的比特文件

                        u-boot.elf--------------------//CPU core0的u-boot可执行文件

                        app_cpu1.elf------------------//CPU core1的可执行文件

      [load = 0xFFFFFFF0] cpu1_bootvec.bin-----------//假二进制文件,用于停止继续Load,开始u-boot。

    }                                                                              //该bin文件内仅含有四个字节:00FFFFFF

    3, 如上1,2就生成了AMP的系统。将linux的应用app 拷贝到SD卡文件系统,在系统启动后即可挂载执行。

    4, Cpu core1可以由中断信号或者sev()唤醒。

  • 相关阅读:
    函数节流和防抖
    前端优化
    webpack模块
    link和@import的区别
    BFC--CSS
    javaoop_破解jdbc
    javaoop反射
    java-oop集合与泛型
    java中几个小遗漏
    java异常处理和日志管理
  • 原文地址:https://www.cnblogs.com/abolide/p/7011158.html
Copyright © 2020-2023  润新知