Search found 444 matches

by cfbsoftware
Thu Oct 24, 2013 9:34 pm
Forum: Oberon Language
Topic: Updated Oberon Language Report (Revision 1.10.2013)
Replies: 21
Views: 129646

Re: Updated Oberon Language Report (Revision 1.10.2013)

Runtime checks such as these (and overflows etc.) are not requirements of the language report. They are left up to the discretion of the implementer. We haven't implemented them in the Astrobe compiler. We recommend the use of assertions as a problem-detection strategy for programmers who write code...
by cfbsoftware
Mon Oct 21, 2013 11:14 am
Forum: Oberon Language
Topic: Nested procedures
Replies: 23
Views: 128482

Re: Nested procedures

I suspect things would be much clearer to readers of the Language Report if "non-global" would be added to the following paragraph: Revision 1.10.2013 of the Language Report now says: All constants, variables, types, and procedures declared within a procedure body are local to the procedure. The va...
by cfbsoftware
Mon Oct 21, 2013 7:44 am
Forum: Oberon Language
Topic: Updated Oberon Language Report (Revision 1.10.2013)
Replies: 21
Views: 129646

Updated Oberon Language Report (Revision 1.10.2013)

The latest version of the Oberon Language Report (Revision 1.10.2013) can now be downloaded from Niklaus Wirth's website. We will be updating the Astrobe Oberon compiler to conform to this report for the next major release. A summary of the changes follows: Features Added: A new standard data type B...
by cfbsoftware
Sun Oct 06, 2013 4:18 am
Forum: Astrobe for ARM Cortex-M0, M3, M4 and M7
Topic: is support for cortex M4 based boards possible / planned
Replies: 11
Views: 77643

Re: is support for cortex M4 based boards possible / planned

Yes - the Oberon compiler used in Astrobe is intended to be used for developing "hard realtime" applications. There isn't a "runtime system" in the traditional sense of the word. Any processing overhead that does exist is related to features that help debugging. These can be disabled in v4.5 Astrobe...
by cfbsoftware
Sat Oct 05, 2013 12:16 pm
Forum: Astrobe for ARM Cortex-M0, M3, M4 and M7
Topic: is support for cortex M4 based boards possible / planned
Replies: 11
Views: 77643

Re: is support for cortex M4 based boards possible / planned

The Cortex-M4 instruction set is a superset of the Cortex-M3 instruction set so it should not be too difficult to get Oberon code working on the Cortex-M4. Do you have a particular development board in mind? Is there anything in particular that you are hoping to do with a Cortex-M4 board that you ca...
by cfbsoftware
Mon Sep 30, 2013 1:28 pm
Forum: Astrobe for ARM Cortex-M0, M3, M4 and M7
Topic: Using the additional 2kB of RAM on LPC131x / LPC134x MCUs
Replies: 0
Views: 17099

Using the additional 2kB of RAM on LPC131x / LPC134x MCUs

LPC131x/134x MCUs with 10kB of more of SRAM are similar to LPC175x/176x MCUs in that the SRAM is not in one contiguous block. The main CPU SRAM is 8kB and the separate SRAM1 and USB SRAM blocks are 2kB each. When you use the default Astrobe Linker options your application will only use the 8kB of CP...
by cfbsoftware
Mon Sep 30, 2013 8:23 am
Forum: Oberon Language
Topic: New language extension: BYTE data type
Replies: 6
Views: 58804

Re: New language extension: BYTE data type

I deliberately omitted the case where the programmer does not explicitly specify what type the constant is i.e. SYSTEM.PUT(addr, 0) It is not obvious / could easily be forgotten that this will result in a byte-transfer only. This can lead to obscure errors e.g. SYSTEM.PUT(LPC.VICVectAddr, 0) An alte...
by cfbsoftware
Sun Sep 29, 2013 12:54 am
Forum: Oberon Language
Topic: New language extension: BYTE data type
Replies: 6
Views: 58804

Re: New language extension: BYTE data type

Note that SYSTEM.PUT generates either the STRB instruction to store an 8-bit BYTE value or the STR instruction to store a 32-bit word value depending on whether the parameter passed is a byte-sized (e.g. BYTE, CHAR etc.) or word-sized (e.g. INTEGER, SET etc). Hence, when using SYSTEM.PUT to store a ...
by cfbsoftware
Mon Sep 16, 2013 1:29 pm
Forum: General
Topic: Fast ARRAY and RECORD moves
Replies: 1
Views: 121495

Fast ARRAY and RECORD moves

The auto-increment / auto-decrement versions of SYSTEM.GET and SYSTEM.PUT in v4.5 Astrobe and later allow you to implement very efficient array processing functions. For example, the following are useful general-purpose functions for moving /copying blocks of data: PROCEDURE* MoveWords*(fromAdr, toA...
by cfbsoftware
Thu Aug 22, 2013 2:12 pm
Forum: Oberon Language
Topic: New SYSTEM functions
Replies: 0
Views: 13236

New SYSTEM functions

v4.5 and later versions of Astrobe for Cortex-M3 has some new in-line SYSTEM functions which make use of Thumb-2 instructions that aren't exploited in the Oberon language. Two such instructions are CLZ (count leading zeros) and RBIT (reverse the bits in a word) which both execute in a single cycle. ...