Updated VC4 docs.

--HG--
branch : dtrg-videocore
This commit is contained in:
David Given 2013-06-21 23:21:08 +01:00
parent fd2360be0f
commit 2be811bac2
2 changed files with 48 additions and 0 deletions

45
man/vc4_as.6 Normal file
View file

@ -0,0 +1,45 @@
.\" $Header$
.TH VC4_AS 1
.ad
.SH NAME
vc4_as \- assembler for Broadcom VideoCore IV
.SH SYNOPSIS
/usr/em/lib/vc4_as [options] argument ...
.SH DESCRIPTION
This assembler is made with the general framework
described in \fIuni_ass\fP(6).
.SH SYNTAX
The assembler uses a modified version of the syntax described in
https://github.com/hermanhermitage/videocoreiv/wiki/VideoCore-IV-Programmers-Manual:
condition codes must be prefixed with a full stop. Vector instructions are not
yet supported.
.SH "SEE ALSO"
uni_ass(6),
ack(1),
.br
https://github.com/hermanhermitage/videocoreiv
.SH EXAMPLE
.nf
.ta 8n 16n 24n 32n 40n 48n
An example of VideoCore IV assembly language:
ldb r0, __uart_status
b.eq r0, #0, 1b
! receive 1 byte (returned in r0)
mov r1, #AUX_MU_LSR_REG
mov r2, #AUX_MU_IO_REG
! loop until char available
recvwait:
ld r3, (r1)
and r3, #0x1
b.ne r3, #0x1, recvwait
ldb r0, (r2)
1:
b lr
.fi

View file

@ -5,6 +5,9 @@ This is a fairly crude port of the ACK to produce VideoCore IV machine
code, suitable for use on the Raspberry Pi. It produces terrible but
working code. The resulting binaries can be used either bare metal or
loaded as a GPU kernel and executed using a modified mailbox.c (see below).
Currently floating point support is present but incomplete; and as the
VideoCore IV does not have double-precision float support, the C compiler
treats doubles as single precision.
As much of the standard C library as is relevant works; if
you're running in bare-metal mode, you can hook stdin/stdout up to the