⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 system.h

📁 在ucos-ii下用LPC2290的spi端口驱动M65的液晶屏
💻 H
📖 第 1 页 / 共 2 页
字号:
/*********************************************************************************************************
** Function name:			SavePortSet
** Descriptions:			保存本机端口设置
** input parameters:		Port:端口号
** Returned value:			TRUE or FLASH
********************************************************************************************************/
extern uint8 SavePortSet(uint16 Port);

/*********************************************************************************************************
** Function name:			SaveServerIpSet
** Descriptions:			保存服务器IP设置
** input parameters:		ip0~ip3:ip值
** Returned value:			TRUE or FLASH
********************************************************************************************************/
extern uint8 SaveServerIpSet(uint8 ip0, uint8 ip1, uint8 ip2, uint8 ip3);

/*********************************************************************************************************
** Function name:			GetServerPortSet
** Descriptions:			保存服务器端口设置
** input parameters:		Port:端口号
** Returned value:			TRUE or FLASH
********************************************************************************************************/
extern uint8 SaveServerPortSet(uint16 Port);

/*********************************************************************************************************
** 函数名称: BeginUpgrade
** 功能描述: 开始升级
** 输 入: 无
** 输 出: 0: 将要升级第0块
**         1: 将要升级第1块
********************************************************************************************************/
extern uint8 BeginUpgrade(void);

/*********************************************************************************************************
** 函数名称: WordProgram
** 功能描述: 字节编程
** 输 入: Addr :所编程的2个字节在程序中的相对偏移
**         Data :要编成的数据
** 输 出: 0: 失败
**         1: 成功
********************************************************************************************************/
extern uint8 WordProgram(uint32 Addr, uint16 Data);

/*********************************************************************************************************
** 函数名称: SectorErase
** 功能描述: 擦除扇区()
** 输 入: Index 相对当前程序起始地址的扇区索引
** 输 出: 0: 失败
**         1: 成功
********************************************************************************************************/
extern uint8 SectorErase(int32 Index);

/*********************************************************************************************************
** 函数名称: EndUpgrade
** 功能描述: 升级结束
** 输 入: 无
** 输 出: 无
********************************************************************************************************/
extern void EndUpgrade(void);

#define LOW_ADDR    0x80020000
#define HIGH_ADDR   0x80110000

#define WordUpProgram(a, b)  WordProgram(a, b)


/*********************************************************************************************************
** 函数名称: WordCurProgram
** 功能描述: 半字(16位)编程
** 输 入: Addr :所编程的2个字节在当前程序中的相对偏移
**         Data :要编成的数据
** 输 出: 0: 失败
**         1: 成功
********************************************************************************************************/
__inline uint8 WordCurProgram(uint32 Addr, uint16 Data)
{
	extern void Reset(void);

    if ((uint32)Reset == LOW_ADDR)
    {
        return WordProgram(Addr - HIGH_ADDR + LOW_ADDR, Data);
    }
    else
    {
        return WordProgram(Addr + HIGH_ADDR - LOW_ADDR, Data);
    }
}

/*********************************************************************************************************
** 函数名称: WordUpRead
** 功能描述: 读半字(16位)
** 输 入: Addr :所编程的2个字节在升级程序中的相对偏移
** 输 出: 读到的结果
********************************************************************************************************/
__inline uint32 WordUpRead(uint32 Offset)
{    
	extern void Reset(void);

    if ((uint32)Reset == LOW_ADDR)
    {
        return ((uint16 *)(HIGH_ADDR + Offset))[0];
    }
    else
    {
        return ((uint16 *)(LOW_ADDR + Offset))[0];
    }
}

/*********************************************************************************************************
** 函数名称: WordRead
** 功能描述: 读半字(16位)
** 输 入: Addr :所编程的2个字节在当前程序中的相对偏移
** 输 出: 读到的结果
********************************************************************************************************/
__inline uint32 WordCurRead(uint32 Offset)
{    
	extern void Reset(void);

    return ((uint16 *)((uint32)Reset + Offset))[0];
}

/*********************************************************************************************************
** 函数名称: GetUpSecIndex
** 功能描述: 获得指定升级程序偏移所在的扇区号(SectorErase需要的参数)
** 输 入: Offset 相对升级程序起始地址的偏移地址
** 输 出: 相对当前程序的扇区偏移(SectorErase需要的参数)
********************************************************************************************************/
__inline int32 GetUpSecIndex(int32 Offset)
{
	extern void Reset(void);

    if ((uint32)Reset == LOW_ADDR)
    {
        return (Offset >> 12) + ((HIGH_ADDR - LOW_ADDR) >> 12);
    }
    else
    {
        return (Offset >> 12) - ((HIGH_ADDR - LOW_ADDR) >> 12);
    }
}

/*********************************************************************************************************
** 函数名称: GetCurSecIndex
** 功能描述: 获得指定程序偏移所在的扇区号(SectorErase需要的参数)
** 输 入: Offset 相对程序起始地址的偏移地址
** 输 出: 相对当前程序的扇区偏移(SectorErase需要的参数)
********************************************************************************************************/
__inline int32 GetCurSecIndex(int32 Offset)
{
    return (Offset >> 12);
}

/*********************************************************************************************************
** 函数名称: GetCodeVer
** 功能描述: 获得固件版本
** 输 入: 无
** 输 出: 固件版本
********************************************************************************************************/
__inline uint32 GetCodeVer(void)
{
    extern uint32 CodeVer;

    return CodeVer;
}

/*********************************************************************************************************
** 函数名称: SetFIQISR
** 功能描述: 设置FIR ISR地址,注意:FIR ISR必须用ARM指令编译
** 输 入: IST|R地址
** 输 出: 无
********************************************************************************************************/
__inline void SetFIQISR(uint32 addr)
{
    extern uint32 FIQAddr;

    FIQAddr = addr;
}

/*********************************************************************************************************
** 函数名称: SetFIQISR
** 功能描述: 设置FIR ISR地址,注意:FIR ISR必须用ARM指令编译
** 输 入: IST|R地址
** 输 出: 无
********************************************************************************************************/
__inline void SetDataAbortISR(uint32 addr)
{
    extern uint32 DataAbortAddr;

    DataAbortAddr = addr;
}

/*********************************************************************************************************
** 函数名称: SetFIQISR
** 功能描述: 设置FIR ISR地址,注意:FIR ISR必须用ARM指令编译
** 输 入: IST|R地址
** 输 出: 无
********************************************************************************************************/
__inline void SetPrefetchISR(uint32 addr)
{
    extern uint32 PrefetchAddr;

    PrefetchAddr = addr;
}

/*********************************************************************************************************
** 函数名称: SetFIQISR
** 功能描述: 设置FIR ISR地址,注意:FIR ISR必须用ARM指令编译
** 输 入: IST|R地址
** 输 出: 无
********************************************************************************************************/
__inline void SetUndefinedSR(uint32 addr)
{
    extern uint32 UndefinedAddr;

    UndefinedAddr = addr;
}

/*********************************************************************************************************
** Function name:			OSGetPrio
** Descriptions:			返回当前任务的优先级
** input parameters:		none
** Returned value:			优先级
********************************************************************************************************/
extern uint8 OSGetPrio(void);

/*********************************************************************************************************
** Function name:			GetOSCPUUsage
** Descriptions:			返回当前CPU占有率
** input parameters:		none
** Returned value:			CPU占有率
********************************************************************************************************/
extern int8 GetOSCPUUsage(void);

/*********************************************************************************************************
** Function name:			OSIntNesting
** Descriptions:			返回中断嵌套层次
** input parameters:		none
** Returned value:			OSIntNesting
********************************************************************************************************/
extern uint8 GetOSIntNesting(void);


    #ifdef __cplusplus
    }
    #endif
 
#endif
/*********************************************************************************************************
**                            End Of File
********************************************************************************************************/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -