ZYNQ 双核裸机程序从QSPI FLASH启动

        zynq的双核裸机程序如果要烧写到FLASH里启动,其实和单核的烧写步骤差不多,只是多了一个在CPU0启动CPU1的过程。具体内容如下。

        1. 创建FSBL工程,选择官方的FSBL例程即可,一般来说可以不用修改直接用。

        2. 创建CPU0工程,CPU选择ps7_cortexa9_0 , 在主函数中添加下列代码以便启动CPU1

        void start_CPU1(unsigned int PC ){
                 //Disable cache on OCM

                Xil_SetTlbAttributes(0xFFFF0000,0x14de2);

                // S=b1 TEX=b100 AP=b11, Domain=b1111, C=b0, B=b0

                *(volatile unsigned int *) (0xfffffff0)  =  PC  ;
                dmb();
                __asm__("sev");
                    }

                参数PC为CPU1的程序起始地址,COU0和CPU1的存储地址要间隔开。

    3. 创建CPU1工程, CPU选择ps7_cortexa9_1.

    4. 生成烧写文件BOOT.BIN或BOOT.mcs , bin文件用来烧写到SD卡,mcs文件用来烧写到QSPI flash中 , 这里生成MCS文件, 可以选择SDx里的Create Boot Image 选项生成,也可以使用其他的生成工具。

    5 . 将生成好的BOOT.mcs文件通过 program flsh烧写到你的板卡里。

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值