1

I'm developing a program using COSMIC 'C' compiler Ver 4.5.3 for STM8 CPU (STM8S003K3) and I want fill the MCU EEPROM with default values during mass production using ST-LINK/V2 device.

In the Manual I read that I have to use the #pragma directive ena I developed a simple code:

#pragma space extern [] @eeprom @near
static char pippo[] = { 1,2,3,4,5,6,7,8,9,10 };
#pragma space extern [] @near

I compiled and linked the code buy I noticed that the EEPROM section remanins empty. I reported some lines of .map file

start 00008080 end 00008145 length   197 segment .const
start 00008145 end 00009722 length  5597 segment .text
start 00004000 end 00004000 length     0 segment .eeprom
start 00000000 end 00000000 length     0 segment .bsct

Did you have a similar problem ? How did you fix it ? Thank you very much for your help and cooperation regards

Ferrari
  • 75
  • 1
  • 11

1 Answers1

0

I think by writing @eeprom @near you are overwriting the @eeprom so leave out the @near and you should be good to go. If you dont have a huge amount of declarations that you want to bee placed in eeprom you can just write the @eeprom in front of each declaration like so:

@eeprom static char pippo[] = { 1,2,3,4,5,6,7,8,9,10 };
EN20
  • 51
  • 11