Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chipKIT Uno32 max upload size 64000 in boards.txt #19

Closed
nkcelectronics opened this issue May 13, 2011 · 8 comments
Closed

chipKIT Uno32 max upload size 64000 in boards.txt #19

nkcelectronics opened this issue May 13, 2011 · 8 comments

Comments

@nkcelectronics
Copy link

Why the max upload size is set to 64000 instead of 128000 in boards.txt for the Uno32 board?

@ricklon
Copy link
Member

ricklon commented May 13, 2011

What are the correct sizes? Also, has this accounted for the
reservation of memory for eeprom?

On Fri, May 13, 2011 at 12:33 PM, nkcelectronics
reply@reply.github.com
wrote:

Why the max upload size is set to 64000 instead of 128000 in boards.txt for the Uno32 board?

Reply to this email directly or view it on GitHub:
#19

President
Fair Use Building and Research (FUBAR) Labs
http://fubarlabs.org

@nkcelectronics
Copy link
Author

The EEPROM on the Arduino Uno is 1K, so that should be the reserved memory for EEPROM. Is EEPROM emulated on the PIC32? If the data is not stored, what happens with sketches that use the EEPROM? Shouldn't the boards include a small EEPROM chip?

If you need to reserve EEPROM, then available upload size should be 127000 (127K), not 64000 as defined now

@msproul
Copy link
Contributor

msproul commented May 13, 2011

The first proto of the uno32 was a 64k chip, I did not remember to
update it. Thanks for the catching that

Mark

On 5/13/11 12:33 PM, nkcelectronics wrote:

Why the max upload size is set to 64000 instead of 128000 in boards.txt for the Uno32 board?

@ricklon
Copy link
Member

ricklon commented May 13, 2011

I think the linker now reservers 16k of memory for eeprom. Should that be subtracted as well?

@msproul
Copy link
Contributor

msproul commented May 13, 2011

Rick

I had specifically asked Jason to NOT modify the linker script to deal
with the EEPROM size. This way it can be modified by the user IF they
know what they are doing.

If he is to modify it, it MUST be 4K, the bootloader knows to leave the
last 4K alone. So if he has it set to 16K, then there is 12K of wasted
space that neither the code or the epprom can use.

Mark

On 5/13/11 1:43 PM, ricklon wrote:

I think the linker now reservers 16k of memory for eeprom. Should that be subtracted as well?

@nkcelectronics
Copy link
Author

In the Arduino with the AVR chip it is the Flash size - bootloader size, because EEPROM is integrated.

In the chipKIT, the bootloader is in a separate 12K, so if the linker reserves 16K for EEPROM, then the available size for uploads should be 128000 - 16000 = 112000. Why the linker reserves 16K for EEPROM, if the microcontroller doesn't have any?

This parameter is important because it is reported by the Arduino IDE after compiling the sketch (for users to verify if they are running out of space or not)

@jasonkajita
Copy link
Contributor

There was some conflict between Gene and Mark's requests. Gene requested that the MAX32 linker script reserve 16K for eeprom emulation so that they could implement wear leveling in order to emulate 4k of eeprom. This is because flash endurance is lower than eeprom endurance. He requested that the UNO32 reserve only 4K. His email may have gotten buried in the noise because nobody else responded to it...

@nkcelectronics
Copy link
Author

If reserved space for Uno32 is 4K, then available size in boards.txt should be 124000. Now is 112000 (128K - 16K).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants