龙芯软件开发(18)-- 乾坤大挪移,从ROM到RAM

本文详细介绍了在龙芯平台上的软件开发过程中,如何将程序从只读存储器(ROM)迁移到随机存取存储器(RAM),以实现更灵活的运行和更新。教程内容深入浅出,适合零基础的学习者,旨在帮助更多人了解和加入到人工智能领域。
摘要由CSDN通过智能技术生成
               
前面已经初始化内存和龙芯的缓存,那么现在已经差不多把新房子已经建立好了,要进入新房居住了。在 SDRAM 里的存取速度比 ROM 里快很多,并且可以随时修改数据,而在 ROM 是不能修改的,就算可以修改,也是非常慢的。
从上面初始化缓存回来后,就运行到下面的程序:
#####xuhua########open cp1
#if 1
        mfc0   t0,COP_0_STATUS_REG
      and    t0,0xdbffffff
      or     t0,t0,0x24000000
       mtc0   t0,COP_0_STATUS_REG
#endif
#################
上面的程序打开了 CP1 处理器,也就是浮点处理器。先从状态寄存器里取得 32 位中高 4 位的协处理器状态,然后先用通过 0x2400 0000 来打开浮点协处理器,把值改写回到状态寄存器。
 
/* close L2 cache */
    li      a0, 0xbfe00164
        sw      zero, 0(a0);
 
        mfc0   a0,COP_0_CONFIG
        and    a0,a0,~((1<<12) | 3)
    or     a0,a0,2
        mtc0   a0,COP_0_CONFIG
上面的程序关闭了二级缓存。
 
TTYDBG("Copy PMON to execute location.../r/n")
#ifdef DEBUG_LOCORE
    TTYDBG(" start = 0x")
    la a0, start
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值