📄 nagracsd_test.c
字号:
#include <stdio.h>#include "rmdef/rmdef.h"#define ALLOW_OS_CODE 1#include "llad/include/gbus.h"#include "rua/include/rua.h"#include "dynamic_drmmanager.h"#define XRPC_BUF_SIZE 1024 * 25#define BUF_SIZE 1024int main(int argc, char **argv){ RMuint8 *xrpc = NULL; RMuint8 *buffer_gbus = NULL; RMuint8 *buffer_linux = NULL; RMstatus status; struct RUA *pInstance; struct SCsdInitParameters init_params; status = RUACreateInstance(&pInstance, 0); if (status != RM_OK) { RMDBGLOG((ENABLE, "Unable to talk to RUA instance\n")); return -1; } RMDBGLOG((ENABLE, "Created RUA instance...\n")); xrpc = (RMuint8*)RUAMalloc(pInstance, 0, RUA_DRAM_UNPROTECTED, XRPC_BUF_SIZE); buffer_gbus = (RMuint8*)RUAMalloc(pInstance, 0, RUA_DRAM_UNPROTECTED, BUF_SIZE); RUALock(pInstance, (RMuint32)buffer_gbus, BUF_SIZE); buffer_linux = (RMuint8*)RUAMap(pInstance, (RMuint32)buffer_gbus, BUF_SIZE); if ((xrpc == NULL) || (buffer_linux == NULL) || (buffer_gbus == NULL) ) { RMDBGLOG((ENABLE,"Unable to alloc memory on gbus\n")); return -1; } init_params.xrpc_base_address = (RMuint32)xrpc; init_params.xrpc_size = BUF_SIZE; init_params.flash_sector = 4; init_params.slot = 0; init_params.with_preload = FALSE; init_params.virt_buf = (RMuint32*)buffer_linux; init_params.phys_buf = (RMuint32*)buffer_gbus; if ( RMFAILED(status = csdInitialize((TCsdInitParameters)&init_params) )) { RMDBGLOG((ENABLE, "Unable to initialize nagracsd xtask\n")); return -1; } csdTerminate((TCsdInitParameters)&init_params); RUAFree(pInstance, (RMuint32)xrpc); RUAUnLock(pInstance, (RMuint32)buffer_gbus, BUF_SIZE); RUAUnMap(pInstance, buffer_gbus, BUF_SIZE); RUAFree(pInstance, (RMuint32)buffer_gbus); RUADestroyInstance(pInstance); return 0;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -