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) |