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

📄 load.c

📁 专业汽车级嵌入式操作系统OSEK的源代码
💻 C
字号:
/** * load.c * Loads binary into VM memory. */#include <stdio.h>#include <stdlib.h>#include <fcntl.h>#include <unistd.h>#include <sys/types.h>#include <sys/stat.h>#include "language.h"#include "magic.h"#include "trace.h"#include "types.h"#ifndef O_BINARY#define O_BINARY 0#endifvoid abort_tool (char *msg, char *arg){  printf (msg, arg);  exit (1);}void readBinary (char *fileName){  int pDesc;  int pLength;  int pTotal;  int pNumRead;  byte *pBinary;  pDesc = open (fileName, O_RDONLY | O_BINARY);  if (pDesc == -1)    abort_tool ("Unable to open %s\n", fileName);  pLength = lseek (pDesc, 0, SEEK_END);  lseek (pDesc, 0, SEEK_SET);  pBinary = (void *) malloc (pLength);  pTotal = 0;  while (pTotal < pLength)  {    pNumRead = read (pDesc, pBinary + pTotal, pLength - pTotal);    if (pNumRead == -1)    {      printf ("Unexpected EOF\n");      exit (1);    }    pTotal += pNumRead;  }  #if DEBUG_STARTUP  printf ("Installing binary %d\n", (int) pBinary);  #endif  install_binary (pBinary);  #if DEBUG_STARTUP  printf ("Checking validity of magic number\n");  #endif  if (get_master_record()->magicNumber != MAGIC)  {    printf ("Fatal: bad magic number: 0x%X. Linked for RCX?"            "\n", get_master_record()->magicNumber);    exit(1);   }}

⌨️ 快捷键说明

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