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

📄 ki_util.c

📁 用于TM1300/PNX1300系列DSP(主要用于视频处理)的操作系统pSOS。包括全部源码
💻 C
字号:
#include "kernel_interface.h"#ifndef __TCS__#include <sys/types.h>#include <sys/ipc.h>#include <sys/shm.h>#include <signal.h>static struct {    DIRECTORY   directory;    QUEUE       queues[SMEM_MAXNODES + 1];} *unix_shared_mem;#define KEY_VAL 0x23450974#endif/***********************************************//* init_shmem: initialize shared memory        *//*  INPUTS:                                    *//* RETURNS:                                    *//***********************************************/ULONG init_shmem(){#ifndef __TCS__  int shmid;  char msg[50];  /* create DIRECTORY shared memory segment */  shmid = shmget(KEY_VAL,sizeof(*unix_shared_mem),IPC_CREAT|0x1ff);  if(shmid==-1) {    sprintf(msg,"shmget DIRECTORY failed: node %d",My_Node);    perror(msg);    return FAT_SHM;  }  /* attach to DIRECTORY shared memory segment */  unix_shared_mem = (void *)shmat(shmid,0,0);  if((int)unix_shared_mem==-1) {    sprintf(msg,"shmat DIRECTORY failed: node %d",My_Node);    perror(msg);    return FAT_SHM;  }  k_directory = &(unix_shared_mem->directory);  k_queues    =  (unix_shared_mem->queues);#endif  return 0;}/***********************************************//* ki_bcopy: copy packet from shared memory    *//*           queue of one node to another      *//*  INPUTS: source packet                      *//*          destination packet                 *//*          length of packet                   *//* RETURNS:                                    *//***********************************************/extern void ki_bcopy(ULONG *src, ULONG *dst, ULONG length){  memcpy(dst,src,length);}struct arglist    {    ULONG	arg1;    ULONG	arg2;    ULONG	arg3;    ULONG	arg4;    ULONG	arg5;    ULONG	arg6;    ULONG	arg7;    ULONG	arg8;};ULONG CALL_ENTRY(void (*svcj_tab)(), ULONG func, struct arglist *args, void *pks){  return svc_call(func,args->arg1,args->arg2,args->arg3,args->arg4,args->arg5,	   args->arg6,args->arg7,args->arg8,pks);}void xfatal_err(ULONG fcode, ULONG origin){  _k_fatal(fcode,origin);}

⌨️ 快捷键说明

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