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.
16F18855 / 56 Compile eeprom in wrong location
- filip.grujcic
- Posts: 822
- Joined: 14 May 2018 08:34
Re: 16F18855 / 56 Compile eeprom in wrong location
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,
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,
Filip Grujcic
Re: 16F18855 / 56 Compile eeprom in wrong location
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 - replacewith(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.
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>
Code: Select all
<EEPROM>
<MIN_ADDR>0x0000</MIN_ADDR>
<MAX_ADDR>0x00FF</MAX_ADDR>
</EEPROM>
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.