RISC OS Open
A fast and easily customised operating system for ARM devices
ROOL
Home | News | Software | Bugs | Bounties | Forum | Documents | Photos | Contact us
Account

Hardware Abstraction Layer

Contents

  • Preface
  • RISC OS Hardware Abstraction
    • Background
    • 32-bit clean code
    • Support for newer ARM cores
    • Hardware abstraction layer
  • HAL/OS layout and headers
  • HAL workspace and memory allocation
  • Calling standards
  • Initialisation sequence
  • Compressed ROMs
  • List of HAL APIs
  • HAL entry points from RISC OS
    • Index by function
    • Index by number
  • RISC OS entry points from the HAL
    • Index by function
    • Index by number
  • HAL Device API
    • Overview
    • The device descriptor
    • Creation and removal of devices
    • List of HAL devices
  • Other documentation
    • OS_Hardware
    • Service_Hardware
    • Documentation TODO
    • HAL TODO
Revised on September 4, 2012 14:00:00 by Jeffrey Lee (213) (195.72.173.131)
Edit | Back in time (5 revisions) | See changes | History | Views: Print | Source | Linked from: Compressed ROMs, HAL_ControllerAddress, HAL Preface, RISC OS Hardware Abstraction, HAL calling standards, HAL Initialisation sequence, HAL entry points from RISC OS, RISC OS entry points from HAL, RISC OS entry points from HAL by number, HAL Device API, HAL Device overview, Creaton and removal of HAL devices, Other HAL related documentation, HAL documentation TODO, RISCOS_InitARM, RISCOS_AddRAM, RISCOS_MapInIO, RISCOS_AddDevice, RISCOS_LogToPhys, RISCOS_IICOpV, RISCOS_AccessPhysicalAddress, RISCOS_ReleasePhysicalAddress, List of HAL APIs, HAL timer API, HAL counter API, HAL TODO, HAL Device descriptor, HAL_VideoBufferAlignment, HAL_CounterDelay, HAL_CounterPeriod, HAL_CounterRate, IICLines, HAL_CounterRead, HAL entry points by number, HAL_TimerDevice, HAL_TimerGranularity, HAL_TimerMaxPeriod, HAL_TimerPeriod, HAL_TimerReadCountdown, HAL_Timers, HAL_TimerSetPeriod, HAL_Init, HAL IIC API, HAL keyboard API, HAL NVRAM API, HAL PCI API, HAL Touchscreen API, HAL UART API, HAL_CleanerSpace, HAL_DebugRX, HAL_MachineID, HAL_HardwareInfo, HAL_InitDevices, HAL_Reset, HAL_SuperIOInfo, HAL_IICBuses, HAL_IICMonitorTransfer, HAL_IICReadLines, HAL_IICSetLines, HAL_IICType, HAL_MatrixColumns, HAL_MatrixScan, HAL_NVMemoryPageSize, HAL_NVMemoryProtectedSize, HAL_NVMemoryProtection, HAL_NVMemorySize, HAL_NVMemoryType, HAL_NVMemoryWrite, HAL_TouchscreenType, HAL_UARTBreak, HAL_UARTDevice, HAL_UARTFeatures, HAL_UARTFIFOEnable, HAL_UARTFIFOSize, HAL_UARTFIFOThreshold, HAL_UARTInterruptEnable, HAL_UARTInterruptID, HAL_UARTModemControl, HAL_UARTModemStatus, HAL_UARTPorts, HAL_UARTRate, HAL_UARTShutdown, HAL_UARTStartUp, HAL_UARTTransmitByte, HAL_VideoFlybackDevice, HAL_VideoSetMode, HAL_VideoSetPowerSave, iic_transfer, HAL_VideoWritePaletteEntry, HAL_VideoFeatures, HAL_VideoVetMode, HAL_VideoSetBlank, HAL_VideoUpdatePointer, HAL_VideoSetDAG, HAL_VideoReadPaletteEntry, HAL IIC return codes, OS_Hardware, Service_Hardware, RISCOS_Start, HALDeviceVideo_VDU, HALDeviceAudio_AudC, HAL_IRQDisable, HAL_FIQClear, HAL_IRQSource, HAL_IRQStatus, HAL_FIQDisable, HAL_FIQDisableAll, HAL_FIQSource, HAL_FIQStatus, HAL_TimerIRQClear, HALDeviceSysPeri_IntC, HALDeviceComms_UART, HAL_VideoIICOp, HAL_FIQEnable, HAL_KbdScanInterrupt, HAL_PhysInfo, HAL_ATACableID, HAL_ATAControllerInfo, HAL_KbdScanFinish, HAL_KbdScanSetup, HAL_KbdScan, HAL_PCIFeatures, HAL_PCIReadConfigByte, HAL_PCIReadConfigWord, HAL_PCISlotTable, HAL_PCISpecialCycle, HAL_PCIWriteConfigByte, HAL_PCIWriteConfigWord, HAL_TouchscreenMode, HAL_TouchscreenRead, HAL_USBControllerInfo, HAL_USBPortPower, HAL_USBPortStatus, HAL_VideoRender, HAL_TimerIRQStatus, Cortex-A8 port status, OS SWI Calls, HALDeviceSysPeri_DMAC, ROM image format, HALDeviceSysPeri_DMAB, HAL_IRQClear, HALDeviceComms_GPIO, HAL_IRQEnable, Intro, HAL Hardware, HALDeviceComms_EtherNIC, RISC OS 5 USB stack overview, How to port RISC OS to new hardware, HAL_ExtMachineID, HAL_DebugTX, HAL_PlatformInfo, HALDeviceSysPeri_RTC, HAL_ATASetModes, List of HAL devices, DeleteMe_HAL_MonitorLeadID, HALDeviceSysPeri_CPUClk, HAL OS layout and headers, HAL ATA API, HAL_IICDevice, HAL_IICTransfer, HALDeviceAudio_Mixer, HAL matrix keyboard API, HAL USB API, HAL_NVMemoryIICAddress, HAL Video API, HAL_NVMemoryRead, HAL_PCIAddresses, HAL_PCIReadConigHalfword, HAL_PCIWriteConfigHalfword, HAL_TouchscreenMeasure, HAL_UARTFIFOClear, HAL_UARTFormat, HAL_UARTLineStatus, HAL_UARTReceiveByte, HAL_USBPortIRQ, HomePage, HAL_VideoOutputFormat, HAL_VideoSetInterlace, HAL_VideoPixelFormats, HAL_VideoWritePaletteEntries, HALDeviceSysPeri_BMU, HAL interrupt handling API, HAL_IRQMax, HALDeviceSysPeri_DMAL, OS_Hardware 4, HAL_UARTDefault, OS_Hardware 5, HAL_VideoFramestoreAddress, Service_Hardware 0, OS_Hardware 3, OS_Hardware 2, Service_Hardware 1, HAL workspace, OS_Hardware 0, OS_Hardware 1

Search the Wiki

Social

Follow us on and

Commercial use

For commercial enquiries, please contact the owners of RISC OS, Castle Technology Ltd.

ROOL Store

Buy RISC OS Open merchandise here, including SD cards for Raspberry Pi and more.

Donate! Why?

Help ROOL make things happen – please consider donating!

Navigation

  • Home Page
  • All Pages
  • Recently Revised
  • Authors
  • Feeds
Site design © RISC OS Open Limited 2011 except where indicated
The RISC OS Open Instiki theme is based on Insitki's default layout

Valid XHTML 1.0  |  Valid CSS

Instiki 0.19.1(MML+)
This site runs on Rails

Hosted by Arachsys