OpenCores
URL https://opencores.org/ocsvn/pcie_ds_dma/pcie_ds_dma/trunk

Subversion Repositories pcie_ds_dma

Compare Revisions

  • This comparison shows the changes necessary to convert path
    /pcie_ds_dma/trunk/soft/linux/common/pex
    from Rev 5 to Rev 6
    Reverse comparison

Rev 5 → Rev 6

/dma_memory.cpp File deleted
/dma_memory.h File deleted
/pex_board.cpp
2,9 → 2,6
#ifndef __PEX_BOARD_H__
#include "pex_board.h"
#endif
#ifndef __DMA_MEMORY__H__
#include "dma_memory.h"
#endif
 
//-----------------------------------------------------------------------------
 
33,7 → 30,7
fd = -1;
bar0 = bar1 = NULL;
memset(&bi, 0, sizeof(bi));
m_dma = new dma_memory();
//m_dma = new dma_memory();
}
 
//-----------------------------------------------------------------------------
40,7 → 37,7
 
pex_board::~pex_board()
{
if(m_dma) delete m_dma;
//if(m_dma) delete m_dma;
core_close();
}
 
161,21 → 158,21
// подготовим к работе ПЛИС ADM
fprintf(stderr,"%s(): Prepare ADM PLD.\n", __FUNCTION__);
core_block_write( 0, 8, 0);
core_pause(100); // pause ~ 100 msec
core_delay(100); // pause ~ 100 msec
for(i = 0; i < 10; i++)
{
core_block_write( 0, 8, 1);
core_pause(100); // pause ~ 100 msec
core_delay(100); // pause ~ 100 msec
core_block_write( 0, 8, 3);
core_pause(100); // pause ~ 100 msec
core_delay(100); // pause ~ 100 msec
core_block_write( 0, 8, 7);
core_pause(100); // pause ~ 100 msec
core_delay(100); // pause ~ 100 msec
temp = core_block_read( 0, 010 ) & 0x01;
if(temp)
break;
}
core_block_write( 0, 8, 0xF );
core_pause(100); // pause ~ 100 msec
core_delay(100); // pause ~ 100 msec
 
return 0;
}
293,9 → 290,9
d5=core_reg_peek_ind( ii, 0x105 );
 
switch( d ) {
case 1: str="TRD_MAIN "; break;
case 2: str="TRD_BASE_DAC "; break;
case 3: str="TRD_PIO_STD "; break;
case 1: str="TRD_MAIN "; break;
case 2: str="TRD_BASE_DAC "; break;
case 3: str="TRD_PIO_STD "; break;
case 0: str=" - "; break;
case 0x47: str="SBSRAM_IN "; break;
case 0x48: str="SBSRAM_OUT "; break;
319,6 → 316,9
case 0x72: str="TRD_TS201 "; break;
case 0x73: str="TRD_STREAM_IN "; break;
case 0x74: str="TRD_STREAM_OUT"; break;
case 0xA0: str="TRD_ADC "; break;
case 0xA1: str="TRD_DAC "; break;
case 0x91: str="TRD_EMAC "; break;
 
 
default: str="UNKNOWN"; break;
351,7 → 351,7
 
//-----------------------------------------------------------------------------
 
void pex_board::core_pause(int ms)
void pex_board::core_delay(int ms)
{
struct timeval tv = {0, 0};
tv.tv_usec = 1000*ms;
394,7 → 394,7
break;
 
if( ii>10000 )
core_pause( 1 );
core_delay( 1 );
if( ii>20000 ) {
return 0xFFFF;
}
439,7 → 439,7
break;
 
if( ii>10000 )
core_pause( 1 );
core_delay( 1 );
if( ii>20000 ) {
return;
}
452,7 → 452,7
 
u32 pex_board::core_bar0_read( u32 offset )
{
return bar0[offset];
return bar0[2*offset];
}
 
//-----------------------------------------------------------------------------
459,7 → 459,7
 
void pex_board::core_bar0_write( u32 offset, u32 val )
{
bar0[offset] = val;
bar0[2*offset] = val;
}
 
//-----------------------------------------------------------------------------
466,7 → 466,7
 
u32 pex_board::core_bar1_read( u32 offset )
{
return bar1[offset];
return bar1[2*offset];
}
 
//-----------------------------------------------------------------------------
582,7 → 582,14
 
//-----------------------------------------------------------------------------
 
u32 pex_board::core_allocate_memory(int DmaChan, void** pBuf, u32 blkSize, u32 blkNum, u32 isSysMem, u32 dir, u32 addr)
u32 pex_board::core_allocate_memory(int DmaChan,
void** pBuf,
u32 blkSize,
u32 blkNum,
u32 isSysMem,
u32 dir,
u32 addr,
BRDstrm_Stub **pStub )
{
m_DescrSize[DmaChan] = sizeof(AMB_MEM_DMA_CHANNEL) + (blkNum - 1) * sizeof(void*);
m_Descr[DmaChan] = (AMB_MEM_DMA_CHANNEL*) new u8[m_DescrSize[DmaChan]];
644,6 → 651,7
}
 
*pBuf = &m_Descr[DmaChan]->pBlock[0];
*pStub = (BRDstrm_Stub*)m_Descr[DmaChan]->pStub;
 
return 0;
}
/factory.cpp
0,0 → 1,14
 
#include <iostream>
#include <string>
#include <istream>
#include <fstream>
#include <iomanip>
 
#include "pex_board.h"
#include "factory.h"
 
BRD_API board* create_board()
{
return new pex_board();
}
/pex_board.h
21,7 → 21,7
 
//-----------------------------------------------------------------------------
 
class dma_memory;
//class dma_memory;
 
//-----------------------------------------------------------------------------
#define MAX_NUMBER_OF_DMACHANNELS 4
36,7 → 36,7
struct board_info bi;
void core_pause(int ms);
 
dma_memory *m_dma;
//dma_memory *m_dma;
 
AMB_MEM_DMA_CHANNEL *m_Descr[MAX_NUMBER_OF_DMACHANNELS];
u32 m_DescrSize[MAX_NUMBER_OF_DMACHANNELS];
54,9 → 54,12
int core_board_info();
int core_pld_info();
int core_resource();
void core_delay(int ms);
 
u32 core_alloc(int DmaChan, BRDctrl_StreamCBufAlloc* sSCA);
u32 core_allocate_memory(int DmaChan, void** pBuf, u32 blkSize, u32 blkNum, u32 isSysMem, u32 dir, u32 addr);
u32 core_allocate_memory(int DmaChan, void** pBuf, u32 blkSize,
u32 blkNum, u32 isSysMem, u32 dir,
u32 addr, BRDstrm_Stub **pStub);
u32 core_free_memory(int DmaChan);
u32 core_start_dma(int DmaChan, int IsCycling);
u32 core_stop_dma(int DmaChan);
/factory.h
0,0 → 1,23
#ifndef FACTORY_H
#define FACTORY_H
 
#include "board.h"
 
#ifdef WINDOWS
#define BRD_API __declspec( dllexport )
#else
#define BRD_API
#endif
 
#ifdef __cplusplus
extern "C" {
#endif
 
BRD_API board* create_board();
 
#ifdef __cplusplus
};
#endif
 
 
#endif // FACTORY_H
/Makefile
0,0 → 1,45
#
#change this makefile for your target...
#
 
BASENAME = libpex_board.so
SONAME = $(BASENAME).0
LIBNAME = $(BASENAME).0.0
 
ROOT_DIR := $(shell pwd)
LIBDIR := ../../lib
 
CC := $(CROSS_COMPILE)g++
LD := $(CROSS_COMPILE)g++
 
INCDIR := . \
../../driver/pexdrv \
../board \
../utils \
../dma
 
INCLUDE := $(addprefix -I, $(INCDIR))
 
CFLAGS := -D__LINUX__ -O2 -Wall $(INCLUDE)
LFLAGS := -ldl -lrt -lpthread -lm
 
SRCFILE := $(wildcard *.cpp)
SRCFILE += $(wildcard ../board/*.cpp)
#SRCFILE += $(wildcard ../dma/*.cpp)
OBJFILE := $(patsubst %.cpp,%.o, $(SRCFILE))
 
all: $(LIBNAME)
 
$(LIBNAME): $(OBJFILE)
$(LD) -shared -rdynamic -Wl,-soname,$(SONAME) \
-o $(LIBNAME) $(notdir $(OBJFILE)) $(LFLAGS)
chmod 666 $(LIBNAME)
ln -sf $(LIBNAME) $(SONAME)
ln -sf $(SONAME) $(BASENAME)
cp -fa $(BASENAME) $(SONAME) $(LIBNAME) $(LIBDIR)
rm *.o *.d
 
include ../Mk.Rules
 
src:
echo $(SRCFILE)

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.