Library files for SAM7X512

Hi I have made a project based on the demo uIP_Demo_IAR_ARM7 and it’s working fine. I am using a SAM7X512, but with the AT91SAM7X256.h and lib_AT91SAM7X256.h files. However, my code is now above 256 Kbytes and and I have tried to find library files for the SAM7X512, but can’t find any. I have modified the AT91C_IFLASH_SIZE and AT91C_ISRAM_SIZE to 512Kbytes and 128 Kbytes and the code above 256 Kbytes runs ok in IAR debug mode, but won’t start after power up. Do anybody know where I can find library files for SAM7X512 (AT91SAM7X512.h and lib_AT91SAM7X512.h) or suggestion why the code won’t start up if code size is larger than 256 Kbytes. Regards
Georg

Library files for SAM7X512

I just tried opening an example that ships with the IAR tools from the Embedded Workbench 6.0armexamplesAtmelat91sam7x-ekbasic-serialflash-project directory, and it appears to have configurations for the 128, 256 and 512K parts. Regards.

Library files for SAM7X512

Thank you Richard.
I replaced the AT91SAM7X256.h file with the AT91SAM7X512.h from this demo, but I got a bunch of warnings and errors. The file lib_AT91SAM7X256.h seems to have a lot of definition which has been changed. I mangage to clean up this file by renaming definitions and just keeping the definition which is in use in my project (the lib_AT91SAM7X256.h file was not used here). Finally, I got a running code, but unfortunately with same behaviour. The code runs ok in IAR debug mode, but won’t start after power up. Regards
Georg

Library files for SAM7X512

When the IAR debugger connects to a target it can run a script that peeks and pokes a some registers to do any set up that is needed. Look at the debug options in the IDE to see if it is running a script, and if it is look at the script in a text editor to see what it is doing. It might be that the script is configuring a register that your start up code needs to configure, but isn’t, causing it to only run when connected to IAR.

Library files for SAM7X512

I found my missing initialising of the flash for SAM7X in AT91F_LowLevelInit(): original:
AT91C_BASE_MC->MC_FMR = AT91C_MC_FWS_1FWS Changed to:
AT91C_BASE_MC->MC0_FMR = AT91C_MC_FWS_1FWS ;
AT91C_BASE_MC->MC1_FMR = AT91C_MC_FWS_1FWS ; Now, it works just fine.
Thank you for support.