Skip to main content

Frequently Asked Questions

ARMbasic questions:

What is ARMbasic?

    ARMbasic is a compiler included in a family of modules using the ARM CPU from Coridium Corp.  The compiler runs on the ARM processor and only requires a host to have a serial port or USB serial port.     Aside from having a syntax compatible with Visual BASIC, ARMbasic introduces several features of the popular PBASIC, including I2C, SERIAL, PWM, IN, OUT and FREQOUT. ARMbasic is written in ANSI C, compiled with GCC. Who is responsible for ARMbasic?

    Coridium Corp. distributes and maintains ARMbasic.  They can be contacted at www.coridium.us  . Why should I use ARMbasic?

    ARMbasic has innumerable advantages over the alternatives.

    • It's fast.
    • It produces compiled machine code not interpreted tokens.
    • It's simple.
    • It has powerful hardware functions builtin for the popular serial control busses.
    • It's cost effective.
    • It's easy to use
    • Did we say it's fast? Why should I use ARMbasic rather than GCC?

  There's no question that some problems require more complex languages.  But many control problems are quite simple and this is what ARMbasic exceeds at.  In many cases ARMbasic will run faster than a compiled C program.  How is that possible, you ask?   The answer is that ARMbasic has only global scope, there is no stack frame in the majority of the user code.   Control transfers are faster than procedure calls of C or Java.  ARMbasic is a compromise of speed and code size, but it compares favorably to programs written in C.

How fast is ARMbasic?

    The fastest loops use the WHILE ... LOOP, with a simple loop running 4 million iterations per second.     Loops take a number of instructions to execute, when running simple instructions such as X= X+1, it will run at speeds exceeding 13 million lines per second.

What differences are there between ARMbasic and PBASIC?

    See Differences between ARMbasic and PBASIC. How compatible is ARMbasic with Windows Visual-BASIC code?

    ARMbasic uses Visual BASIC syntax where compatible.  Its unlikely you'll be porting a Visual BASIC application to ARMbasic, but if you do let us know about it.      Being a subset of Visual BASIC opens a larger audience of programmers to this tool, including those who may not have thought they'd be writing code for programmable controllers.  . Does ARMbasic support Object Oriented Programming?

    ARMbasic does not support Object Oriented Programming.

Variable Scope

  • All labels and variables are global in ARMbasic.  The advantage is that there is little stack overhead which gives greater performance.

Floating Point Math

  • ARMbasic uses 32 bit integer or floating point math for all numeric operations. 

Getting Started with ARMbasic questions

Advanced ARMbasic Can ARMbasic be customized?

Coridium Corporation is aimed to produce high performance modules based on the latest technologies.  Currently this includes the ARM processor.  But Coridium also has the engineering resources to customize our designs for the specific needs of our OEM customers.  This may include an interface to a specific peripheral chip with language extensions added to the ARMbasic.  It may also include an FPGA solution to extend the capabilities of both the hardware and software. 

So if you need something special, but want the ease of use of ARMbasic, tell us about your application.  We are quick to respond, and have designed a custom hardware software combination that delivered prototypes in a couple of weeks, and production volumes within a month.

What volumes make sense for customization?  It depends on the complexity, but at a few hundred units the numbers begin to pencil out.