|
Cortex-M3 и М4, В чем разница? |
|
|
|
Dec 29 2013, 16:02
|
Группа: Участник
Сообщений: 13
Регистрация: 29-12-13
Пользователь №: 79 849

|
Хочу ответов мудрых на вопрос: в чем отличие системы команд Cortex-M3 и М4 и насколько они совместимы? Если читать книжку по М3, то можно опыт перенести на М4? Спасибо.
|
|
|
|
|
 |
Ответов
|
Jan 6 2014, 10:19
|
Группа: Участник
Сообщений: 13
Регистрация: 29-12-13
Пользователь №: 79 849

|
Цитата(Метценгерштейн @ Jan 4 2014, 14:21)  знать асм надо- это дает понимание того, что такое проц вообще и как он работает. Спасибо, но почему асм не подходит для написания чего-либо совсем несложного? Я понимаю, что всем хочется побыстрее и попроще, но... Я пример на асме нашел только на одном американском сайте колледжа.
|
|
|
|
|
Jan 6 2014, 12:52
|
Гуру
     
Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143

|
Цитата(af1283 @ Jan 6 2014, 14:19)  Спасибо, но почему асм не подходит для написания чего-либо совсем несложного? Я понимаю, что всем хочется побыстрее и попроще, но... Я пример на асме нашел только на одном американском сайте колледжа. Потому что есть такая штука, как переносимость. Например я писал интерпретатор виртуальных задач для аврки, год назад пришлось портировать на арм, я писал на си, время на порт затратил 2 дня. А теперь представь, еслиб я на асме все это писал, и потом надо портировать на арм?? Да, возможно я получил бы еще процентов 5 быстродействия, но потратил бы как минимум пару месяцев. Воть PS. Надо учитывать одно - во времена 8мибитников, с быстродействием единицы миллионов оп\сек иногда требовалось написать что-то особо быстрое, с мин. кол-вом кода (пример - те же тини у аврок). Теперь, когда микруха стоит 50руб, а в ней 64к флеша 20к ОЗУ и 80 мипсов быстроты, эти требования уже не актуальны, и асм я знаю только на том уровне, чтоб оценить проблему при отладке...
|
|
|
|
|
Jan 6 2014, 18:34
|
Группа: Участник
Сообщений: 13
Регистрация: 29-12-13
Пользователь №: 79 849

|
Цитата(mantech @ Jan 6 2014, 16:52)  Потому что есть такая штука, как переносимость. Например я писал интерпретатор виртуальных задач для аврки, год назад пришлось портировать на арм, я писал на си, время на порт затратил 2 дня. А теперь представь, еслиб я на асме все это писал, и потом надо портировать на арм?? Да, возможно я получил бы еще процентов 5 быстродействия, но потратил бы как минимум пару месяцев. Воть PS. Надо учитывать одно - во времена 8мибитников, с быстродействием единицы миллионов оп\сек иногда требовалось написать что-то особо быстрое, с мин. кол-вом кода (пример - те же тини у аврок). Теперь, когда микруха стоит 50руб, а в ней 64к флеша 20к ОЗУ и 80 мипсов быстроты, эти требования уже не актуальны, и асм я знаю только на том уровне, чтоб оценить проблему при отладке... Да, с точки зрения программирования я с вами целиком согласен. Но... Для меня, как для начинающего инженера, с программированием знакомым слабо, понятнее всего всё-таки когда я сначала сам пощупаю всё, что делает код, сам напишу кое-какие велосипеды на асме: покидаюсь байтами, помигаю чем придется; потом досконально разберусь в сишных библиотеках, возможно подпилю их, а тогда уже дело пойдёт на лад, ящитаю. Спасибо.
Сообщение отредактировал af1283 - Jan 6 2014, 18:34
|
|
|
|
|
Jan 6 2014, 18:48
|
Гуру
     
Группа: Свой
Сообщений: 2 223
Регистрация: 3-03-06
Из: Tomsk
Пользователь №: 14 925

|
Снизу, от asm, идти конечно надежнее, но талмуд по нему для АРМ больше 500 страниц. А еще надо будет читать талмуд на конкретный процессор - это еще не одна сотня страниц.
Предлагаю идти сверху, от си, т.е. пишешь программу на си с Standard Peripherals Library Drivers, точнее берешь готовый пример и разбираешься как он работает - что в какой последовательно в какие регистры пишется и т.д. Потом можно для этого си-шного кода получить asm-исходник, и потрассировать программу по нему в железе.
Вот если бы у тебя был преподаватель, который имеет опыт и знает последовательность изучения, направит и подскажет и ответит на вопросы, тогда можно и с asm начинать.
|
|
|
|
|
Jan 6 2014, 18:56
|
Группа: Участник
Сообщений: 13
Регистрация: 29-12-13
Пользователь №: 79 849

|
Цитата(HardEgor @ Jan 6 2014, 22:48)  Снизу, от asm, идти конечно надежнее, но талмуд по нему для АРМ больше 500 страниц. Объем, конечно, серьезный. Чтоб писать на avr асме - надо страниц 20 прочесть Цитата(HardEgor @ Jan 6 2014, 22:48)  берешь готовый пример и разбираешься как он работает - что в какой последовательно в какие регистры Отличный вариант, но чтоб потрассировать в железе мне разве не придется периферию переписывать под свою stm32f3disvovery? Да и ковыряться в большом объеме чужого кода ( тем более ассемблерного) как-то уныло. Лучше честно писать самому Неплохо бы совместить оба подхода. Цитата(HardEgor @ Jan 6 2014, 22:48)  Вот если бы у тебя был преподаватель, который имеет опыт и знает последовательность изучения, направит и подскажет и ответит на вопросы, тогда можно и с asm начинать. Это было бы шикарно, но преподаватель кроме avr, похоже, и знать ничего не желает.
Сообщение отредактировал af1283 - Jan 6 2014, 18:59
|
|
|
|
|
Jan 6 2014, 19:25
|
Знающий
   
Группа: Свой
Сообщений: 549
Регистрация: 13-07-10
Из: Солнечногорск-7
Пользователь №: 58 414

|
Цитата(af1283 @ Jan 6 2014, 22:56)  Объем, конечно, серьезный. Чтоб писать на avr асме - надо страниц 20 прочесть  Не переживайте, для начала работы на асме читать всё это и не требуется. Половина инструкций нужна лишь для специфических вещей, да и отсутствует во многих АРМах; без другой прожить можно, хотя с их помощью можно писать эффективнее -- в общем, это как раз дело наживное. Кроме того, очень значительный объём руководства посвящён всяким другим вопросам, например, устройству защиты памяти (MPU) -- для начинающего всё это даром не нужно. Что касается документации на конкретный МК, то там тоже не требуется сразу читать все эти сотни, а то и тысячи страниц -- это ж не художественное произведение. Читаются те разделы, что нужны. Например, чтоб поморгать светодиодом, достаточно разобраться с GPIO и с настройкой ног процессора вообще. Синхронизацию процессора здесь настраивать не нужно -- вполне устроит то, с чем он начинает работать. Для более сложных вещей уже нужно и синхронизацию, но это один сравнительно небольшой раздел, а не 500 страниц. Ну и так далее
|
|
|
|
|
Jan 6 2014, 19:33
|
Группа: Участник
Сообщений: 13
Регистрация: 29-12-13
Пользователь №: 79 849

|
Цитата(SII @ Jan 6 2014, 23:25)  Синхронизацию процессора здесь настраивать не нужно -- вполне устроит то, с чем он начинает работать. У них ещё и тактирование настраивается?  Или это что-то другое?
|
|
|
|
|
Jan 7 2014, 08:38
|
Знающий
   
Группа: Свой
Сообщений: 549
Регистрация: 13-07-10
Из: Солнечногорск-7
Пользователь №: 58 414

|
Цитата(af1283 @ Jan 6 2014, 23:33)  У них ещё и тактирование настраивается?  Или это что-то другое? Именно. Несколько возможных источников синхронизации (работать начинает от внутренней RC-цепочки), разные возможные частоты процессора и периферии и т.д. и т.п. Но для моргания светодиодами это роли не играет, так что лично я сначала порекомендовал бы именно их победить (ну, можно с вариациями: например, при нажатии на кнопку зажигать один светодиод, при отпускании -- другой). На этой задаче вполне можно изучить самые важные команды процессора (mov, ldr, str, b, and и тому подобные), ну а после можно браться и за настройку синхронизации.
|
|
|
|
Сообщений в этой теме
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        Lagman Цитата(af1283 @ Jan 6 2014, 23:33) У них ... Jan 6 2014, 19:41         toweroff Цитата(Lagman @ Jan 6 2014, 23:41) По это... Jan 6 2014, 21:23       HardEgor Цитата(SII @ Jan 7 2014, 02:25) Не пережи... Jan 7 2014, 06:43        Сергей Борщ Цитата(HardEgor @ Jan 7 2014, 08:43) Проб... Jan 7 2014, 17:43 af1283 Спасибо всем за участие и приятную беседу. Я ещё в... Jan 7 2014, 17:44
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|