This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

C51/LX51: Place some variables in a specific page apart

Hello,

I am working on a project based on a C8051F353 from Silabs.
This project needs some non-volatile variables to be stored, using internal Flash.
I manage to read, write, and erase data to flash BUT:
-a write needs an erase, and erase can't be performed on less than a page
All data can be kept, by reading the concerned page, modify the requested data, erasing the page, and write the modified copy.

Since I have declared my non-volatile data into the main program as global variables with "code" prefix, this data is located into program in Flash. When I want to write to this data, I am so erasing and rewriting page of running program, which results in reset of device.

I would like to be able to place non-volatile data into a specific page appart from code, into flash. So that I won't affect program when updating data.
I think the use of SEGMENTS would be the best for me, but I can't manage to place a specific segment in a specific page, but just at the end of code.

I somebody have a solution, or can give me a direction to fix this problem.

Thank you in advance.

0