#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <signal.h>
#include <sys/time.h>
#include <time.h>
#include <sys/mman.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <errno.h>
#define RK322X_DDR_MSCH_PHYS 0xff720000
#define RK322X_DDR_MSCH_SIZE 1024*64
#define INIT_REG0_OFFSET 0x8
#define INIT_REG1_OFFSET 0xc
#define INIT_REG2_OFFSET 0x138
#define INIT_REG3_OFFSET 0x14c
#define INIT_REG4_OFFSET 0x160
#define INIT_REG5_OFFSET 0x174
#define TRIGGER_OFFSET 0x28
#define COUNTER_REG0_OFFSET 0x13c
#define COUNTER_REG1_OFFSET 0x150
#define COUNTER_REG2_OFFSET 0x164
#define COUNTER_REG3_OFFSET 0x178
#define CPU_MSCH_OFFSET 0x1800
#define GPU_MSCH_OFFSET 0x400
#define PERI_MSCH_OFFSET 0x800
#define VOP0_MSCH_OFFSET 0xc00
#define VOP1_MSCH_OFFSET 0x1000
#define VIDEO_MSCH_OFFSET 0x1400
//unsigned long long *io_base; //unsigned long long:64bits
//unsigned char *io_base;
void *io_base;
void relative_init(int offset)
{
//printf("**************%x %x %d\n",io_base,io_base+1,sizeof(void *));//void *io_base时 f62e9000 f62e9001 4
*((unsigned long long *)(io_base + INIT_REG0_OFFSET + offset)) = 0x8;
*((unsigned long long *)(io_base + INIT_REG1_OFFSET + offset)) = 0x1;
*((unsigned long long *)(io_base + INIT_REG2_OFFSET + offset)) = 0x6;
*((unsigned long long *)(io_base + INIT_REG3_OFFSET + offset)) = 0x10;
*((unsigned long long *)(io_base + INIT_REG4_OFFSET + offset)) = 0x8;
*((unsigned long long *)(io_base + INIT_REG5_OFFSET + offset)) = 0x10;
//printf("iobase: %x, INIT_REG0_OFFSE
使用c语言编写统计带宽的工具
最新推荐文章于 2023-11-24 13:53:39 发布