2017-01-25 16 views
0

Запись на C в ASCET (ASCET похож на SIMULINK).Ошибка: Нет подходящего шаблона asm

внешнего источника

asm uint32 HAL_GetTB(uint16 reg); 
uint32 HAL_GetTimeBase(uint16 reggy); 

uint32 HAL_GetTimeBase(uint16 reggy) 
{ 
    uint32 rtn; 
    rtn = HAL_GetTB(reggy); 
    return(rtn);  
} 

asm uint32 HAL_GetTB(uint16 reg) 
{ 
GetTimebaseVal: 
    mfspr r3, reg 
} 

Заголовок является:

#define TIMEBASELOWREAD 268 
#define TIMEBASEHIGHREAD 269 

extern uint32 HAL_GetTimeBase(uint16 reggy); 

Два модуля кода C являются:

uint32 TBH; 

TBH = HAL_GetTimeBase(TIMEBASEHIGHREAD); 
return(TBH); 

и:

uint32 TBL; 

TBL = HAL_GetTimeBase(TIMEBASELOWREAD); 
return(TBL); 

Кодирование на Freescale MPC5674 (фиксированная точка) для RTA (активное) с контроллером базового объекта Арифметическое и неявное выполнение

Я очень смущен относительно ошибки.

ответ

1
asm uint32 HAL_GetTB(uint16 reg) 
{ 
GetTimebaseVal: 
    mfspr r3, reg 
} 

должно быть:

asm uint32 HAL_GetTB(uint16 sprreg) 
{ 
% reg sprreg; 
! "r3" 
GetTimebaseVal: 
    mfspr r3, sprreg 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^