maksimdag0 0 18 февраля Опубликовано 18 февраля · Жалоба Доброго вечера, форумчане! Подскажите, я не могу разобраться с вопросом, связанным со Scatter-файлом, а именно как разместить какой либо код(функцию или переменную, например) по определенному адресу в Keil . Не хватает знаний. Сразу скажу, ответ на вопрос искал на просторах интернета долго, пишу сюда так как недоперло до конца. Есть Scatter-файл со следующим содержанием: LR_IROM1 0x08000000 0x00080000 { ; load region size_region ER_IROM1 0x08000000 0x00080000 { ; load address = execution address *.o (RESET, +First) *(InRoot$$Sections) .ANY (+RO) } RW_IRAM1 0x20000000 0x00020000 { ; RW data .ANY (+RW +ZI) } } погуглив, я узнал, что: LR_IROM1 – это регион(область) загрузки, ER_IROM1 – это регион(область) выполнения. Я понял так, что область загрузки это область памяти куда будет загружен нами указанный код , в данном примере код будет загружен в область, которая начинается с адреса 0x08000000 размером 0x00080000. 1) Ну что же такое регион(область) выполнения(ER_IROM1 0x08000000 0x00080000 )? Второй вопрос: 2) Если я дал правильное определение что такое "LR_IROM1", то почему в теле LR_IROM1 прописано RW_IRAM1 0x20000000 0x00020000, ведь эти адреса( 0x20000000 0x00020000) никак не входят в область 0x08000000 0x00080000 ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Forger 17 18 февраля Опубликовано 18 февраля · Жалоба 53 minutes ago, maksimdag0 said: не могу разобраться с вопросом в мануале на сайте arm все подробно разжевано по этой теме, там смотрели? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
maksimdag0 0 18 февраля Опубликовано 18 февраля · Жалоба 1 час назад, Forger сказал: в мануале на сайте arm все подробно разжевано по этой теме, там смотрели? Первое, что я сделал. Да там разжевано все, но если говорить о определении того что такое РЕГИОН ЗАГРУЗКИ и что такое РЕГИОН ВЫПОЛНЕНИЯ, то там написано об это минимально. Я никак не могу понять что такое "регион загрузки" и что такое такое "регион выполнения". Что это? В моем сложившимся представлении flash память является "регионом загрузки" и "регионом выполнения", но мне кажется, что это бред. Я не имею представление даже что это, если можете, обьясните пожалуста конкретно) Еще я нашел вроде хороший сайт где описано различие, но так написано не понятно для меня, либо просто я тугодум. Прикрепил во вложении скрин Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться