|
Keil->IAR |
|
|
|
Apr 1 2017, 15:45
|
Профессионал
    
Группа: Свой
Сообщений: 1 047
Регистрация: 28-06-07
Из: Israel
Пользователь №: 28 763

|
1) В Кейле есть такая штука, как "Target", имея несколько таргетов, можно иметь разные опции проекта (Alt-F7). Пользуюсь часто этим, например чтобы компилировать проект в вариантах для отладки и "боевой" (с другого начального адреса, под бутлоадер).
2) в Кейле опции проекта есть глобальные, а также можно сделать индивидуальные, дял каждого .с файла в проекте. Напрмер, иметь глобальную отптимизацию по размеру а на определенных файлах - по скорости. Или настраивать на исползование разных областей памяти, к примеру - для F407 я в глобальных настройках ставил RAM = CCM (как самую быструю - чтобы в ней был стек и многие переменные), а в тех фалах, где есть работа с DMA или нужны большие массивы - ставил остальные 128К RAM.
Теперь вопрос - как все это делается в IAR'е? Что-то пока не нашел.
Спасибо.
Доп.: на первый вопрос вроде нашел, Project->Edit Configuration. Не так удоюбно как в Кейле, но задачу в общем-то решает. По второму вопрсоу - пока глухо. Т.е. персональные опции на файлы есть, но если оптимизатор там еще можно изменить, то память - не нашел.
|
|
|
|
|
 |
Ответов
|
Apr 2 2017, 08:03
|
Гуру
     
Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713

|
Цитата(Allregia @ Apr 1 2017, 17:45)  Теперь вопрос - как все это делается в IAR'е? Что-то пока не нашел. п.1 - через Edit\Configurations создать все нужные варианты компиляции с их опциями. п.2 - для каждого варианта компиляции задать свой файл конфигурации линкёра: "$PROJ_DIR$\sdram.icf". А в этом файле прописать правила назначения регионов памяти конкретным секциям программы. И в IAR можно задавать расположение секций для каждого файла исходника не только целиком для всего файла, но и для каждой конкретной переменной очень удобно через суффикс: __no_init volatile u32 sysTimer @ ".raw"; //неинициализируемую переменную положить в секцию .raw и для этой секции в .icf прописать - в какой регион памяти её компоновать.
|
|
|
|
|
Apr 2 2017, 21:58
|
Профессионал
    
Группа: Свой
Сообщений: 1 047
Регистрация: 28-06-07
Из: Israel
Пользователь №: 28 763

|
Цитата(jcxz @ Apr 2 2017, 19:13)  #pragma default_function_attributes = @ ".textInternal" Откройте доку в IAR-е по ключевым словам, о прагмах - там всё есть. Вопрос был: Цитата а как "целиком на файл" или "целиком на группу"? Каким образом эта прагма поможет? Особенено "на группу"? Вся-же идея в "группе", это что не надо прописывать ничгео в каждом входящем в нее файле. Например - то какая-нибудь сторонняя библиотечка, типа FatFs. Я должен ее всю перелопатить, выискивая все переменные/буферы, которые могут работать по DMA, чтобы всунуть в них прагму? Все-таки, в Кейле это сделано намного лучше.
|
|
|
|
|
Apr 3 2017, 10:18
|
Гуру
     
Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713

|
Цитата(Allregia @ Apr 2 2017, 23:58)  Каким образом эта прагма поможет? Особенено "на группу"? Вся-же идея в "группе", это что не надо прописывать ничгео в каждом входящем в нее файле. Это на файл. Цитата(Allregia @ Apr 2 2017, 23:58)  Например - то какая-нибудь сторонняя библиотечка, типа FatFs. Я должен ее всю перелопатить, выискивая все переменные/буферы, которые могут работать по DMA, чтобы всунуть в них прагму? 1.В FatFS нет переменных/буферов работающих по DMA. 2.Изучите для чего предназначены *.h-файлы в си - многие проблемы решатся. В том числе - объявления чего-либо для группы или для всех файлов исходников. Цитата(Allregia @ Apr 2 2017, 23:58)  Все-таки, в Кейле это сделано намного лучше. У Вас почти в каждом сообщении претензии к IAR-у - то не так, это не так (в основном от незнания конечно). Но если так мил Keil, кто-ж так заставляет IAR-ом пользоваться???? Под дулом автомата что-ли в IAR-е сидите? Цитата(Allregia @ Apr 2 2017, 23:58)  Каким образом эта прагма поможет? Особенено "на группу"? Вся-же идея в "группе", это что не надо прописывать ничгео в каждом входящем в нее файле. Для неумеющих читать даташит на компилятор: Приведённый ниже фрагмент .icf-файла размещает все секции .text из указанных выходных объектных файлов компилятора файлов в регионе SDRAM_regionA. А также секции .rodata и .fnt из всех выходных файлов проекта, для которых явно не указано место размещения. Код place in SDRAM_regionA { section .fnt, section .rodata, section .text object rds.o, section .text object menu.o, section .text object ir_term.o, section .text object fonttest.o }; Полный .icf для STM32F429 для отладки кода в SDRAM:
sdram.zip ( 845 байт )
Кол-во скачиваний: 28Т.е. - в IAR-е можно не только в исходнике переопределить секции по умолчанию для кода/данных, но и для секций по-умолчанию уже скомпилённых объектных файлов/библиотек указать произвольный регион размещения. Даже не перелопачивая ничего. А может ли всё это Keil?
|
|
|
|
|
Apr 3 2017, 10:24
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(jcxz @ Apr 3 2017, 13:12)  У Вас почти в каждом сообщении претензии к IAR-у - то не так, это не так (в основном от незнания конечно). Да, увы, обычная жертва IDE от производителей компиляторов  . Хоть кейл, хоть иар делают всякие извращения и уродства, дабы вот так, отсутвием какой нибудь "галочки" подсаживать на свои компилятры. Хотя, реально компиляторы все еще остаются, и будут оставаться, набором прекрасно управляемых и БЕЗ ВСЯКИХ "фирменных" надстроек и оболочек инструментальных средств. Я бы с ума сошел, если-бы трахался с доброй дюжиной компиляторов с которыми приходися работать, если бы мне в голову пришла дурная мысль попользоваться их "фирменными" оболочками.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
Сообщений в этой теме
Allregia Keil->IAR Apr 1 2017, 15:45 aaarrr Цитата(Allregia @ Apr 1 2017, 18:45) По в... Apr 1 2017, 17:06 aiwa Цитата(Allregia @ Apr 1 2017, 17:45) Доп.... Apr 1 2017, 18:01 Alex11 Цитатанет, это не то.
Это как раз то. Если нужно с... Apr 1 2017, 18:47    zltigo Цитата(Allregia @ Apr 3 2017, 00:58) Вопр... Apr 3 2017, 10:08     Allregia Цитата(zltigo @ Apr 3 2017, 11:08) Наивно... Apr 4 2017, 09:07      zltigo Цитата(Allregia @ Apr 4 2017, 12:01) Я не... Apr 4 2017, 09:10       Allregia Цитата(zltigo @ Apr 4 2017, 10:10) Поскол... Apr 4 2017, 13:38        zltigo Цитата(Allregia @ Apr 4 2017, 16:38) #pra... Apr 4 2017, 14:49         Allregia Цитата(zltigo @ Apr 4 2017, 15:49) Это мо... Apr 4 2017, 15:25          zltigo Цитата(Allregia @ Apr 4 2017, 18:25) Так ... Apr 4 2017, 15:35          jcxz Цитата(Allregia @ Apr 4 2017, 17:25) Так ... Apr 5 2017, 06:15      jcxz Цитата(Allregia @ Apr 4 2017, 11:07) Може... Apr 4 2017, 09:15      zltigo Цитата(Allregia @ Apr 4 2017, 12:07) комп... Apr 4 2017, 09:59      BackEnd Цитата(zltigo @ Apr 3 2017, 10:24) Да, ув... Apr 3 2017, 11:26       zltigo Цитата(BackEnd @ Apr 3 2017, 14:26) А воо... Apr 3 2017, 11:30        BackEnd Цитата(zltigo @ Apr 3 2017, 11:30) Пользу... Apr 3 2017, 11:34         zltigo Цитата(BackEnd @ Apr 3 2017, 14:34) На ка... Apr 3 2017, 11:47          jcxz Цитата(zltigo @ Apr 3 2017, 13:47) Не сек... Apr 3 2017, 13:42           zltigo Цитата(jcxz @ Apr 3 2017, 16:42) Моя ... Apr 3 2017, 13:46 SSerge Из ещё не упомянутых средств есть опция компилятор... Apr 2 2017, 20:05 toweroff DOS Multi-Edit - это да... в свое время просто бом... Apr 3 2017, 15:46 zltigo Цитата(toweroff @ Apr 3 2017, 18:46) DOS ... Apr 3 2017, 16:01 toweroff zltigo, я тогда (92-..) не борландил, всякие FoxPr... Apr 3 2017, 20:02 Allregia Ладно, с этим уже все ясно, помогите лучше с бутло... Apr 4 2017, 16:12 zltigo Цитата(Allregia @ Apr 4 2017, 19:12) Ладн... Apr 4 2017, 18:32  Allregia Цитата(zltigo @ Apr 4 2017, 19:32) Там не... Apr 4 2017, 21:21   zltigo Цитата(Allregia @ Apr 5 2017, 00:21) Я в ... Apr 4 2017, 22:14 Allregia А зачем ее перемещать, если в system_st32f?xx.c а... Apr 4 2017, 22:54 zltigo Цитата(Allregia @ Apr 5 2017, 01:54) А за... Apr 5 2017, 07:19 Allregia Уже выкинул. Apr 5 2017, 06:23 Allregia Ну во 1-х, оно одинаково себя ведет если и перемещ... Apr 5 2017, 07:26 zltigo Цитата(Allregia @ Apr 5 2017, 10:26) Во 2... Apr 5 2017, 07:35 jcxz Цитата(Allregia @ Apr 5 2017, 09:26) Во 2... Apr 5 2017, 08:41 Allregia Уважаемые, может кто-нибудь ответить что-нибудь по... Apr 5 2017, 10:28
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|