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

📄 io_sprt.h

📁 Analog公司的ADSP_BF532上面实现以太网接口的源码
💻 H
字号:
//##############################################################
//#
//# IO_SPRT.H - IO Support functions for the ADSP-2153x family
//#
//# ADSP-21535 Embedded Web Server Project
//#
//# (c) ANALOG DEVICES 2002
//#     eDSP Division
//#     Stefan Hacker
//#     23-DEC-2002
//#
//# History
//#     23-DEC-2002 HS  initial version
//#     29-DEC-2002 HS  verified all inline functions
//#     16-APR-2003 HS  release 1.0
//#

#ifndef __io_sprt_h__
#define __io_sprt_h__


// *(unsigned char*)addr = (unsigned)value;
inline void _outp(unsigned int addr, unsigned char value)
{
    asm("B[%0] = %1; CSYNC;"
        : 
        : "p" (addr), "D" (value)
        : );
}

// *(unsigned short*)addr = (unsigned)value;
inline void _outpw(unsigned int addr, unsigned short value)
{
    asm("W[%0] = %1; CSYNC;"
        : 
        : "p" (addr), "H" (value)
        :);
}

// *(unsigned int*)addr = (unsigned)value;
inline void _outpd(unsigned int addr, unsigned int value)
{
    asm("[%0] = %1; CSYNC;"
        : 
        : "p" (addr), "D" (value)
        :);
}

// returns (*(unsigned char*) addr);
inline char _inp(unsigned int addr)
{
    unsigned char rval;
    asm("%0 = B [%1] (Z);"
        : "=D" (rval)
        : "p" (addr)
        :);
    return rval;
}

// returns (*(unsigned short*) addr);
inline short _inpw(unsigned int addr)
{
    unsigned short rval;
    asm("%0 = W [%1];"
        : "=H" (rval)
        : "p" (addr)
        :);
    return rval;
}

// returns (*(unsigned int*) addr);
inline int _inpd(unsigned int addr)
{
    unsigned int rval;
    asm("%0 = [%1];"
        : "=D" (rval)
        : "p" (addr)
        :);
    return rval;
}

// *(unsigned int*)addr = (unsigned)value;
inline void _ch_clk(unsigned int addr, unsigned int value)
{
    asm("[%0] = %1; SSYNC; nop; nop; nop;"
        : 
        : "p" (addr), "D" (value)
        :);
}
#endif // __io_sprt_h__

⌨️ 快捷键说明

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