设置tiny6410的svc模式

    xiaoxiao2021-04-17  36

    要设置用户工作在svc模式,是通过程序状态寄存器来设置的,

    程序状态寄存器有cpsr跟spsr,设置工作模式主要是设置cpsr,由手册可知,要设置svc模式,只要设置cpsr的M位为10011即可。

    设置思路可以分为两步,第一步把这五位全部清零,第二步,根据位置置一。

    然后在reset处加上 bl set_svc

    set_svc: mrs r0, cpsr bic r0, r0,#0x1f orr r0, r0,0#d3 msr cpsr, r0

    完成设置。

    之所以是d3而不是13,是因为要把spsr的I位跟F位设置为1,屏蔽FIQ跟IRQ。

    转载请注明原文地址: https://ju.6miu.com/read-674242.html

    最新回复(0)