|
Помогите начать работать с ARM7 Atmel, AT91SAM7x |
|
|
|
 |
Ответов
(1 - 52)
|
Oct 13 2012, 16:02
|
Гуру
     
Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322

|
Цитата(Lisitsin @ Oct 13 2012, 18:13)  В связи с этим прошу помощи, а именно: 1) нужна среда разработки. (В смысле где можно скачать). Конкретно интересно под AT91SAM7x. . 2) простейший программатор (схема, софт) 1) Keil, IAR, Eclipse. 2) Atmel SAM-ICE - но это наверное не самый дешёвый. Цитата(Lisitsin @ Oct 13 2012, 18:13)  3) ну и назидательные советы, направляющие на путь истинный ))) Зачем нужно начинать освоение с устаревшей архитектуры? Потому что есть плата с установленным SAM7? Чем Cortex не устраивает? К тому же они проще...
|
|
|
|
|
Oct 13 2012, 16:36
|
Местный
  
Группа: Участник
Сообщений: 227
Регистрация: 1-10-10
Из: Рязань
Пользователь №: 59 868

|
Цитата(_Артём_ @ Oct 13 2012, 20:02)  1) Keil, IAR, Eclipse. 2) Atmel SAM-ICE - но это наверное не самый дешёвый. Чем Cortex не устраивает? К тому же они проще... 1 - а где скачать то можно? 2 - мне бы самодельный сделать, для внутрисхемного программирования ... Есть где-нибудь схемки? 3 - Cortex - а что это, простите за глупый вопрос ... ? Цитата(prottoss @ Oct 13 2012, 20:22)  1. Уже выше посоветовали. 2. Вместо SAM-ICE подойдет JLINK, к тому же в разделе по ARM нетленна ветка по самостоятельному изготовлению JLINK. 3. Купите какую нить девборду, курите даташиты, спрашивайте вопросы  2 - JLINK - а где веточку то посмотреть можно? 3 - да я ARM изучаю собственно уже с ориентацией на конкретный проект, так что борд не нужен, сразу лепить буду ... Ещё вопросец: скачал дистрибутив Atmel Studio 6.0. что сие есть? Можно в нём работать под ARM7?
Сообщение отредактировал Lisitsin - Oct 13 2012, 16:38
--------------------
с Уважением, Lisitsin Vasil.Lisitsin@yandex.ru
|
|
|
|
|
Oct 13 2012, 17:11
|
Местный
  
Группа: Свой
Сообщений: 209
Регистрация: 6-01-12
Пользователь №: 69 197

|
Цитата(Lisitsin @ Oct 13 2012, 20:36)  3 - Cortex - а что это, простите за глупый вопрос ... ? Вы простите за глупый вопрос когда на сайт производителя каких-нибудь контроллеров в последний раз заходили? гда три четыре назад? Это вообще то новое ядро АРМ
--------------------
|
|
|
|
|
Oct 13 2012, 17:43
|
Гуру
     
Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322

|
Цитата(Lisitsin @ Oct 13 2012, 19:36)  1 - а где скачать то можно? www.iar.com www.keil.com Есть ещё ARMGCC. Скачать можно, например тут: www.yagarto.de там же есть eclipse и примеры для разных АРМов. Цитата(Lisitsin @ Oct 13 2012, 19:36)  2 - мне бы самодельный сделать, для внутрисхемного программирования ... Есть где-нибудь схемки? Говорят клоны jlink-а можно дешего купить. Цитата(Lisitsin @ Oct 13 2012, 19:36)  3 - Cortex - а что это, простите за глупый вопрос ... ? Ну вы даёте... Цитата(Lisitsin @ Oct 13 2012, 19:36)  Ещё вопросец: скачал дистрибутив Atmel Studio 6.0. что сие есть? Можно в нём работать под ARM7? Как это не странно - нет. Хотя использовать как редактор и компилятор наверное можно. Но отлаживать не выйдет.
|
|
|
|
|
Oct 13 2012, 17:49
|
Участник

Группа: Участник
Сообщений: 73
Регистрация: 26-10-05
Пользователь №: 10 125

|
Цитата(Lisitsin @ Oct 13 2012, 21:13)  Здравствуйте. Долго работал с RISK микроконтроллерами Atmel. Чувствую, вот оно, пришло время осваивать ARM !!! В связи с этим прошу помощи, а именно: 1) нужна среда разработки. (В смысле где можно скачать). Конкретно интересно под AT91SAM7x. . 2) простейший программатор (схема, софт) 3) ну и назидательные советы, направляющие на путь истинный ))) Спасибо !!! Cortex описание http://www.gaw.ru/html.cgi/txt/doc/micros/...x_arh/index.htmмного готовых отладочных плат www.terraelectronica.ru в том числе с интегрировнными программаторами вообще с армами по сравнению с тем что было лет пять назад, просто сказка все можно почти за бесплатно получить Если завяжитесь с кортексами от stm то пряма там в их софтовой либе можно посмотреть отладчики и ide под которые они портируют свой софт и выбрать что понравится Удачи
|
|
|
|
|
Oct 13 2012, 18:12
|
Местный
  
Группа: Участник
Сообщений: 227
Регистрация: 1-10-10
Из: Рязань
Пользователь №: 59 868

|
Цитата(Fedor @ Oct 13 2012, 21:49)  Cortex Действительно, Cortex M3 лучше. Сейчас даже четвёртые пошли. Но вот только не могу найти полные Datasheetы ни на один контроллер, например,STM32F417. Где бы можно накачать? Цитата(SyncLair @ Oct 13 2012, 21:11)  Вы простите за глупый вопрос когда на сайт производителя каких-нибудь контроллеров в последний раз заходили? гда три четыре назад? Это вообще то новое ядро АРМ Да я вообще кроме RISK ничего то и не видел ... )))
--------------------
с Уважением, Lisitsin Vasil.Lisitsin@yandex.ru
|
|
|
|
|
Oct 13 2012, 18:21
|
Местный
  
Группа: Участник
Сообщений: 227
Регистрация: 1-10-10
Из: Рязань
Пользователь №: 59 868

|
Цитата(Xenia @ Oct 13 2012, 22:18)  Ну так они ж все сокращённые ... Ознакомительные типа )))
--------------------
с Уважением, Lisitsin Vasil.Lisitsin@yandex.ru
|
|
|
|
|
Oct 13 2012, 18:30
|
Местный
  
Группа: Участник
Сообщений: 227
Регистрация: 1-10-10
Из: Рязань
Пользователь №: 59 868

|
Цитата(Xenia @ Oct 13 2012, 22:26)  К тому, кто найдет более полные, просьба свитнуть мне - собираю даташиты на МК по зову души и долгу службы (как библиотекарь ftp). Ну и как с ними вообще тогда работать?
Сообщение отредактировал Lisitsin - Oct 13 2012, 18:31
--------------------
с Уважением, Lisitsin Vasil.Lisitsin@yandex.ru
|
|
|
|
|
Oct 13 2012, 21:42
|
Местный
  
Группа: Участник
Сообщений: 227
Регистрация: 1-10-10
Из: Рязань
Пользователь №: 59 868

|
Цитата(Xenia @ Oct 13 2012, 22:26)  К тому, кто найдет более полные, просьба свитнуть мне - собираю даташиты на МК по зову души и долгу службы (как библиотекарь ftp). На Atmel Cortex M4 не надо? http://catalog.gaw.ru/index.php?page=compo...il&id=66763
--------------------
с Уважением, Lisitsin Vasil.Lisitsin@yandex.ru
|
|
|
|
|
Oct 14 2012, 04:28
|
Местный
  
Группа: Участник
Сообщений: 227
Регистрация: 1-10-10
Из: Рязань
Пользователь №: 59 868

|
Цитата(wangan @ Oct 14 2012, 07:22)  Спосибо огромное, но я тут по-моему уже в Cortex M4 от Atmel влюбился. Ночь провёл совершенно бессонную ... http://catalog.gaw.ru/index.php?page=compo...il&id=61016Вот где бы теперь под неё студию нарыть ...
Сообщение отредактировал Lisitsin - Oct 14 2012, 05:24
--------------------
с Уважением, Lisitsin Vasil.Lisitsin@yandex.ru
|
|
|
|
|
Oct 14 2012, 06:51
|
Местный
  
Группа: Участник
Сообщений: 227
Регистрация: 1-10-10
Из: Рязань
Пользователь №: 59 868

|
Цитата(Xenia @ Oct 14 2012, 10:13)  Вот уж не проблема с тех пор, как Atmel Studio 6 стала поддерживать не только AVR, но и ARM контроллеры фирмы Atmel. Прямые ссылки на продукт (без регистрации) приведены на странице вот этого немецкого сайта: http://www.mikrocontroller.net/articles/Atmel_Studio(секция Downloads) Спасибо огромное, по-поему то, что надо.
--------------------
с Уважением, Lisitsin Vasil.Lisitsin@yandex.ru
|
|
|
|
|
Oct 15 2012, 04:50
|

Местный
  
Группа: Участник
Сообщений: 340
Регистрация: 25-10-05
Из: Пермь, Россия
Пользователь №: 10 091

|
Цитата(Lisitsin @ Oct 13 2012, 21:36)  2 - мне бы самодельный сделать, для внутрисхемного программирования ... Есть где-нибудь схемки? Простите, а зачем для sam7 "делать" программатор? Насколько я помню, в этих контроллерах уже есть прошитый на заводе загрузчик (SAM_BA boot), и для их внутрисхемного программирования нужна только программа SAM-BA (лежит на сайте Атмела), которая программирует контроллер по RS232 и (или) USB...
--------------------
Всего наилучшего, Alex Mogilnikov
|
|
|
|
|
Oct 15 2012, 17:05
|
Местный
  
Группа: Участник
Сообщений: 227
Регистрация: 1-10-10
Из: Рязань
Пользователь №: 59 868

|
Цитата(_Pasha @ Oct 15 2012, 11:21)  Не подскажете, как у них там дела с симулятором? Не хуже Кейла для AT91? Чёт симулятор не включается для Cortex M4. Хотя компилировать компилирует. Люди добрые, а существует вообще в природе asm для Cortex??? Или мне C учить ???????
--------------------
с Уважением, Lisitsin Vasil.Lisitsin@yandex.ru
|
|
|
|
|
Oct 15 2012, 17:39
|
Местный
  
Группа: Участник
Сообщений: 227
Регистрация: 1-10-10
Из: Рязань
Пользователь №: 59 868

|
Цитата(prottoss @ Oct 15 2012, 21:18)  Можете и на ассемблере. Вижу для Вас плевое дело. Вот тут качайте - http://infocenter.arm.com/help/index.jsp?t...g/Cfaggajd.htmlДа я про компилятор ...
--------------------
с Уважением, Lisitsin Vasil.Lisitsin@yandex.ru
|
|
|
|
|
Oct 15 2012, 18:04
|
Гуру
     
Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322

|
Цитата(Lisitsin @ Oct 15 2012, 20:05)  Чёт симулятор не включается для Cortex M4. Хотя компилировать компилирует. Наверняка потому что нет его - отладка только через атмеловский j-link. Цитата(Lisitsin @ Oct 15 2012, 20:05)  Люди добрые, а существует вообще в природе asm для Cortex??? Или мне C учить ??????? Зачем вам асм в чистом виде? Цитата(Lisitsin @ Oct 15 2012, 20:05)  Или мне C учить ??????? Конечно, как иначе. Но GCC допускает использование inline assembler-а.
|
|
|
|
|
Oct 15 2012, 18:16
|
Гуру
     
Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322

|
Цитата(_Pasha @ Oct 15 2012, 21:08)  Что значит "допускает"? 8) Ну, можно пару строк в С-файле черкануть. Цитата(_Pasha @ Oct 15 2012, 21:08)  А в этом инлайне разобраться - лучше нинада  ужос. Я не пробовал - не нужно было. Что лучше всю программу сразу в S-файлах писать? Вот где ужос.
|
|
|
|
|
Oct 15 2012, 18:31
|
Гуру
     
Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322

|
Цитата(_Pasha @ Oct 15 2012, 21:24)  Дык она там в 80% случаях на байт-код будет похожа: таблицы, таблицы ... Таблицы? Не представил... Цитата(_Pasha @ Oct 15 2012, 21:24)  цмсис тоже подзадолбал своим графоманством. Не мспользуйте cmsis, никто же не заставляет.
|
|
|
|
|
Oct 15 2012, 19:04
|
;
     
Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509

|
Цитата(_Артём_ @ Oct 15 2012, 21:31)  Таблицы? Не представил... Оно всегда распадается на три резко контрастирующие части: - быстрые подпрограммы - тут всё ясно, - движок для тредов, тсз, недо-ось, - медленный интерпретатор для работы с верхней логикой, - тут можно изголяться от макросов, конструирующих байт-код, до собственного языка, с символьным входным потоком Тут и - сценарии инициализации периферии - пары <смещение>:<значение>, и таблицы параметров для "общения" с внешним миром, итераторы всевозможные- с описанием работы в виде таблицы <адрес пп>:<адрес перехода, если пп вернула==0>:<адрес перехода если !=0>, причем адреса - короткие, в байт шириной, только зачем это всё - чем дальше, тем непонятнее, - кругом велосипеды  .
|
|
|
|
|
Oct 15 2012, 19:16
|
Гуру
     
Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322

|
Цитата(_Pasha @ Oct 15 2012, 22:04)  Оно всегда распадается на три резко контрастирующие части: - быстрые подпрограммы - тут всё ясно, - движок для тредов, тсз, недо-ось, - медленный интерпретатор для работы с верхней логикой, - тут можно изголяться от макросов, конструирующих байт-код, до собственного языка, с символьным входным потоком Тут и - сценарии инициализации периферии - пары <смещение>:<значение>, и таблицы параметров для "общения" с внешним миром, итераторы всевозможные- с описанием работы в виде таблицы <адрес пп>:<адрес перехода, если пп вернула==0>:<адрес перехода если !=0>, причем адреса - короткие, в байт шириной, только зачем это всё - чем дальше, тем непонятнее, - кругом велосипеды  . Жесть... И всё на асме? Двойная жесть.
|
|
|
|
|
Oct 16 2012, 09:45
|

Профессионал
    
Группа: Свой
Сообщений: 1 202
Регистрация: 26-08-05
Из: Донецк, ДНР
Пользователь №: 7 980

|
Во-во ... Заморачиваться с асмом надо тогда, когда необходимо выверить быстродействие какого-то куска до какого-нибудь такта или наносекунды и при этом не зависеть от "оптимизаторных" выкрутасов компилятора Си. А писать на асме, например, функцию strcpy или sprintf, это, извините, маразм. Цитата(Lisitsin @ Oct 15 2012, 20:05)  Или мне C учить ??????? Подумайте, что проще - изучить Си, который применяется поголовно на ВСЕХ процах (даже на АВР-ах без RAM  ) или очередной ассемблер. Я не отговариваю Вас от асма, но прикиньте, вы его изучите, допустим для того же Cortex M3, убъёте на это, например, 2 недели. Потом вдруг осознаете, что этот M3 Вас чем-то не устраивает (например, тем что оно гарвардское, а не фон-неймановское), и решите заняться ARM7TDMI. И будете ОПЯТЬ 2 недели учить ассемблер, уже для ARM7TDMI. И т.д. до бесконечности .... В итоге Вы будете изучать не новые таймеры, АЦП и прочие плюшки нового контроллера, а то, как запрограммировать ( a + b ) / c, потому как mov ax, a mov bx, b mov dx, c add ax, bx div dx будет работать на 8086, а на AVR или Cortex M3 это всё надо переписывать в силу того, что регистров ax, bx, dx там нету (но есть какие-то другие) и делить оно само не умеет (AVR точно не умеет, M3 - не знаю  ) и это опять же надо писать самому. А любой компилятор Си подобные "уравнения" понимает от рождения и переписывать их каждый раз не нужно. И можно заниматься делом, а не арифметикой. А арифметикой заняться когда того потребует тот или иной конкретный проект. Это моё мнение, как человека, писавшего программы для Z80, 80x86, x51, AVR и теперь на ARM (AT91SAM7).
--------------------
Чтобы возить такого пассажира, необходим лимузин другого класса. (с) Мария Эдуарда
|
|
|
|
|
Oct 16 2012, 11:04
|

Гуру
     
Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659

|
Цитата(hd44780 @ Oct 16 2012, 15:45)  ...но прикиньте, вы его изучите, допустим для того же Cortex M3, убъёте на это, например, 2 недели... Гыыы... ржунемогу. Мож за два месяца? Или за год?  На самом деле Си нужно курить-изучать. Потому как переносимость - главное. Т.е. как говорилось выше, написали программу для одной платформы, а через полгода можно этот же кусок с минимумом исправлений перетащит на совершенно другую платформу, если есть под нее Си компилятор. А он обязательно есть! Второй момент, что 50% программы это не работа с портами ВВ а что то более осмысленное, которое, при определенном навыке, вообще можно отладить на компиляторе для РС, т.е. на х86.
--------------------
|
|
|
|
|
Oct 16 2012, 11:25
|
;
     
Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509

|
Цитата(hd44780 @ Oct 16 2012, 12:45)  Во-во ... Заморачиваться с асмом надо тогда, когда Когда об этом говорят все, начинаешь сомневаться, правда ли это. Вы думаете, всем нужен sprintf() в таком виде, в котором он есть? Вы думаете, что гораздо проще "от балды" сидеть на си, не зная ассемблера? Вы думаете, что все неизбежно пользуются плавучкой? Это еще при том, что в си нету нативной поддержки fixed point, dsp-инструкций и подобного, всегда надо чего-то допиливать. Повторяю, люди, пишущие на асме, в основном, приходят к виртуальным машинам, пусть примитивным, но устраивающим почему-то. А в этом деле главное - отстроить движок - всё сразу портируется. Тут еще сторонники форта на ум приходят - тоже есть аналогии в методах работы. Цитата(prottoss @ Oct 16 2012, 14:04)  Второй момент, что 50% программы это не работа с портами ВВ а что то более осмысленное, которое, при определенном навыке, вообще можно отладить на компиляторе для РС, т.е. на х86. Вот это гораздо более весомый аргумент, чем эфемерная переносимость, постоянно вынуждающая к компромиссам.
|
|
|
|
|
Oct 16 2012, 12:01
|

Профессионал
    
Группа: Свой
Сообщений: 1 202
Регистрация: 26-08-05
Из: Донецк, ДНР
Пользователь №: 7 980

|
Цитата(prottoss @ Oct 16 2012, 14:04)  Гыыы... ржунемогу. Мож за два месяца? Или за год?  Тем более. Лишний аргумент в пользу Си. Про 2 недели я образно выразился. Хотя основы можно и за 2 недели выучить ... Чай ТС не студент, которому в институте только делфи и C# преподавали. Слова типа "регистр" и "косвенно-индексная адресация" его явно в шок не ввергают. Цитата Вы думаете, всем нужен sprintf() в таком виде, в котором он есть? А чем он плох? Тем, что "много лишнего"? Если не нравится, пишите свой, я не против  . Я не сторонник изобретать новый велосипед, если в старом мне не нравятся одни лишь педали .... Цитата Вы думаете, что гораздо проще "от балды" сидеть на си, не зная ассемблера? Для очень многих задач ассемблер вообще не нужен. Даже на АВРе, который гораздо тормознутее любого АРМа. Но "и зайца можно научить курить" ..... Цитата Вы думаете, что все неизбежно пользуются плавучкой? Это еще при том, что в си нету нативной поддержки fixed point, dsp-инструкций и подобного, всегда надо чего-то допиливать. А при чём здесь "плавучка"? Плавучку как раз лучше на си применять, а не на ассемблере. Битовых операций в СИ тоже нету. На этот счёт есть "компиляторо-зависимые расширения", типа PORTA.0 в CvAVR или asm вставки, которые тоже одни хвалят, другие ругают почём свет стоит и пишут на GCC общепринятые конструкции типа PORTA|=0x01 ещё и с кучей макросов "для удобства". А потом иди гадай, что там в машинном коде стоит, одна команда типа sbi или or с кучей регистровых пересылок. Цитата(prottoss @ Oct 16 2012, 14:35)  Потому как для каждой платформы все равно код для работы с портами ВВ, хоть на ассемблере, хоть на Си приходится переписывать. Я называю это драйвером  Согласен на все 100. Сaм стараюсь так писать  .
--------------------
Чтобы возить такого пассажира, необходим лимузин другого класса. (с) Мария Эдуарда
|
|
|
|
|
Oct 16 2012, 12:36
|
;
     
Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509

|
Цитата(prottoss @ Oct 16 2012, 14:35)  Я называю это драйвером  Это все красиво, когда нет влияния окружения - оси, или... вот простой пример: есть DMA - нету DMA. Появляется сразу некий средний уровень между HAL и приложением. Игнорировать - гробить ресурсы. Цитата(hd44780 @ Oct 16 2012, 15:01)  А чем он плох?  Самый правильный ответ: "А чем он хорош?" Педали там такие, что для разных размещений форматной строки у нас зоопарк функций, и без "много лишнего" - получается вообще ничего, поскольку там все красиво увязано с остальными сущностями stdlib. Лично мне больше нравится printf с хэндлами - вроде как "вес строки" не теряется и не надо дополнительных телодвижений. К тому же, у меня редко, когда тред "стучит" больше чем в один поток ввода-вывода. Цитата А при чём здесь "плавучка"? Плавучку как раз лучше на си применять, а не на ассемблере. Это уже диалог глухих  Цитата Битовых операций в СИ тоже нету. На этот счёт есть "компиляторо-зависимые расширения", типа PORTA.0 в CvAVR или asm вставки, которые тоже одни хвалят, другие ругают почём свет стоит и пишут на GCC общепринятые конструкции типа PORTA|=0x01 ещё и с кучей макросов "для удобства". А потом иди гадай, что там в машинном коде стоит, одна команда типа sbi или or с кучей регистровых пересылок. А нафига оно надо, чай не 90-е Код union _io_register { uint32_t reg; struct _io_register_bits { unsigned mux:3; unsigned relay:1; unsigned shutdn:1; } bits; } io_register; io_register.bits.relay = 1; io_register.bits=(struct _io_register_bits){.mux=3,.relay=1,.shutdn=1};// вот это долго не все поддерживали io_register.reg = 0;
|
|
|
|
|
Oct 16 2012, 15:04
|
;
     
Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509

|
Цитата(prottoss @ Oct 16 2012, 17:11)  Ну милое дело. Тоже самое, не поверите, AT45DB321.  Пишу на Си под stm32f100, будь они неладны. Милое дело - пиковый размер буфера чтения больше 25% озу, это ж хорошо, что без сторонних либ и ртосей, а то за стек страшно стало бы... Так и тянется рука к старшим в линейке камням. Правда, к Си vs Ыссемблер это уже не относится, больше к тому, что сам себе папакарло.
|
|
|
|
|
Oct 16 2012, 15:27
|
;
     
Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509

|
Цитата(prottoss @ Oct 16 2012, 18:11)  Во-во  И это хорошо!  Я контрасту немного наддам: это тоже х, только не хорошо - подвернулась ветка, а там всё, об чём говорили: и неохота лазать по асму, и ртось, и глубина стека под подозрением, и клятый printf с тупо буферизацией в стиле smartdrive. Полный набор. ЗЫ и я сильно сомневаюсь, что трижды обернутый vsprintf не свалил человеку стек.
Сообщение отредактировал _Pasha - Oct 16 2012, 15:30
|
|
|
|
|
  |
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|