Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: WinARM, IAR, KEIL
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > ARM, 32bit
mjpronin
Здравствуйте!
Подскажите, пожалуйста.

Раньше работал с AVR, в последнее время через AVRStudio и WinAVR. Очень понравилось именно в такой связке. Но решил пересесть на ARM.

1. Есть ли среда разработки для ARM типа AVRStudio не выходя из которой можно компилить посредствам WinARM.
2. Может быть кто-нибудь посоветует достойную альтернативу? Как я понял исходя из поиска в интернете: большое количество примеров приведены для IAR и WinARM, но так как я уже привык к GCC хотелось бы что-то, что позволяет удобную работу с WinARM.
3. Как я понял KEIL это нечто самобытное и примеров под эту среду не много, так ли это?
_Pasha
1. Для кортексов оно есть, но слишком "вкусное" - жди беды smile.gif
2. WinARM давно не развивается, развивается YAGARTO. Причем, усилиями уважаемого klen'a - мы, юзвери, гораздо ближе к "линии фронта".
3. Keil - отличное софто для начинающих. Самый нормальный симулятор.
mjpronin
1. Правильно ли я понял, что YAGARTO это аналог WinARM, т.е. это тот же GCC?
2. Можно ди данный YAGARTO или WinARM (который уже давно не развивается ) прикрутить к KEIL?
3. Кто-нибудь знает что-нибудь про arm_crossworks??? Кто работал??? Отзывы???
dimka76
Цитата(mjpronin @ Sep 27 2010, 14:33) *
1. Правильно ли я понял, что YAGARTO это аналог WinARM, т.е. это тот же GCC?


Да.
Цитата(mjpronin @ Sep 27 2010, 14:33) *
2. Можно ди данный YAGARTO или WinARM (который уже давно не развивается ) прикрутить к KEIL?

Можно, но если вы будете использовать оценочную версию кейла, то будут ограничения на объем отлаживаемого кода.
Цитата(mjpronin @ Sep 27 2010, 14:33) *
3. Кто-нибудь знает что-нибудь про arm_crossworks??? Кто работал??? Отзывы???


Тот же GCC.
Dron_Gus
3. Вполне ничего себе. Удобно. Умеет работать с j-link (mt-link), оптимальным отладчиком. С версии 2.0 умеет генерировать код thumb2 (для cortex). Т.к. основан на GCC нет проблем с перетаскиванием свободных исходников.
MrYuran
Цитата(mjpronin @ Sep 27 2010, 14:33) *
2. Можно ди данный YAGARTO или WinARM (который уже давно не развивается ) прикрутить к KEIL?

Э, а разве оно не эклипс-бэйзед?
Зачем его ещё куда-то "прикручивать"?

http://www.yagarto.de/howto/yagarto2/index.html
dimka76
Цитата(MrYuran @ Sep 27 2010, 14:54) *
Э, а разве оно не эклипс-бэйзед?
Зачем его ещё куда-то "прикручивать"?

http://www.yagarto.de/howto/yagarto2/index.html


Это ни о чем не говорит. С таким же успехом можно и компилятор от Кейл к Эклипсу прикрутить )))
mjpronin
Здравствуйте.
Не стал создавать новую тему, т.к. новые вопросы дополняют предыдущие.

Сейчас имею на руках:
1. Отладочная плата OLIMEX at91sam7-p64 (at91sam7s64)
2. IAR Embedded Workbench 5.4 Kickstar
3. SAM-BA 2.10 (пока JTAG программатора нет, надеюсь, буду шить через USB)
4. Долго не думая взял исходный код для программы предложенный Atmel (getting-started), изменил board.h под мою плату. Так что готовый проект есть.
По интересующим вопросам уже почитал SAM-BA User Guide, а также Редькина, но остались вопросы. Подскажите, пожалуйста.


1. При компиляции проекта в IAR, где можно посмотреть информацию касательно размера программы – объем памяти занятый программой и переменными?

2. При запуске SAM-BA в списке «Select your board», что мне выбрать at91sam7s64-ek (но у меня не такая) или no_board?

3. При прошивке памяти программ, какую закладку выбрать DataFlash AT45DB/DCB или NandFlash? В поле Scripts надо ли каждый раз перед заливкой выбирать Erase All и Execute?

4. Если у меня в программе есть переменные, надо ли через SAM-BA дополнительно прошивать SRAM или только достаточно FLASH.

5. Надо ли вносить какие-нибудь изменения в поля:
Start Address: 0x300000
Address: 0x40000000 (после Erase All разумеется уже 0х0)
такие значения у меня были по умолчанию.

MALLOY2
Цитата(mjpronin @ Oct 11 2010, 13:05) *
Здравствуйте.
Не стал создавать новую тему, т.к. новые вопросы дополняют предыдущие.

Сейчас имею на руках:
1. Отладочная плата OLIMEX at91sam7-p64 (at91sam7s64)
2. IAR Embedded Workbench 5.4 Kickstar
3. SAM-BA 2.10 (пока JTAG программатора нет, надеюсь, буду шить через USB)
4. Долго не думая взял исходный код для программы предложенный Atmel (getting-started), изменил board.h под мою плату. Так что готовый проект есть.
По интересующим вопросам уже почитал SAM-BA User Guide, а также Редькина, но остались вопросы. Подскажите, пожалуйста.


1. При компиляции проекта в IAR, где можно посмотреть информацию касательно размера программы – объем памяти занятый программой и переменными?

2. При запуске SAM-BA в списке «Select your board», что мне выбрать at91sam7s64-ek (но у меня не такая) или no_board?

3. При прошивке памяти программ, какую закладку выбрать DataFlash AT45DB/DCB или NandFlash? В поле Scripts надо ли каждый раз перед заливкой выбирать Erase All и Execute?

4. Если у меня в программе есть переменные, надо ли через SAM-BA дополнительно прошивать SRAM или только достаточно FLASH.

5. Надо ли вносить какие-нибудь изменения в поля:
Start Address: 0x300000
Address: 0x40000000 (после Erase All разумеется уже 0х0)
такие значения у меня были по умолчанию.


1. Да можно, для этого нужно в опциях options->linker->list поставить галочку generate linker map file, в папке согласно вашей конфигурации (DEBUG,RELEASE и т.д.) появится файл с расширением map в нем все и расписано.

2 Не знаю не юзаю.

3. at91sam7s64 имеет встроенную флеш память, а DataFlash AT45DB/DCB или NandFlash это внешне подключаемые этот процессор не умеет с них грузится и выполнять программы тобиш явно не ваш случай. Для вас надо что то Flash.

4. Нет не надо.

5. тоже что и пункт 2.
mjpronin
Спасибо. Многое стало ясно.

После того как я выполнил все предписанные манипуляции с TEST, плата определилась как новое устройство, затем произвел установку дров, потом SAM-BA признал МК и плату, произвел коннект через USB. Появились закладки для программирования необходимого МК.

Остался последний вопрос. Я прочел, что первоначально необходимо произвести манипуляции в поле Scripts, а именно выбрать Boot from Flash (GPNVM2), но у меня в самбе того нет, зато есть:
Disable BrownOut Detector (GPNVM0)
Disable BrownOut Reset (GPNVM1)
Enable BrownOut Detector (GPNVM0)
Enable BrownOut Reset (GPNVM1)
Enable Flash access
Enable Security Bit
Erase All Flash
так что мне выбрать?? Enable Flash access?? Erase All Flash??

Проверьте, так ли Вы делаете, те кто работает с SAM-BA:
1. Произвожу манипуляции с перезаписью SAM-BA. Самба перезаписывается во flash и МК готов к записи пользовательской программы???

2. Заливаю свою программу: Send File. Address: ??? Не знаю какой надо указать 0х00 чтобы в начало памяти писать или оставить то, что по умолчанию 0x100000 ????? Я так понимаю, надо писать в начало flash, чтобы пользовательская программа затерла собой самбу??? Или надо оставлять адрес по умолчанию????

3. Выбираю флаг: Enable Flash access - Execute, что переключает стартовый адрес МК на начало flash памяти с пользовательской программой???? По крайней мере, так написано в одной из книг.

4. Надо ли производить манипуляции с Erase All Flash??? Производится ли данная операция автоматически??? Ведь если код последующей программы меньше кода предыдущей, то она затрет собой не весь код предыдущей и будет белиберда???? Производится ли стирание всего flash, когда происходит запись самбы в память???
mjpronin
Народ, ну разве никто не работает с SAM-BA? Ну, есть же хоть что-нибудь ответить!?
Может быть мне новую тему создать?
kumle
Цитата(mjpronin @ Oct 12 2010, 14:19) *
Народ, ну разве никто не работает с SAM-BA? Ну, есть же хоть что-нибудь ответить!?
Может быть мне новую тему создать?


Привет, сам пару дней назад прикупил платку от olimex at91sam7p256 от Olimex.
И вот что я узнал (может тебе пригодится)
1)У камней at91sam7s нету бита GPNVM2 (этот бит есть у at91sam7x), поэтому то и в самбе в закладке scripts этого бита тоже нету.
2)Из этого следует (как я понял) Что нужно каждый раз заново перезаливать самбу во флеш, а затем уже заливать туда прошивку.
3)У меня все получилось с первого раза причем я ничего не меняя в самбе просто выбрал свой bin, затем сделал send file во флеш и передернул питание. После этого моя прога запустилась.

Открытым остается вопрос, как не затирая самбу залить свою прошивку (вo флеш или в озу), затем запустить ее, а затем снова вернуться к самбе, (чтобы заново ее не заливать) и повторять процесс программирования.

Пробовал изменять стартовый адрес на 200400 (по умолчанию был 200000) но ничего не помогло. При включении питания всегда начинает работать прошивка, а как передать управление на самбу непонятно ?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.