реклама на сайте
подробности

 
 
> Cortex-M3 и М4, В чем разница?
af1283
сообщение Dec 29 2013, 16:02
Сообщение #1





Группа: Участник
Сообщений: 13
Регистрация: 29-12-13
Пользователь №: 79 849



Хочу ответов мудрых на вопрос: в чем отличие системы команд Cortex-M3 и М4 и насколько они совместимы? Если читать книжку по М3, то можно опыт перенести на М4? Спасибо.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Метценгерштейн
сообщение Jan 4 2014, 10:21
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 357
Регистрация: 12-04-05
Из: Петербург
Пользователь №: 4 079



знать асм надо- это дает понимание того, что такое проц вообще и как он работает.
Но писать на асме, что под АВР, что под STM32 смысла нет и не стоит это делать.
Год назад сам на STM32 перешел. Порекомендую сайт chipspace.ru
Там все подробно и по шагам расписано. Сам туда пару статей написал полезных. Начинай с него, описано хорошо и как надо.
И, повторюсь, писать надо на Си. Книжка в помощь- изучаем Си. Крупник.
Go to the top of the page
 
+Quote Post
af1283
сообщение Jan 6 2014, 10:19
Сообщение #3





Группа: Участник
Сообщений: 13
Регистрация: 29-12-13
Пользователь №: 79 849



Цитата(Метценгерштейн @ Jan 4 2014, 14:21) *
знать асм надо- это дает понимание того, что такое проц вообще и как он работает.


Спасибо, но почему асм не подходит для написания чего-либо совсем несложного? Я понимаю, что всем хочется побыстрее и попроще, но... Я пример на асме нашел только на одном американском сайте колледжа.
Go to the top of the page
 
+Quote Post
mantech
сообщение Jan 6 2014, 12:52
Сообщение #4


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(af1283 @ Jan 6 2014, 14:19) *
Спасибо, но почему асм не подходит для написания чего-либо совсем несложного? Я понимаю, что всем хочется побыстрее и попроще, но... Я пример на асме нашел только на одном американском сайте колледжа.


Потому что есть такая штука, как переносимость. Например я писал интерпретатор виртуальных задач для аврки, год назад пришлось портировать на арм, я писал на си, время на порт затратил 2 дня. А теперь представь, еслиб я на асме все это писал, и потом надо портировать на арм?? Да, возможно я получил бы еще процентов 5 быстродействия, но потратил бы как минимум пару месяцев. Воть laughing.gif

PS. Надо учитывать одно - во времена 8мибитников, с быстродействием единицы миллионов оп\сек иногда требовалось написать что-то особо быстрое, с мин. кол-вом кода (пример - те же тини у аврок). Теперь, когда микруха стоит 50руб, а в ней 64к флеша 20к ОЗУ и 80 мипсов быстроты, эти требования уже не актуальны, и асм я знаю только на том уровне, чтоб оценить проблему при отладке...
Go to the top of the page
 
+Quote Post
af1283
сообщение Jan 6 2014, 18:34
Сообщение #5





Группа: Участник
Сообщений: 13
Регистрация: 29-12-13
Пользователь №: 79 849



Цитата(mantech @ Jan 6 2014, 16:52) *
Потому что есть такая штука, как переносимость. Например я писал интерпретатор виртуальных задач для аврки, год назад пришлось портировать на арм, я писал на си, время на порт затратил 2 дня. А теперь представь, еслиб я на асме все это писал, и потом надо портировать на арм?? Да, возможно я получил бы еще процентов 5 быстродействия, но потратил бы как минимум пару месяцев. Воть laughing.gif

PS. Надо учитывать одно - во времена 8мибитников, с быстродействием единицы миллионов оп\сек иногда требовалось написать что-то особо быстрое, с мин. кол-вом кода (пример - те же тини у аврок). Теперь, когда микруха стоит 50руб, а в ней 64к флеша 20к ОЗУ и 80 мипсов быстроты, эти требования уже не актуальны, и асм я знаю только на том уровне, чтоб оценить проблему при отладке...


Да, с точки зрения программирования я с вами целиком согласен. Но... Для меня, как для начинающего инженера, с программированием знакомым слабо, понятнее всего всё-таки когда я сначала сам пощупаю всё, что делает код, сам напишу кое-какие велосипеды на асме: покидаюсь байтами, помигаю чем придется; потом досконально разберусь в сишных библиотеках, возможно подпилю их, а тогда уже дело пойдёт на лад, ящитаю. Спасибо.

Сообщение отредактировал af1283 - Jan 6 2014, 18:34
Go to the top of the page
 
+Quote Post
HardEgor
сообщение Jan 6 2014, 18:48
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 2 223
Регистрация: 3-03-06
Из: Tomsk
Пользователь №: 14 925



Снизу, от asm, идти конечно надежнее, но талмуд по нему для АРМ больше 500 страниц. А еще надо будет читать талмуд на конкретный процессор - это еще не одна сотня страниц.

Предлагаю идти сверху, от си, т.е. пишешь программу на си с Standard Peripherals Library Drivers, точнее берешь готовый пример и разбираешься как он работает - что в какой последовательно в какие регистры пишется и т.д. Потом можно для этого си-шного кода получить asm-исходник, и потрассировать программу по нему в железе.

Вот если бы у тебя был преподаватель, который имеет опыт и знает последовательность изучения, направит и подскажет и ответит на вопросы, тогда можно и с asm начинать.
Go to the top of the page
 
+Quote Post
af1283
сообщение Jan 6 2014, 18:56
Сообщение #7





Группа: Участник
Сообщений: 13
Регистрация: 29-12-13
Пользователь №: 79 849



Цитата(HardEgor @ Jan 6 2014, 22:48) *
Снизу, от asm, идти конечно надежнее, но талмуд по нему для АРМ больше 500 страниц.


Объем, конечно, серьезный. Чтоб писать на avr асме - надо страниц 20 прочесть biggrin.gif

Цитата(HardEgor @ Jan 6 2014, 22:48) *
берешь готовый пример и разбираешься как он работает - что в какой последовательно в какие регистры


Отличный вариант, но чтоб потрассировать в железе мне разве не придется периферию переписывать под свою stm32f3disvovery?

Да и ковыряться в большом объеме чужого кода ( тем более ассемблерного) как-то уныло. Лучше честно писать самому biggrin.gif
Неплохо бы совместить оба подхода.

Цитата(HardEgor @ Jan 6 2014, 22:48) *
Вот если бы у тебя был преподаватель, который имеет опыт и знает последовательность изучения, направит и подскажет и ответит на вопросы, тогда можно и с asm начинать.


Это было бы шикарно, но преподаватель кроме avr, похоже, и знать ничего не желает.


Сообщение отредактировал af1283 - Jan 6 2014, 18:59
Go to the top of the page
 
+Quote Post
SII
сообщение Jan 6 2014, 19:25
Сообщение #8


Знающий
****

Группа: Свой
Сообщений: 549
Регистрация: 13-07-10
Из: Солнечногорск-7
Пользователь №: 58 414



Цитата(af1283 @ Jan 6 2014, 22:56) *
Объем, конечно, серьезный. Чтоб писать на avr асме - надо страниц 20 прочесть biggrin.gif


Не переживайте, для начала работы на асме читать всё это и не требуется. Половина инструкций нужна лишь для специфических вещей, да и отсутствует во многих АРМах; без другой прожить можно, хотя с их помощью можно писать эффективнее -- в общем, это как раз дело наживное. Кроме того, очень значительный объём руководства посвящён всяким другим вопросам, например, устройству защиты памяти (MPU) -- для начинающего всё это даром не нужно.

Что касается документации на конкретный МК, то там тоже не требуется сразу читать все эти сотни, а то и тысячи страниц -- это ж не художественное произведение. Читаются те разделы, что нужны. Например, чтоб поморгать светодиодом, достаточно разобраться с GPIO и с настройкой ног процессора вообще. Синхронизацию процессора здесь настраивать не нужно -- вполне устроит то, с чем он начинает работать. Для более сложных вещей уже нужно и синхронизацию, но это один сравнительно небольшой раздел, а не 500 страниц. Ну и так далее sm.gif
Go to the top of the page
 
+Quote Post
HardEgor
сообщение Jan 7 2014, 06:43
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 2 223
Регистрация: 3-03-06
Из: Tomsk
Пользователь №: 14 925



Цитата(SII @ Jan 7 2014, 02:25) *
Не переживайте, для начала работы на асме читать всё это и не требуется.

Проблема в том что начинающий не знает что надо читать, а что нет.
Так же чтобы запустить процессор нужно знать последовательность и надо знать что и как включать.

Я точно также начинал с LPC - купил evaluation board, в комплекте шел компилятор и примеры, помигал, потрассировал, разобрался в идеологии, понял как использовать бибилотеки и только потом стал углубляться - читать описание на процессор и на asm. А потом перешел на STM32 - как раз рассылали бесплатные evaluation board sm.gif

Цитата(af1283 @ Jan 7 2014, 01:56) *
Отличный вариант, но чтоб потрассировать в железе мне разве не придется периферию переписывать под свою stm32f3disvovery?

С платой идут готовые примеры под несколько компиляторов - вначале стоит их поизучать. Советую поставить Keil - его можно бесплатно скачать, есть ограничение на размер программы, но для примеров хватит. Потом можно и свои программы делать. Далее можно попробовать среду разработки Coocox - она бесплатная и там намного удобней интерфейс и большое количество примеров.
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Jan 7 2014, 17:43
Сообщение #10


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(HardEgor @ Jan 7 2014, 08:43) *
Проблема в том что начинающий не знает что надо читать, а что нет.
Именно поэтому надо читать от первой страницы все подряд. Чтобы потом не было попыток почесать левое ухо правой ногой, потому что то, что нужно было для чесания левой рукой, прочитано не было. Время, потраченное на прочтение документации "от корки до корки" многократно окупится в процессе работы. Потом по мере необходимости многое из прочитанного будет всплывать в памяти.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- af1283   Cortex-M3 и М4   Dec 29 2013, 16:02
- - SII   Всё, что работает на -M3, будет и на -M4. Последне...   Dec 29 2013, 16:19
|- - af1283   Цитата(SII @ Dec 29 2013, 20:19) Спасибо...   Dec 29 2013, 17:46
|- - mantech   Цитата(SII @ Dec 29 2013, 20:19) Вообще с...   Dec 30 2013, 06:40
- - Lagman   http://en.wikipedia.org/wiki/ARM_Cortex-M   Dec 29 2013, 17:10
- - skripach   Цитата12Кб!!! Сдуру можно и х.. сломат...   Dec 29 2013, 18:07
|- - af1283   Цитата(skripach @ Dec 29 2013, 22:07) Сду...   Dec 29 2013, 18:35
|- - ViKo   Цитата(af1283 @ Dec 29 2013, 21:35) так ч...   Dec 30 2013, 05:23
|- - af1283   Цитата(ViKo @ Dec 30 2013, 09:23) Если са...   Dec 30 2013, 14:47
|- - SII   Цитата(af1283 @ Dec 30 2013, 18:47) Так т...   Dec 30 2013, 16:55
|- - toweroff   Цитата(SII @ Dec 30 2013, 20:55) .lst -- ...   Dec 30 2013, 19:35
- - SII   ИМХО, без знания ассемблера хороший специалист в о...   Dec 29 2013, 22:28
- - andrewlekar   ЦитатаБез них просто не будет работать же. Будет. ...   Dec 30 2013, 05:00
- - af1283   SII, большое спасибо за помощь.   Dec 30 2013, 18:24
- - ViKo   Если работать в Keil, то можно задать создавать ли...   Dec 31 2013, 08:26
|- - Сергей Борщ   Цитата(af1283 @ Jan 6 2014, 12:19) Я пони...   Jan 6 2014, 11:30
|- - af1283   Цитата(SII @ Jan 6 2014, 23:25) Синхрониз...   Jan 6 2014, 19:33
||- - Lagman   Цитата(af1283 @ Jan 6 2014, 23:33) У них ...   Jan 6 2014, 19:41
|||- - toweroff   Цитата(Lagman @ Jan 6 2014, 23:41) По это...   Jan 6 2014, 21:23
||- - SII   Цитата(af1283 @ Jan 6 2014, 23:33) У них ...   Jan 7 2014, 08:38
- - af1283   Спасибо всем за участие и приятную беседу. Я ещё в...   Jan 7 2014, 17:44


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 24th August 2025 - 13:36
Рейтинг@Mail.ru


Страница сгенерированна за 0.01469 секунд с 7
ELECTRONIX ©2004-2016