|
|
  |
Помогите начать работать с ARM7 Atmel, AT91SAM7x |
|
|
|
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. Вот это гораздо более весомый аргумент, чем эфемерная переносимость, постоянно вынуждающая к компромиссам.
|
|
|
|
|
  |
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|