Перейти к содержанию
    

Помогите начать работать с ARM7 Atmel

Не подскажете, как у них там дела с симулятором? Не хуже Кейла для AT91?

Чёт симулятор не включается для Cortex M4. Хотя компилировать компилирует.

 

Люди добрые, а существует вообще в природе asm для Cortex??? Или мне C учить ???????

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Чёт симулятор не включается для Cortex M4. Хотя компилировать компилирует.

Люди добрые, а существует вообще в природе asm для Cortex??? Или мне C учить ???????

Можете и на ассемблере. Вижу для Вас плевое дело. Вот тут качайте - http://infocenter.arm.com/help/index.jsp?t...g/Cfaggajd.html

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Можете и на ассемблере. Вижу для Вас плевое дело. Вот тут качайте - http://infocenter.arm.com/help/index.jsp?t...g/Cfaggajd.html

Да я про компилятор ...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Чёт симулятор не включается для Cortex M4. Хотя компилировать компилирует.

Люди добрые, а существует вообще в природе asm для Cortex??? Или мне C учить ???????

Это в Atmel Studio? Ага, понятненько. Спасибо.

Насчет асма.

Вы на этом этапе крепко сравните между gas(из GCC для армов) и тот, что кейловский. Имея в виду вопрос, как не подсаживаться на особенности синтаксиса того и другого.

Изменено пользователем _Pasha

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Чёт симулятор не включается для Cortex M4. Хотя компилировать компилирует.

Наверняка потому что нет его - отладка только через атмеловский j-link.

 

Люди добрые, а существует вообще в природе asm для Cortex??? Или мне C учить ???????

Зачем вам асм в чистом виде?

 

Или мне C учить ???????

Конечно, как иначе. Но GCC допускает использование inline assembler-а.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Конечно, как иначе. Но GCC допускает использование inline assembler-а.

Что значит "допускает"? 8) А файлы *.S ?

А в этом инлайне разобраться - лучше нинада :) ужос.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Что значит "допускает"? 8)

Ну, можно пару строк в С-файле черкануть.

 

А в этом инлайне разобраться - лучше нинада :) ужос.

Я не пробовал - не нужно было.

Что лучше всю программу сразу в S-файлах писать? Вот где ужос.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Что лучше всю программу сразу в S-файлах писать? Вот где ужос.

Дык она там в 80% случаях на байт-код будет похожа: таблицы, таблицы ...

Ничего ужасного, дело вкуса.

Писанины поболее, - это такида, но блин, цмсис тоже подзадолбал своим графоманством.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Дык она там в 80% случаях на байт-код будет похожа: таблицы, таблицы ...

Таблицы? Не представил...

 

цмсис тоже подзадолбал своим графоманством.

Не мспользуйте cmsis, никто же не заставляет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Таблицы? Не представил...

Оно всегда распадается на три резко контрастирующие части:

- быстрые подпрограммы - тут всё ясно,

- движок для тредов, тсз, недо-ось,

- медленный интерпретатор для работы с верхней логикой, - тут можно изголяться от макросов, конструирующих байт-код, до собственного языка, с символьным входным потоком

Тут и - сценарии инициализации периферии - пары <смещение>:<значение>,

и таблицы параметров для "общения" с внешним миром, итераторы всевозможные- с описанием работы в виде таблицы <адрес пп>:<адрес перехода, если пп вернула==0>:<адрес перехода если !=0>, причем адреса - короткие, в байт шириной, только зачем это всё - чем дальше, тем непонятнее, - кругом велосипеды :) .

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Оно всегда распадается на три резко контрастирующие части:

- быстрые подпрограммы - тут всё ясно,

- движок для тредов, тсз, недо-ось,

- медленный интерпретатор для работы с верхней логикой, - тут можно изголяться от макросов, конструирующих байт-код, до собственного языка, с символьным входным потоком

Тут и - сценарии инициализации периферии - пары <смещение>:<значение>,

и таблицы параметров для "общения" с внешним миром, итераторы всевозможные- с описанием работы в виде таблицы <адрес пп>:<адрес перехода, если пп вернула==0>:<адрес перехода если !=0>, причем адреса - короткие, в байт шириной, только зачем это всё - чем дальше, тем непонятнее, - кругом велосипеды :) .

Жесть... И всё на асме? Двойная жесть.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Во-во ...

Заморачиваться с асмом надо тогда, когда необходимо выверить быстродействие какого-то куска до какого-нибудь такта или наносекунды и при этом не зависеть от "оптимизаторных" выкрутасов компилятора Си.

 

А писать на асме, например, функцию strcpy или sprintf, это, извините, маразм.

 

Или мне C учить ???????

 

Подумайте, что проще - изучить Си, который применяется поголовно на ВСЕХ процах (даже на АВР-ах без RAM :laughing: ) или очередной ассемблер.

Я не отговариваю Вас от асма, но прикиньте, вы его изучите, допустим для того же 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).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

...но прикиньте, вы его изучите, допустим для того же Cortex M3, убъёте на это, например, 2 недели...
Гыыы... ржунемогу. Мож за два месяца? Или за год? :)

 

На самом деле Си нужно курить-изучать. Потому как переносимость - главное. Т.е. как говорилось выше, написали программу для одной платформы, а через полгода можно этот же кусок с минимумом исправлений перетащит на совершенно другую платформу, если есть под нее Си компилятор. А он обязательно есть!

 

Второй момент, что 50% программы это не работа с портами ВВ а что то более осмысленное, которое, при определенном навыке, вообще можно отладить на компиляторе для РС, т.е. на х86.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Во-во ...

Заморачиваться с асмом надо тогда, когда

 

Когда об этом говорят все, начинаешь сомневаться, правда ли это.

Вы думаете, всем нужен sprintf() в таком виде, в котором он есть?

Вы думаете, что гораздо проще "от балды" сидеть на си, не зная ассемблера?

Вы думаете, что все неизбежно пользуются плавучкой? Это еще при том, что в си нету нативной поддержки fixed point, dsp-инструкций и подобного, всегда надо чего-то допиливать.

Повторяю, люди, пишущие на асме, в основном, приходят к виртуальным машинам, пусть примитивным, но устраивающим почему-то.

А в этом деле главное - отстроить движок - всё сразу портируется. Тут еще сторонники форта на ум приходят - тоже есть аналогии в методах работы.

 

Второй момент, что 50% программы это не работа с портами ВВ а что то более осмысленное, которое, при определенном навыке, вообще можно отладить на компиляторе для РС, т.е. на х86.

Вот это гораздо более весомый аргумент, чем эфемерная переносимость, постоянно вынуждающая к компромиссам.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...