我正在尝试访问以下功能
err = SetupForFlash();
该函数是用blackfin.c编写的。
ERROR_CODE SetupForFlash(void)
{
unsigned imask_value;
imask_value = cli(); /* disable interrupts */
/* set clock multiplier and CCLK and SCLK divider */
*pSIC_IWR |= 0x0001; /* enable PLL wakeup */
*pPLL_DIV = ((CCLK_DIVIDER & 0x3) << 4) | (SCLK_DIVIDER & 0xF);
*pPLL_CTL = (CLOCK_MULTIPLIER << 9) & 0x7E00; /* set new clock multplier */
ssync();
idle(); /* wait until PLL settle down */
/* enable async memory banks and defines timing/waitstate */
*pEBIU_AMBCTL0 = 0x7bb07bb0;
*pEBIU_AMBCTL1 = 0xffc27bb0;
*pEBIU_AMGCTL = 0x000f; /* enable all external memory banks */
/* */
sti(imask_value); /* enable interrupts */
return NO_ERR;
}
原型在blackfin.h中如下
ERROR_CODE SetupForFlash(void);
我在irq_software.c中使用该功能 我包含了带有原型的头文件blackfin.h 但我得到一个警告,该功能没有完整的原型
这是blackfin.h的标题
#ifndef __ERRORS_H__
#define __ERRORS_H__
// enum of possible errors
typedef enum
{
NO_ERR,
POLL_TIMEOUT,
VERIFY_WRITE,
INVALID_SECTOR,
INVALID_BLOCK,
UNKNOWN_COMMAND,
PROCESS_COMMAND_ERR,
NOT_READ_ERROR,
DRV_NOTAT_BREAK,
BUFFER_IS_NULL,
NUM_ERROR_CODES,
}ERROR_CODE;
// function prototypes
ERROR_CODE SetupForFlash(void);
ERROR_CODE GetCodes(void);
ERROR_CODE PollToggleBit(unsigned long ulOffset);
ERROR_CODE ResetFlash(void);
ERROR_CODE EraseFlash(void);
ERROR_CODE EraseBlock( int nBlock );
ERROR_CODE UnlockFlash(unsigned long ulOffset);
ERROR_CODE WriteData( unsigned long ulStart, long lCount, long lStride, int *pnData );
ERROR_CODE FillData( unsigned long ulStart, long lCount, long lStride, int *pnData );
ERROR_CODE ReadData( unsigned long ulStart, long lCount, long lStride, int *pnData );
ERROR_CODE ReadFlash( unsigned long ulOffset, int *pnValue );
ERROR_CODE WriteFlash( unsigned long ulOffset, int nValue );
ERROR_CODE GetSectorNumber( unsigned long ulOffset, int *pnSector );
ERROR_CODE GetSectorStartEnd( long *lStartOff, long *lEndOff, int nSector );
#endif // __ERRORS_H__
答案 0 :(得分:4)
可能__ERRORS_H__
由系统包含。使用__MYERRORS_H__
进行测试。