📄 swis.h
字号:
/* -*-C-*- * * $Revision: 1.2 $ * $Author: mechavar $ * $Date: 2000/05/01 19:37:08 $ * * Copyright (c) 2000 ARM, INC. * All Rights Reserved. * * Project: BootStrap Loader * * */#include "module.h"#define I_Bit 0x80#define F_Bit 0x40#define User_Mode_Bits 0x0f#define Mode_Bits 0x1f#define SVC_Mode 0x13#define Service_AppSpace 0x01#define Service_SetEnv 0x02#define Service_AppLoaded 0x03#define Service_AppStart 0x04#define SWI_WriteC 0x00#define SWI_WriteHex 0x01#define SWI_Write0 0x02#define SWI_NewLine 0x03#define SWI_ReadC 0x04#define SWI_CLI 0x05#define SWI_WriteDec 0x06#define SWI_PrettyPrint 0x07#define SWI_ReportError 0x08#define SWI_FlashWrite 0x09#define SWI_FlashErase 0x0a#define SWI_ServiceCall 0x0b#define SWI_SetEnv 0x0c#define SWI_ReadLine 0x0e#define SWI_GetEnv 0x10#define SWI_Exit 0x11#define SWI_EnterOS 0x16#define SWI_GetErrno 0x60#define SWI_Clock 0x61#define SWI_Time 0x63#define SWI_Remove 0x64#define SWI_Rename 0x65#define SWI_Open 0x66#define SWI_Close 0x68#define SWI_Write 0x69#define SWI_Read 0x6a#define SWI_Seek 0x6b#define SWI_Flen 0x6c#define SWI_IsTTY 0x6e#define SWI_TmpNam 0x6f#define SWI_InstallHandler 0x70#define SWI_GenerateError 0x71extern void DoGo(void);extern void DoGoS(void);extern void Supervisor(void);extern void UnkSWI(void);extern void ErrorHandler(void);extern void EnterOS(void);typedef struct Env { char *command_line; unsigned himem;} Env;typedef struct SwiRegs { unsigned r[13]; /* R0 - R12 */ unsigned cpsr; /* spsr on entry to SWI */ unsigned pc; /* lr on entry to SWI */} SwiRegs;void WriteC(int c);int ReadC(void);void Write0(char *s);int ReadLine(char *prompt, char *buffer, int maxlen);int ReadLineZ(char *buffer, int maxlen);void NewLine(void);void WriteHex(unsigned w);void FlashWrite(unsigned base, unsigned limit, char *source);void FlashErase(unsigned base, unsigned limit);void PrettyPrint(const char *fmt, ...);CallBack CLI(char *s);__value_in_regs ServiceBlock ServiceCall(int service, ...);CallBack ReportError(unsigned errno, const char *fmt, ...);CallBack ReportOK(void);CallBack SetEnv(char *command_line, unsigned applimit);__value_in_regs Env GetEnv(void);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -