-
- /* fixed memory for larger devices */
- setup_sector(bank, 12, 4, 16 * 1024);
- setup_sector(bank, 16, 1, 64 * 1024);
-
- /* dynamic memory for larger devices */
- setup_sector(bank, 16 + 1, num_pages - 5 - 12, 128 * 1024);
+ if (flash_size_in_kb == 1024) {
+ setup_sector(bank, 5, 3, 128 * 1024);
+ setup_sector(bank, 12, 4, 16 * 1024);
+ setup_sector(bank, 16, 1, 64 * 1024);
+ setup_sector(bank, 17, 3, 128 * 1024);
+ } else {
+ setup_sector(bank, 5, 7, 128 * 1024);
+ setup_sector(bank, 12, 4, 16 * 1024);
+ setup_sector(bank, 16, 1, 64 * 1024);
+ setup_sector(bank, 17, 7, 128 * 1024);
+ }
+ } else {
+ setup_sector(bank, 4 + 1, MIN(12, num_pages) - 5,
+ max_sector_size_in_kb * 1024);