-
- Уточнение: это у меня было в связи с прямым назначением сегмента INTVEC в "неродные" адреса. Сделал как в Вашем варианте, с копированием сегментов, предупреждения пропали. Но возникли еще вопросы. Argon(1370 знак., 17.11.2007 15:12)
- Я прошиваю в два этапа. И имею два отдельных проекта - загрузчика и приложения. Это позволяет модифицировать их независимо. Вам, например, надо для всех функций загрузчика указывать принудительное их размещение в BLCODE, а у меня в скрипте линкера для Сергей Борщ(1898 знак., 17.11.2007 18:12)
- Ага, спасибо! Про -QINTVEC еще раз: все же это копирование, или точнее сказать, дублирование, т.к. в обоих сегментах INTVEC и INTVEC_I после прошивки содержатся одинаковые данные. Argon(541 знак., 17.11.2007 18:33)
- Нет, это не копирование. В этом вашем примере MYSEG_I находится в ОЗУ, а MYSEG_ID - во флеш. Точно так же размещаются функции в ОЗУ - они хранятся во флеш, потом переписываются в ОЗУ, но никому нет никакого дела до того, где они лежали - интересует Сергей Борщ(509 знак., 17.11.2007 20:11)
- сорри, на 0 адрес не первого сектора, конечно, а таблицы векторов. А передача управления приложению произойдет по __program_start() после ремапа автоматически. Правильно? - Argon(17.11.2007 19:13)
- Да, совершенно верно. - Сергей Борщ(17.11.2007 20:09)
- Ага, спасибо! Про -QINTVEC еще раз: все же это копирование, или точнее сказать, дублирование, т.к. в обоих сегментах INTVEC и INTVEC_I после прошивки содержатся одинаковые данные. Argon(541 знак., 17.11.2007 18:33)
- Я прошиваю в два этапа. И имею два отдельных проекта - загрузчика и приложения. Это позволяет модифицировать их независимо. Вам, например, надо для всех функций загрузчика указывать принудительное их размещение в BLCODE, а у меня в скрипте линкера для Сергей Борщ(1898 знак., 17.11.2007 18:12)
- Уточнение: это у меня было в связи с прямым назначением сегмента INTVEC в "неродные" адреса. Сделал как в Вашем варианте, с копированием сегментов, предупреждения пропали. Но возникли еще вопросы. Argon(1370 знак., 17.11.2007 15:12)