minipro error "out of address of the device" Intel Hex file load for 2764 - Page 1
Forum section: electronics / general

author: shankaranv
author_rank: Newbie
timestamp: May 18, 2017, 02:47:52 pm
content: Hi, I have recently brought TL866 programer with comes with minipro software. I am unable to open and load the buffer an Intel Hex file to program EPROM 2764 or 27128.I am prompted with an error "out of address of the device" while trying to open a file with less than 200 bytes of code.Has anyone encountered such an error? or is there some setting I am missing???I have attached the hex file for reference.Surprisingly when I select the eprom 27512 it gets loaded.

author: stj
author_rank: Super Contributor
timestamp: May 18, 2017, 10:25:53 pm
content: that hex file is BS, it has more than one datablock - it looks more like it's intended for a microcontroller.mind if i ask where it came from?

author: shankaranv
author_rank: Newbie
timestamp: May 20, 2017, 03:17:19 am
content: I got the solution yesterday. I shifted the data segment (ie the RAM location at 4000h)to the end of the file and the miniprog loaded the code space but gave out of device memory error when it encountered the data space...but it is ok I can now program the eprom.Just a background...I am modifying an 1988 design based on z80 CPU to include a serial interface using 16c550. The original assembly programs were developed using X80 assemblers which can run only on win98 desktops. The hexfile is the linker output of the following programUART_BaseAddr equ 0E000h.codeorg 0nopnopnopjp mainnopnop;*****************************************************************************org 40hmain:ld sp,4400him 2DI ;diable interruptsld a,04hld i,ald a,30hout (p0),acall UART_INIT ; Initialise the 16C550 hereTransmitAgain: nopcall UART_Transmit ; send initialised serial data to Arduinojr TransmitAgain;*****************************************************************************; Subroutine Serial Initialisation; Input: none; Task: Initialise the UART for baud rate of 9600; Output:;*****************************************************************************UART_INIT: nopld ix,UART_BaseAddrld (ix+03),80h ; enable DLAB bit to program divisor for 4800 baudrateld (ix+00),18h ; 16 bit divisor LSB = 18H ie 24Decimalld (ix+01),00 ; divisor MSB = 00ld (ix+03),03 ; now turn off the DLAB bit and program for 8 bitdata, 1 stop bit and no parityset 1,(ix+04) ; Modem_Control_reg = 1, ie RTS bit = 1 indicates UART is not ready to transmittingld ix,SrBuffer ; initialise the 32 byte serial buffer to 55h valueld b,32NxtBuffLoc: ld (ix+00),55hinc ixdjnz NxtBuffLocld ix,SrErrorFlagld (ix+00),00h ; reset all serial error flagsret;*****************************************************************************; Subroutine: Serial data Transmission; Input: none; Task: Serial Data transmission; Output:;*****************************************************************************UART_Transmit: noppush afpush bcpush depush hlpush ixld hl,SrBufferld b,32ld ix,SrErrorFlagres 0,(ix+00)ld ix,UART_BaseAddrres 1,(ix+04) ;Modem_Control_reg, ie RTS bit = 0 indicates UART is ready to send informationld de,0FFFEhChk_RecReady: bit 4,(ix+06) ; Modem_Status_reg ie CTS bit = 0, indicates that modem or external device is ready to exchange data.jr z,StartTransmitdec dejr nz,Chk_RecReadyld ix,SrErrorFlagset 1,(ix+00) ; bit 1 denotes improper termination of serial transmissionjr SrErrStartTransmit: ld a,(hl)ld (ix+00),a ;send buffer contents to transmit FIFOinc hldjnz StartTransmit ; loop until the 32 bytes are sentchk_TrRegEmpty: bit 6,(ix+05) ; check if transmit buffer and transmit register are emptyjr nz,chk_TrRegEmptySrErr: set 1,(ix+04) ;set rts bit to 1 to indicate end of transmissionnoppop ixpop hlpop depop bcpop afret;************************************************; Data Segment;************************************************.dataorg 4800h;Serial interface with GM16C550SrBuffer: defs 32 ;reserve 32 bytes of ram for incomming dataSrRecBuff: defs 32 ; reserve 32 bytes for outgoing data.SrErrorFlag: defs 1;*****************************************************************************END

author: stj
author_rank: Super Contributor
timestamp: May 20, 2017, 01:13:33 pm
content: that does not explain how you ened up with such a screwed hex file!you should check your compiler or compile it to a binary file.