本人打算将原先ADS下的代码文件转到MDK下使用<br />但是原先ADS下的汇编程序编译时出现如下错误:<br />study_msl.axf: Error: L6238E: os_cpu_a.o(subr) contains invalid call from '~PRES8' function to 'REQ8' function OSIntEnter.<br />...<br />os_cpu_a.s中有关汇编引用C程序的代码如下:<br /> IMPORT OSIntEnter<br /> IMPORT OSIntExit<br /> IMPORT OSTimeTick<br /> IMPORT EInt4567Isr<br />...<br />K_LINK_SAVE DCD 0 ;定义变量K_LINK_SAVE,初值为0;<br />K_PSR_SAVE DCD 0<br /><br /><br /> EXPORT OSEINT4567ISR <br />OSEINT4567ISR<br /> STMFD sp!, {r4}<br /> LDR r4, =K_LINK_SAVE<br /> STR lr, [r4] <br /> MRS lr, spsr<br /> STR lr, [r4, #4] <br /> LDMFD sp!, {r4}<br /> ORR lr, lr, #0x80 <br /> MSR cpsr_cxsf, lr <br /><br /> SUB sp, sp, #4 <br /> STMFD sp!, {r0-r12, lr}<br /> LDR r4, =K_LINK_SAVE<br /> LDR lr, [r4, #0]<br /> SUB lr, lr, #4 ; lr = LINK_SAVE - 4,<br /> STR lr, [sp, #(14*4)] <br /> LDR r4, [r4, #4] <br /> STMFD sp!, {r4} <br /> LDR r4, addr_OSTCBCur<br /> LDR r4, [r4]<br /> STR sp, [r4] <br /><br /> BL OSIntEnter<br /> BL EInt4567Isr<br /> BL OSIntExit<br /><br /> LDMFD sp!, {r4} <br /> MSR cpsr_cxsf, r4<br /> LDMFD sp!, {r0-r12,lr,pc} <br /><br />哪位高手帮忙指点一下,谢谢 |
|