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

📄 mem_test.c

📁 SEED-DaVinci_EVM ddr 开发源代码
💻 C
字号:

#include "davincievm.h"

Uint32 memfill32( Uint32 start, Uint32 len, Uint32 val )
{
    Uint32 i;
    Uint32 end = start + len;
    Uint32 errorcount = 0;

    /* Write Pattern */
    for ( i = start; i < end; i += 4 )
    {
        *( volatile Uint32* )i = val;
    }

    /* Read Pattern */
    for ( i = start; i < end; i += 4 )
    {
        if ( *( volatile Uint32* )i != val )
        {
            errorcount++;
            break;
        }
    }

    return errorcount;
}

Uint32 memaddr32( Uint32 start, Uint32 len )
{
    Uint32 i;
    Uint32 end = start + len;
    Uint32 errorcount = 0;

    /* Write Pattern */
    for ( i = start; i < end; i += 4 )
    {
        *( volatile Uint32* )i = i;
    }

    /* Read Pattern */
    for ( i = start; i < end; i += 4 )
    {
        if ( *( volatile Uint32* )i != i )
        {
            errorcount++;
            break;
        }
    }

    return errorcount;
}

Uint32 meminvaddr32( Uint32 start, Uint32 len )
{
    Uint32 i;
    Uint32 end = start + len;
    Uint32 errorcount = 0;

    /* Write Pattern */
    for ( i = start; i < end; i += 4 )
    {
        *( volatile Uint32* )i = ~i;
    }

    /* Read Pattern */
    for ( i = start; i < end; i += 4 )
    {
        if ( *( volatile Uint32* )i != ~i )
        {
            errorcount++;
            break;
        }
    }

    return errorcount;
}

⌨️ 快捷键说明

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