- 打卡等级:初来乍到
- 打卡总天数:2
- 最近打卡:2025-04-01 08:48:10
新手上路
- 积分
- 14
|
Build target 'FreeRTOS_STC32G_Demo'
compiling port.c...
assembling .\Objects\port.src...
linking...
*** ERROR L138: CODE GENERATION: PROBLEM WHEN PROCESSING INSTRUCTIONS
CAUSE: JUMP TARGET OUT OF RANGE
ADDRESS: 0FF347DH
SEGMENT: ?PR?DISTEMP_HUMIDITY?_?DISPLAY
Program Size: data=11.4 edata+hdata=3314 xdata=0 const=290 code=16550
Target not created.
Build Time Elapsed: 00:00:01 用工程设置好的直接编译器出错(Xsmall:near,far const ,Ptr),改Large:xdata var,far const,ptr-4编译后
assembling .\Objects\port.src...
.\Objects\port.src(652): error A48: DATA-ADDRESS EXPECTED
.\Objects\port.src(728): error A48: DATA-ADDRESS EXPECTED
.\Objects\port.src(731): error A48: DATA-ADDRESS EXPECTED
.\Objects\port.src(805): error A48: DATA-ADDRESS EXPECTED
.\Objects\port.src(808): error A48: DATA-ADDRESS EXPECTED
报错的文件为:port.src里面
; line 131: portRESTORE_SPX();
MOV DR4,pxCurrentTCB
MOV WR2,@WR6+0x2
XRL WR0,WR0
MOV DR60,DR0
; line 132: portRESTORE_CONTEXT();
POP PSW
//=====================
portasm.h 里面的位置
/* Saves the stack pointer for one task into its TCB.*/
#define portSAVE_SPX() \
{ \
__asm { MOV DR0,DR60 } \
__asm { MOV DR4,pxCurrentTCB } \
__asm { MOV @WR6+0x2,WR2 } \
}
/* Restores the stack from the new TCB read to
run the task. */
#define portRESTORE_SPX() \
{ \
__asm { MOV DR4,pxCurrentTCB } \
__asm { MOV WR2,@WR6+0x2 } \
__asm { XRL WR0,WR0 } \
__asm { MOV DR60,DR0 } \
}
//===========================
|
|