www.riscos.com Technical Support:
DDE (Desktop Development Environment)
Overview of chapters
Desktop Tools: Chapter 1: Introduction
Desktop Tools: Chapter 2: Installing Acorn C/C++
Desktop Tools: Chapter 3: Working with desktop tools
Desktop Tools: Chapter 4: Desktop debugging tool
Desktop Tools: Chapter 5: Make
Desktop Tools: Chapter 6: SrcEdit
Desktop Tools: Chapter 7: General features
Desktop Tools: Chapter 8: AMU
Desktop Tools: Chapter 9: DecAOF
Desktop Tools: Chapter 10: Diff
Desktop Tools: Chapter 11: Find
Desktop Tools: Chapter 12: LibFile
Desktop Tools: Chapter 13: Link
Desktop Tools: Chapter 14: ObjSize
Desktop Tools: Chapter 15: Squeeze
Desktop Tools: Chapter 16: Adding your own desktop tools
Desktop Tools: Appendix A: Makefile syntax
Desktop Tools: Appendix B: FrontEnd protocols
Desktop Tools: Appendix C: DDEUtils
Desktop Tools: Appendix D: SrcEdit file formats
Desktop Tools: Appendix E: Code file formats
Desktop Tools: Appendix F: ARM procedure call standard
Desktop Tools: Chapter 1: Introduction
Introduction
About this manual
Part 1- Getting started
Part 2 - Interactive tools
Part 3 - Non-interactive tools
Part 4 - Appendices
Conventions used
Desktop Tools: Chapter 2: Installing Acorn C/C++
Installing Acorn C/C++
Hardware requirement
The Install application
Running the Installer application
Demonstration program
AcornC_C++ directory structure
Environment variables and Acorn C/C++
Run$Path
DDE$Path
C$Path
Desktop Tools: Chapter 3: Working with desktop tools
Working with desktop tools
Desktop tools
Interactive and non-interactive tools
Entering filenames
Working styles
Where to go from here
Desktop Tools: Chapter 4: Desktop debugging tool
Desktop debugging tool
Overview
Topics covered in this chapter
About debuggers
Preparing your program
Compiling
Linking
Starting a debugging session
Specifying program objects
Procedure names
Variable names
Expressions
Addresses & low-level expressions
Examples:
Execution control
Continue
Single step
Call
Return
Breakpoint
Watchpoint
Trace
Execution
Breakpoints
Watchpoints
Procedures
Event breaks
SWI breaks
Program examination and modification
Display
Source
Expression
Arguments
Locals
Backtrace
Symbols
Disassembly
Memory
Registers
FP Registers
Change
Variable
Register
Memory contents
Options and other commands
Source-level debugging
Machine-level debugging
Memory protection
Source line numbers
Stop at entry
RISC OS bindings / Arthur bindings
Command line
Base
Source tree
Log
Find
Word or Byte
String
*Commands
Help
Quit
An example debugging session
The debugging session
Desktop Tools: Chapter 5: Make
Make
Invoking Make
Using Make
Projects
Creating new projects
Maintaining projects
Opening a project
Adding and removing members
Listing members
Touching members
Multiple targets
Setting tool options
Removing projects
Creating a final target for a project
Saving a project without Making it
Setting Make main options
Text-editing Makefiles
Using conventional Makefiles
Makefile format
Programmer interface
Registering command-line tools with Make
Message-passing interface for setting tool options
Desktop Tools: Chapter 6: SrcEdit
SrcEdit
Starting SrcEdit
Typing in text
Inserting and deleting text
SrcEdit menus
The Misc menu
Saving text - the Save menu
Manipulating blocks of text - the Select menu
The Edit menu
Searching for a string of characters
Replacing a string of characters with a new string
Using keyboard short-cuts
Other useful facilities
Magic characters and their meanings
Wildcarded expressions and their meanings
Other options on the Edit menu:
The Display menu
Printing a SrcEdit file
Laying out tables - the Tab key
Regular columns
Irregular columns
Reading in text from another file
Bracket Matching
Throwback
C example throwback session
Assembler example throwback session
C++ example throwback session
Saving Options
Setting options in a SrcEdit window
The SrcEdit icon bar menu
SrcEdit task windows
Some guidelines and suggestions for using task windows
Keystroke equivalents
When editing
Keystroke equivalents in the Select menu
Keystroke equivalents in the Edit menu
Keystroke equivalents in the Find menu
Keystroke File options
Desktop Tools: Chapter 7: General features
General features
Interface
The Application menu
The Setup box
The SetUp menu
Output
The Text window
The Summary window
Toggling between the Text and Summary windows
Processed file output from filter tools
Desktop Tools: Chapter 8: AMU
AMU
Starting AMU
The Application menu
Example output
Command line interface
Options
Desktop Tools: Chapter 9: DecAOF
DecAOF
The SetUp dialogue box
SetUp options
The SetUp menu
The Application menu
Example output
Command line interface
Options
Desktop Tools: Chapter 10: Diff
Diff
The SetUp dialogue box
SetUp options
The SetUp menu
The Application Menu
Example output
Example 1
Example 2
Command line interface
Options
Desktop Tools: Chapter 11: Find
Find
The SetUp dialogue box
SetUp options
Pattern wildcards
File wildcards
The SetUp menu
The Application menu
Example output
Command line interface
Options
Pattern
Filepattern
Desktop Tools: Chapter 12: LibFile
LibFile
The SetUp dialogue box
The SetUp options
The SetUp menu
Output
Command line interface
Options
Examples
Assembler example
Desktop Tools: Chapter 13: Link
Link
The SetUp dialogue box
The SetUp menu
Output
Possible errors during a link stage
Libraries
Generating overlaid programs
Overlay description files
X-Ref option
Link map option
Linking with the overlay manager
Relocatable AIF images
Utilities
Relocatable modules
Predefined linker symbols
Command line interface
Options
Desktop Tools: Chapter 14: ObjSize
ObjSize
The SetUp dialogue box
The SetUp menu
The Application menu
Example output
Command line interface
Desktop Tools: Chapter 15: Squeeze
Squeeze
The SetUp dialogue box
The SetUp menu
The Application menu
Example output
Command line interface
Options
Desktop Tools: Chapter 16: Adding your own desktop tools
Adding your own desktop tools
The FrontEnd module
Overview
*FrontEnd_Start
*FrontEnd_SetUp
Example
Producing a complete Wimp application
!Run, !Boot and !SetUp files
!Sprites file
Template files
Writing an application description
TOOLDETAILS section
METAOPTIONS section
FILEOUTPUT section
DBOX section
MENU section
DESELECTIONS section
EXCLUSIONS section
MAKE_EXCLUSIONS section
ORDER section
MAKE_ORDER section
Messages files
Providing interactive help
!Choices file
The DDEUtils module
SrcEdit
Resource files
Make
Desktop Tools: Appendix A: Makefile syntax
Makefile syntax
Make and AMU
Command execution
Makefile basics
File name truncation
Macros as targets
Makefile structure
Advanced features
File naming
VPATH
Rule patterns, .SUFFIXES, $@, $*, $< and $?
Use of ::
Prefix$Dir
Makefiles constructed by Make
Miscellaneous features
Desktop Tools: Appendix B: FrontEnd protocols
FrontEnd protocols
Star Commands
EBNF Grammar of Description Format
WIMP Message returned after a *FrontEnd_SetUp
Desktop Tools: Appendix C: DDEUtils
DDEUtils
Filename prefixing SWIs
DDEUtils_Prefix (&42580)
Entry
Exit
Error
Use
Filename prefixing *Commands
*Prefix [directory]
Long command line SWIs
DDEUtils_SetCLSize (&42581)
Entry
Exit
Error
Use
DDEUtils_SetCL (&42582)
Entry
Exit
Error
Use
DDEUtils_GetCLSize (&42583)
Entry
Exit
Error
Use
DDEUtils_GetCl (&42584)
Entry
Exit
Error
Use
Throwback SWIs
DDEUtils_ThrowbackRegister (&42585)
Entry
Exit
Error
Use
DDEUtils_ThrowbackUnRegister (&42586)
Entry
Exit
Error
Use
DDEUtils_ThrowbackStart (&42587)
Entry
Exit
Error
Use
DDEUtils_ThrowbackSend (&42588)
Entry
Exit
Error
Use
DDEUtils_ThrowbackEnd (&42589)
Exit
Error
Throwback WIMP messages
Desktop Tools: Appendix D: SrcEdit file formats
SrcEdit file formats
Language File Format
Help File Format
Desktop Tools: Appendix E: Code file formats
Code file formats
Terminology
Byte Sex or Endian-ness
Alignment
Undefined fields
AOF
Chunk file format
Object file format
Format of the AOF header chunk
Object file type
Version ID
Number of areas
Number of symbols
Entry address area/ entry address offset
Format of area headers
Area name
Area size
Number of relocations
Attributes and Alignment
Bit 8
Bit 9
Bits 10 and 11
Bit 12
Bit 13
Bit 14
Bit 15
Bit 16
Bit 17
Bit 18
Bit 19
Bit 20
Bit 21
Bits 22-23
Bits 24-27
Bits 28-31
Area Attributes Summary
Format of the areas chunk
Relocation directives
Offset
SID (Subject Identification)
FT (Field Type)
II (Instruction Instruction)
R (relocation type)
Bits 29-31
Format of the symbol table chunk
Name
Value
Area Name
Symbol Attributes
Bits 1 and 0
Bit 2
Bit 3
Bit 4
Bit 5
Bit 6
Bit 7
Bit 8-11
Bit 12-31
Symbol Attribute Summary
String table chunk (OBJ_STRT)
Identification chunk (OBJ_IDFN)
ALF
Library file format
LIB_DIRY
ChunkIndex
EntryLength
DataLength
Data
Time Stamps
LIB_TIME
LIB_VSRN
LIB_DATA
Object Code Libraries
OFL_SYMT
OFL_TIME
AIF
Properties of AIF
Executable AIF
The Layout of AIF
AIF Header Layout
Notes
Zero-Initialisation Code
Self-Move and Self-Relocation Code
ASD
Order of Debugging Data
Endian-ness and the Encoding of Debugging Data
Representation of Data Types
Representation of Source File Positions
Debugging Data Items in Detail
The Code and Length Field
Text Names in Items
Offsets in File and Addresses in Memory
Section Items
Procedure Items
Label Items
Endproc Items
Variable Items
Type Items
Struct Items
Array Items
Subrange Items
Set Items
Enumeration Items
Function Declaration Items
Begin and End Naming Scope Items
Fileinfo Items
Desktop Tools: Appendix F: ARM procedure call standard
ARM procedure call standard
The purpose of APCS
Design criteria
The ARM Procedure Call Standard
Register names
General registers
Floating point registers
The Stack
The stack backtrace data structure
Function invocations and backtrace structures
Control arrival
Data representation and argument passing
Control return
APCS variants
32-bit PC vs 26-bit PC
Implicit vs explicit stack-limit checking
Floating-point arguments in floating-point registers
Reentrant vs non-reentrant code
APCS-2 compatibility
C Language calling conventions
Argument representation
Argument list marshalling
Non-simple value return
Function entry
Function entry - establishing the static base
Function entry - creating the stack backtrace structure
Function entry - saving and restoring floating point registers
Function entry - checking for stack limit violations
Stack limit checking - small, fixed frames
Stack limit checking - large, fixed frames
Stack limit checking - vari-sized frames
Function exit
Some examples
The APCS in non-user ARM modes
Aborts and pre-ARM6-based ARMs
This edition Copyright © 3QD Developments Ltd 2015
Last Edit: Tue,03 Nov 2015