Sign in

username:

password:



Not a member?

Search Comp.Arch.Embedded



Search tips

embedded by Keywords

68HC11 | 68HC12 | 8051 | 8052 | ARM | ARM7 | Asic | AT91 | AT91RM9200 | Atmel | AVR | AVRStudio | Bootloader | CFP | CompactFlash | Cygnal | Cypress | Dataflash | DSP | eCos | EEPROM | Embedded Linux | Emulator | Endian | Ethernet | Firewire | FPGA | Freescale | GCC | GNUARM | GSM | H8 | HDLC | I2C | Infineon | Interrupts | Java | JTAG | LCD | LED | LPC2000 | MCU | Microchip | MMC | MPLAB | MSP430 | PC104 | PCB | PCI | PCMCIA | PowerPC | Rabbit | RS232 | RS485 | RTOS | SBC | SDRAM | Sensor | SPI | STK500 | UART | UML | USART | USB | Verilog | VHDL | VxWorks | Xilinx

Ads

Discussion Groups

There are 3 messages in this thread.

You are currently looking at messages 0 to 3.

BasicX platform - Guy Macon - 15:46 27-06-08



Re: BasicX platform - Frank Buss - 04:18 28-06-08

Guy Macon wrote:

> Good description of the internals of the BasicX line which compiles 
> BASIC code into an intermediate stack-based language:

Nice description, but I'm not sure, if a virtual machine is a good idea for
microcontrollers. Many applications are not time critical, so this is no
problem, but there are always some critical parts, e.g. some bit banging
functions for sensor chip reading, if not included as a hardware module
(e.g. I2C) on the chip. If you write this in assembler, you can't use it
for other chips. But if the Basic is compiled, you can use Basic even for
the time critical parts and re-use it on other chips, too, if you write a
compiler for it. You can even write the scheduler for multitasking in Basic
(needs an interrupt for compiled code), if you need it. But if you don't
need it for simple applications, it doesn't need space in the flash.

-- 
Frank Buss, f...@frank-buss.de
http://www.frank-buss.de, http://www.it4-systems.de

Re: BasicX platform - Guy Macon - 11:22 28-06-08



Frank Buss wrote:
>
>Guy Macon <http://www.GuyMacon.com/>; wrote:
>
>> Good description of the internals of the BasicX line which compiles 
>> BASIC code into an intermediate stack-based language:
>>
>> http://home.austin.rr.com/perks/micros/Articles/BasicX%20Internals%20-%20Part%201.htm
>> http://home.austin.rr.com/perks/micros/Articles/BasicX%20Internals%20-%20Part%202.htm
>> http://home.austin.rr.com/perks/micros/Articles/BasicX%20Internals%20-%20Part%203.htm
>> http://home.austin.rr.com/perks/micros/Articles/BasicX%20Internals%20-%20Part%204.htm
>> http://home.austin.rr.com/perks/micros/Articles/BasicX%20Internals%20-%20Part%205.htm
>> http://home.austin.rr.com/perks/micros/Articles/BasicX%20Internals%20-%20Part%206.htm
>> 
>> Also see: http://www.basicx.com/
> 
>Nice description, but I'm not sure, if a virtual machine is a good idea for
>microcontrollers. Many applications are not time critical, so this is no
>problem, but there are always some critical parts, e.g. some bit banging
>functions for sensor chip reading, if not included as a hardware module
>(e.g. I2C) on the chip. If you write this in assembler, you can't use it
>for other chips. But if the Basic is compiled, you can use Basic even for
>the time critical parts and re-use it on other chips, too, if you write a
>compiler for it. You can even write the scheduler for multitasking in Basic
>(needs an interrupt for compiled code), if you need it. But if you don't
>need it for simple applications, it doesn't need space in the flash.

It's an interesting question as to which aproach is better in particular 
situations.  Basic compilers for various microcontrollers have been 
around for a long time, but have not seen anywhere near the commercial
success of the BasicX, Basic Stamp, etc.  It could be argued that
anyone who needs to do I2C bit banging has enough skills to prefer the
control and power that is available by programming in assembly, Forth, 
or C.  The BasicX and its competitors are the tool of choice for the
non-programmer who wishes to automate a model railroad, radio control 
toy, christmas light display, automated plant watering system, or any
of a thousand other embedded automation tasks that don't require any
capabilities that the BasicX lacks.  I used one a while back to impement
an overspeed shutdown in a existing DVD mastering glass spinner.  Yes, 
I could have spent half an hour programming a microcontroller and another 
half an hour building a board, but by using the BasicX, the whole thing 
took less than five minutes to implement, and the end result was very 
easy for the technicians to modify.




-- 
Guy Macon
<http://www.GuyMacon.com/>;