avreal and LPT in Windows

From AVReAl‘s point of view there are two Windows families.

Windows 9X family OS like Windows 98 does not require LPT access driver. avreal uses direct IO access when working in it.

NT-line OS like Windows XP or Windows 7 requires a DLPortIO driver. Driver installation process for 32-bit and 64-bit OS has been described before.

For all Windows versions parallel port number or base address must be set in command line, for example -p1, -p378. Port number is just alias for standard address as it is noted in -p switch description. Fixed 378/278/3BC addresses are used for LPT1/2/3.

Non-standard base address for PCI-LPT extension board can be found on port properties tab in device manager.

»»» How to see the address of LPT in Windows

avreal and LPT in Linux

Unlike in NT-line Windows a DLPortIO.sys driver is not required for LPT port access in Linux/x86 (both 32- and 64-bit). Unlike in Windows 98 any program in Linux can’t access ports without permissions.

There are two ways — direct IO-port access and parport device usage. Direct access provides faster programming but requires root privileges when avreal is started.

Continue reading ‘avreal and LPT in Linux’ »

DLPortIO x64 and 64-bit Windows.

Unfortunately, there is no DriverLINX package (DLPortIO.sys + DLPortIO.dll) for x86-64 (AMD64, Intel64) Windows versions. I didn’t find it at least. Scientific Software Tools, Inc. (http://www.sstnet.com) discontinued the package support.
Fortunately, there is InpOut32 package (hwinterface.sys+inpout32.dll) and 64-bit version InpOutx64 with hwinterfacex64.sys driver.

»»» How to install DLPortIO in 64-bit Windows

DLPortIO and 32-bit Windows.

For Windows NT, Windows 2000 and 32-bit WindowsXP, Windows 7 driver DLPortIO.sys and library DLPortIO.dll can be installed by either of the two installers — GUI and CLI (command-line interface). AVReAl is an CLI program itself so I hope that avreal users are not annoyed with CLI. I recommend to use command-line installer which has a ten times less archive (about 17KB instead of 170KB) but can do the same.

»»» How to install DLPortIO in 32-bit Windows

DLPortIO 32, DLPortIO x64 for Windows XP, Windows 7

avreal has been working correctly under 64-bit versions of Windows for some years. Experts installed right driver and the program worked properly. But of late years I use linux mostly so 64-bit Windows is not very interesting for me.
Now I found enough time, a place and a disk space for testing by myself DLPortIO driver under Windows7/32 and 64-bit DLPortIO emulator under WindowsXP/64 and Windows7/64. dd program worked hardly restoring hard drive partitions from images for many installation attempts on “clean” system by all possible (even incorrect) methods.

So, installation archives was added yesterday to download page. There are two archives for DLPortIO-32 (GUI and command-line installer) and one archive for DLPortIO-64 (command-line installer). You can download and install an appropriate driver.
I will explain all that several days later.

LPT and Windows PnP.

Sometimes avreal works unstable with LPT under OS Windows. Programming can be successfull or can fault, for example synchronisation lost.

A reason of these faults may be LPT polling by Windows Plug-and-Play (PnP) subsystem in order to detect connected devices. The polling is made at OS booting which is indicated by adapter LED blinking. Windows also can make the polling during its working. DLportIO.sys driver does not block access to LPT from another programs that why the polling can interfere in the microcontroller programming.

To avoid PnP interference download and run disable-lpt-poll.reg file. As you can see from the text, the file adds registry key which disables LPT polling.

REGEDIT4

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Parport\Parameters]
“DisableWarmPoll”=dword:00000001

download

 

AVReAl – AVR serial programmer

You can download the most recent version of AVReAl from this page.
FTDI chip driver and FTD2XX library must be installed for FT2232C/L/D, FT2232H, FT4232H support in Win* and Linux environment.

avreal/linux has been checked up with libftd2xx versions 0.4.16 and below. You can download here 32-bit libftd2xx0.4.16.tar.gz and 64-bit libftd2xx0.4.16_x86_64.tar.gz versions of the library.

DLPortIO port access driver must be installed for NT-line OSes (WindowsNT, Windows2000, WindowsXP 32 and 64 bit, Windows7 32 and 64 bit) for LPT-adapters support. No driver required for Windows 98.

avreal for Linux does not requires a special LPT driver also. What is needed is to choose a method and set up a permissions.

AVReAl 

Version Windows Linux i386 Linux x86-64 FreeBSD
1.28rev9 1.28r9 – Win32 1.28r9 – Linux32 1.28r9 – Linux64 1.28r9 – FreeBSD (8.2)
1.28rev8 1.28r8 – Win32 1.28r8 – Linux32 1.28r8 – Linux64 1.28r8 – FreeBSD 8.2
1.28r8 – FreeBSD 6.4
1.28rev7 avw-1.28r7.zip avl32-1.28r7.zip avl64-1.28r7.zip avb-1.28r7.zip
1.28rev6 avw-1.28r6.zip avl32-1.28r6.zip avl64-1.28r6.zip avb-1.28r6.zip
1.28rev5 avw-1.28r5.zip avl32-1.28r5.zip avl64-1.28r5.zip avb-1.28r5.zip
1.28rev4 avw-1.28r4.zip avl32-1.28r4.zip avl64-1.28r4.zip avb-1.28r4.zip
1.28rev3 avw-1.28r3.zip avl32-1.28r3.zip avl64-1.28r3.zip avb-1.28r3.zip
1.28rev2 avw-1.28r2.zip avl32-1.28r2.zip avl64-1.28r2.zip avb-1.28r2.zip
1.28rev1 avw-1.28r1.zip avl32-1.28r1.zip avl64-1.28r1.zip avb-1.28r1.zip
1.28rev0 avw-1.28r0.zip avl32-1.28r0.zip avl64-1.28r0.zip avb-1.28r0.zip
avw-1.27r4.zip avl32-1.27r4.zip avl64-1.27r4.zip avb-1.27r4.zip

Posts about updates and bug fixes are published under ‘History’ category.
Some of previous versions (including the last DOS-version) available from old History page.

DLPortIO 

File Comments
dlportio-64.zip (25K)
Driver and library for 64-bit Windows.
Command-line installer. More…
dlportio-32-bat.zip (17K)
Driver and library for 32-bit Windows.
Command-line installer. More…
dlportio-32-exe.zip (167K)
Driver and library for 32-bit Windows.
GUI installer. More…

These drivers are not tested with Windows Vistabut apparently they should work when installed as for Vindows 7

 

AT89S51, AT89S52 serial programmer

at89s52.zip

There is old “quick ad dirty” patch of avreal for at89s51, at89s52 programming. The program was written some years ago for my friend and frozen in initial state. Only Windows and LPT are supported. Use the same driver as for avreal and almost the same switches.
Try to decrease -o switch frequency to -o8MHZ or -o6MHZ when programming errors occured.


AVReAl – ISP programmer for AVR

 

AVReAl designed for programming of Atmel AVR microcontrollers in ISP (in-circuit serial programming) mode.
AVReAl requires one of

AVReAl is console application which makes possible to integrate it into almost any development environment (IDE).
Now supported Windows, Linux and FreeBSD (no FT2232 support for FreeBSD).
DOS-version not supported since 1.27rev0. Last DOS version 1.25r6 is available for downloading.
Working of avreal/win32 with FT2232C/L/D/H has been checked for Windows2000, WindowsXP/32, WindowsXP/64, Windows7/32, Windows7/64.
Working of avreal/win32 with LPT via DLPortIO drivers has been checked for Windows2000, WindowsXP/32, WindowsXP/64, Windows7/32, Windows7/64. No drivers needed for Windows98.

The program is free for commercial or non-commercial use but it’s sources unavailable. Shortly, it is freeware but not free software.

You can download avreal and DLPortIO driver for 32- and 64-bit Windows here. Visit description page for detailed information and adapters page for schematics of programming adapters.
Posts about updates and bug fixes are published under ‘History’ category. Separate posts about bug is published in that case, when I have no time for urgent correction or I treat the bug as “feature” up to next avreal release.
List of previous changes and some of previous versions can be found on “old” History page.

Supported microcontroller list can be got by the command

avreal -h

avreal (and any other programmer) can’t differ microcontrollers listed by character ‘|’ (read more).

 AT86RF401
 AT90S1200    AT90S2313    AT90S4414    AT90S8515    AT90S4434
 AT90S8535    AT90S2333    AT90S4433    AT90S2323    AT90S2343
 ATtiny12     ATtiny22L    ATtiny22     ATtiny13|ATtiny13A
 ATtiny2313|ATtiny2313A    ATtiny4313
 ATtiny15     ATtiny25     ATtiny45     ATtiny85     ATtiny43u
 ATtiny87     ATtiny167
 ATtiny26     ATtiny261|ATtiny261A      ATtiny461|ATtiny461A
 ATtiny861|ATtiny861A
 ATtiny24     ATtiny44     ATtiny84     ATtiny48     ATtiny88
 ATmega603    ATmega103    ATmega161    ATmega163    ATmega323
 ATmega8515   ATmega8535   ATmega162
 ATmega8|ATmega8A     ATmega48|ATmega48A     ATmega48P|ATmega48PA
 ATmega88|ATmega88A   ATmega88P|ATmega88PA
 ATmega168|ATmega168A ATmega168P|ATmega168PA
 ATmega328     ATmega328P
 ATmega16|ATmega16A   ATmega32|ATmega32A     ATmega64|ATmega64A
 ATmega128|ATmega128A
 AT90CAN32    AT90CAN64    AT90CAN128
 AT90usb82    AT90usb162   ATmega8U2    ATmega16U2   ATmega32U2
 ATmega16U4   ATmega32U4
 ATmega32U6   AT90usb646|AT90usb647     AT90usb1286|AT90usb1287
 ATmega164A   ATmega164P|ATmega164PA
 ATmega324A   ATmega324P   ATmega324PA
 ATmega644|ATmega644A      ATmega644P|ATmega644PA
 ATmega1284   ATmega1284P
 ATmega165|ATmega165P|ATmega165PA       ATmega325    ATmega325P
 ATmega3250   ATmega3250P  ATmega645    ATmega6450
 ATmega169|ATmega169P      ATmega329    ATmega329P
 ATmega3290   ATmega3290P
 ATmega649    ATmega6490
 ATmega640    ATmega1280   ATmega1281   ATmega2560   ATmega2561
 AT90pwm2|AT90pwm3  AT90pwm1|AT90pwm2B|AT90pwm3B
 AT90pwm216|AT90pwm316 AT90pwm81
 ATmega16M1   ATmega32M1   ATmega64M1   ATmega32C1   ATmega64C1
 ATmega8HVA   ATmega16HVA  ATmega16HVB  ATmega32HVB  ATmega8HVD
 ATmega128RFA1
[flagcounter image]