Page 1 of 1

16F18855 / 56 Compile eeprom in wrong location

Posted: 09 Nov 2018 13:40
by Drako
Hi,

Mikrobasic 7.2 with pics of family 16F18855/56 when compile it generates an hex file with the eeprom data in wrong location.
Therefore it is not possible to use the EEPROM TOOL included in mikrobasic.

Re: 16F18855 / 56 Compile eeprom in wrong location

Posted: 30 Nov 2018 15:38
by filip.grujcic
Hi,

This is a known bug and it should be addressed in the next release of the compiler.
For now you can edit EEPROM using mikroProg Suite.

I apologize for the inconvenience.

Kind regards,

Re: 16F18855 / 56 Compile eeprom in wrong location

Posted: 30 Nov 2018 16:31
by janni
Hi Draco,

There are indeed errors in implementation of this (and other 16F18xxx & 19xxx series) processors. You may correct the error in processor definition files (*.mlk in Defs subfolder of compiler's directory) yourself - replace

Code: Select all

	<EEPROM>
		<MIN_ADDR>0xF000</MIN_ADDR>
		<MAX_ADDR>0xF0FF</MAX_ADDR>
	</EEPROM>
with

Code: Select all

	<EEPROM>
		<MIN_ADDR>0x0000</MIN_ADDR>
		<MAX_ADDR>0x00FF</MAX_ADDR>
	</EEPROM>
(compiler adds 0xF000 automatically, which BTW causes problems with EEPROM addresses in other new processor families).

This will take care of programming the EEPROM. Unfortunately, there are also errors in EEPROM library (again wrong offset, this time in NVMADRx registers) so you won't be able to use it.