BASCOMP 2085 IMPROVED

Top  Previous  Next

BASCOMP.EXE is a command line compiler utility.

It can be called from your own favorite editor when using linux. Or when compiling projects from a batch file.

 

The bascomp.exe utility must be placed in the same folder as bascavr.exe.

It depends on the bascom-avr license dll and the basc-avr.dll compiler DLL.

It  also depends on the DAT files and the LIB folder with the libraries.

For this reason the files is best placed into the bascom-avr application folder.

 

Change in 2085

The utility used to work by passing the chip ID. But since some processors are binary compatible and share the same ID this could result in problems.

bascomp requires only one parameter : the source file you want to compile. When the path contains spaces you need to enclose it in double quotes.

Example :   bascomp "c:\some folder\mycode example.bas"

 

bascomp will read the source and extract info about the dat file and stack. Specifically it will look for $regfile, $hwstack,$swstack and $framesize

If these settings are not found you need to provide them using SS for $softstack, HW for $hwstack and FR for $framesize

Example : bascomp "myfile.bas" HW=64

This would use a $hwstack of 64 bytes. Note that even if your source would contain a different value, a value of 64 would be used.

 

In order to override the processor dat file, you need to use the new DEVICE parameter. It accepts only the official processor name.

Example :   bascomp "myfile.bas"  device=atmega88

 

When you specify a device name that does not exist, a list will be shown with all device names.

 

The command line utility will set the DOS errorcode to 0 when no error is found, or to a non zero value when there is a problem.

 

Parameters

HW

Hardware stack ($hwstack)

FR

Frame size ($framesize)

SS

Soft stack ($swstack)

DEVICE

Device name. Stored in the DAT files with the name device=

The name is not case sensitive.

 

This is a list of device names which will change when new DAT files are added.

available devices:

AT90S1200

AT90S2313

AT90S2323

AT90S2333

AT90S2343

AT90S4414

AT90S4433

AT90S4434

AT90S8515

AT90S8535

AT86RF401

AT90PWM1

AT90PWM216

AT90PWM3

ATtiny12

ATtiny13

ATtiny13A

ATtiny15

ATtiny1634

ATtiny167

ATtiny20

ATtiny22

ATtiny2313

ATtiny2313A

ATtiny24

ATtiny24A

ATtiny25

ATtiny26

ATtiny261

ATtiny4313

ATtiny43U

ATtiny44

ATtiny441

ATtiny45

ATtiny461

ATtiny48

ATtiny828

ATtiny84

ATtiny841

ATtiny85

ATtiny861

ATtiny87

ATtiny88

ATtiny1604

ATtiny1606

ATtiny1607

ATtiny1614

ATtiny1616

ATtiny1617

ATtiny202

ATtiny204

ATtiny212

ATtiny214

ATtiny3216

ATtiny3217

ATtiny402

ATtiny404

ATtiny406

ATtiny412

ATtiny414

ATtiny1416

ATtiny417

ATtiny804

ATtiny806

ATtiny807

ATtiny814

ATtiny816

ATtiny817

AVR128DB28

AVR128DB32

AVR128DB64

AVR64DB32

ATMega103

ATMega1280

ATMega128

ATMega1281

ATMEGA1284

ATMEGA1284P

AT90CAN128

ATMega128

ATMega128RFA1

ATMEGA161

ATmega162

ATMEGA163

ATMEGA164A

ATMEGA164PA

ATMEGA164P

ATMega165A

ATMega165

ATmega168

ATmega168PA

ATmega168PB

ATmega168P

ATmega169A

ATmega169

ATmega169PA

ATmega169P

ATmega16A

ATmega16

ATMEGA16M1

ATMEGA16U2

ATMEGA16U4

ATMega2560

ATMega2561

ATMEGA323

ATMEGA324A

ATMEGA324PA

ATMEGA324PB

ATMEGA324P

ATMEGA3250A

ATMEGA3250PA

ATMEGA3250P

ATMEGA325

ATmega328

ATmega328PB

ATmega328P

ATmega329

ATMEGA32A

ATMEGA32C1

AT90CAN32

ATMEGA32

ATMEGA32M1

ATMEGA32U2

ATMEGA32U4

ATmega406

ATmega48

ATmega48PA

ATmega48PB

ATmega48P

ATmega603

ATMega640

ATMEGA644A

ATMEGA644

ATMEGA644PA

ATMEGA644P

ATMEGA6450P

ATMEGA645

ATmega6490

ATmega649A

ATmega649

ATmega649P

ATMEGA64C1

AT90CAN64

atmega64

ATMEGA64M1

ATmega8515

ATmega8535

ATmega88A

ATmega88

ATmega88PA

ATmega88PB

ATmega88P

ATmega8A

ATmega8

ATMEGA8U2

ATmega4808

ATmega4809

AT90USB1286

AT90USB1287

AT90USB162

AT90USB646

AT90USB82

ATXMega128A1

ATXMega128A1U

ATXMega128A3

ATXMega128A3U

ATxmega128A4U

ATxmega128B1

ATxmega128B3

ATXMega128C3

ATXMega128D3

ATxmega128D4

ATxmega16A4

ATxmega16D4

ATxmega16E5

ATXMega192A3

ATXMega192A3U

ATXMega192D3

ATXMega256A3B

ATXMega256A3BU

ATXMega256A3

ATXMega256A3U

ATXMega256D3

ATxmega32A4

ATxmega32A4U

ATXMega32C4

ATxmega32D4

ATxmega32E5

ATXMega384C3

ATXMega64A1

ATXMega64A3

ATXMega64A3U

ATxmega64A4U

ATXMega64D3

ATxmega64D4

ATxmega8E5