|
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:08
|

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

|
Цитата(Allregia @ Apr 3 2017, 00:58)  Вопрос был: Все-таки, в Кейле это сделано намного лучше. Наивно полагаете, что кейл, от того, что Вы где-то поставили галочку, святым духом перелопатит готовую библиотеку и раскидает переменные по "правильным" областям памяти
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Apr 4 2017, 09:07
|
Профессионал
    
Группа: Свой
Сообщений: 1 047
Регистрация: 28-06-07
Из: Israel
Пользователь №: 28 763

|
Цитата(zltigo @ Apr 3 2017, 11:08)  Я не "наивно полагаю", а точно знаю что он делает именно то, что я его прошу сделать. Цитата(jcxz @ Apr 3 2017, 11:18)  У Вас почти в каждом сообщении претензии к IAR-у - то не так, это не так (в основном от незнания конечно). Но если так мил Keil, кто-ж так заставляет IAR-ом пользоваться???? Под дулом автомата что-ли в IAR-е сидите? Ну, в общем да  Есть несколько проектов, которые надо продолжать, и они были сделаны под ИАРом. Свое я делаю в 4-мКейле, в нем и среда удобнее и компилятор у Кейла всегла был намного лучше чем в ИАРе. Цитата Для неумеющих читать даташит на компилятор: Приведённый ниже фрагмент .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: [attachment=106391:sdram.zip] Т.е. - в IAR-е можно не только в исходнике переопределить секции по умолчанию для кода/данных, но и для секций по-умолчанию уже скомпилённых объектных файлов/библиотек указать произвольный регион размещения. Даже не перелопачивая ничего. А может ли всё это Keil?  Может, если руками скаттер писать.
|
|
|
|
|
Apr 4 2017, 09:59
|

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

|
Цитата(Allregia @ Apr 4 2017, 12:07)  компилятор у Кейла всегла был намного лучше чем в ИАРе. Был, в тот момент, когда его ARM покупал, действительно лучше (причем основной выигрыш был за счет стандарных библиотек). Но сразу после этого лидерство Кейла пошло на спад. Так что заблуждаетесь. P.S. Тут наш однофорумчанин не поленился недавно потестировать https://geektimes.ru/post/264558/Цитата(jcxz @ Apr 4 2017, 12:15)  А если хочется именно Keil, то любой проект, думаю, не проблема за максимум несколько часов перегнать в Keil. Если кто-то по глупости не использовал иаровские расширения и хидеры, то еще и быстрее. Если использовал, то тогда может потребоваться достаточно много обезьяньего труда. Хотя по любому это стоит сделать. То есть сделать максимально переносимый исходник, а не под "иар" или "кейл".
--------------------
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 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    jcxz Цитата(Allregia @ Apr 2 2017, 23:58) Каки... Apr 3 2017, 10:18     zltigo Цитата(jcxz @ Apr 3 2017, 13:12) У Вас по... Apr 3 2017, 10:24      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
|
|
|