|   用匯編語言申請棧空間  時(shi)間:2017-01-05作(zuo)者(zhe):華清遠見 在C程序運行以(yi)前(qian)要設置好(hao)棧空(kong)間,在嵌入式ARM系統中,ARM 的(de)啟(qi)動代(dai)碼可以(yi)實現此類功能, 
	etup Stack for each mode 以上是MDK的startup.s文件對各種處理器模(mo)式棧空間的設(she)置(zhi),但是在多進程(cheng)編程(cheng)時我們(men)希(xi)望棧空間的設(she)置(zhi)更靈(ling)活(huo),我們(men)可以使用幾(ji)條偽指(zhi)令來實(shi)現棧空間的申請, AREA |subr|, CODE, READONLY ;軟件中斷 
	SoftwareInterrupt 在地(di)址(zhi)StackSvc的(de)(de)空(kong)間(jian)(SvcStackSpace + SVC_STACK_LEGTH * 4 - 4),這個值正好是下面用SPACE 申請(qing)的(de)(de)空(kong)間(jian)的(de)(de)高(gao)地(di)址(zhi),ATPCS標(biao)準ARM采用FD棧,所(suo)以要去(qu)棧空(kong)間(jian)的(de)(de)高(gao)地(di)址(zhi); 
	        AREA SWIStacks, DATA, NOINIT,ALIGN=2 使用SPACE 申請以SvcStackSpace標(biao)號為(wei)起始地址,空間(jian)(jian)為(wei)SVC_STACK_LEGTH * 4大(da)小的(de)空間(jian)(jian)。 
 相關資訊 發表評論 
 |