Гость Igor_K 22 сентября, 2012 Опубликовано 22 сентября, 2012 · Жалоба В программе имеется in-app загрузчик, который должен располагаться в конце FlashROM (0x1C00). Линкер при работе раскидывает код как попало, занимая и этот верхний сегмент кодом основной программы. Пробовал вставлять в командный файл линкера такую строку: CODE(0X0000-0X1BFF, firmupdater(0x1C00–0x1E00)) - не принимает. Подскажите, как заставить L51 правильно разместить код? Не хотелось бы разбивать программу на два проекта. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alexeyv 0 24 сентября, 2012 Опубликовано 24 сентября, 2012 · Жалоба Какой компилятор? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Гость Igor_K 24 сентября, 2012 Опубликовано 24 сентября, 2012 · Жалоба Какой компилятор? A51 и AX51 из установки KEIL. Проблема вроде пропала, после переустановки Кейла. Хотя причина так и неизвестна. Кстати, HEX-файл генерится так же непоследовательный: строки неупорядочены по адресу размещения кода. Т.е., если такой HEX-файл для самопрошивки принимать построчно, размещать в копии сектора в XRAM, а потом писать сектор во FlashROM - некоторые сектора придется писать неоднократно. Пришлось написать утилитку для упорядочивания строк. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться