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

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

|
Цитата(SII @ Dec 29 2013, 20:19)  Спасибо. Ещё вопрос - что лучше начать изучать: ассемблер ARM или писать на Си? Вообще склоняюсь к асму, потому что скомпилировав программу-мигалку светодиода и посмотрев её размер, я ужаснулся - 12Кб!!! Даже с оптимизацией кода - 9. Проясните этот вопрос, пожалуйста.
|
|
|
|
|
Dec 29 2013, 18:07
|
■ ■ ■ ■
    
Группа: Свой
Сообщений: 1 100
Регистрация: 9-08-06
Пользователь №: 19 443

|
Цитата 12Кб!!! Сдуру можно и х.. сломать полмегабайта накомпилить.
--------------------
Делай что должен и будь что будет.
|
|
|
|
|
Dec 29 2013, 18:35
|
Группа: Участник
Сообщений: 13
Регистрация: 29-12-13
Пользователь №: 79 849

|
Цитата(skripach @ Dec 29 2013, 22:07)  Сдуру можно и х.. сломать полмегабайта накомпилить.  так что делать? я включил в проект startup-файл, файлы для конфигурации ввода-вывода и для тактирования. Без них просто не будет работать же.
Сообщение отредактировал af1283 - Dec 29 2013, 18:36
|
|
|
|
|
Dec 30 2013, 05:00
|
Знающий
   
Группа: Участник
Сообщений: 837
Регистрация: 8-02-07
Пользователь №: 25 163

|
Цитата Без них просто не будет работать же. Будет. Таблица векторов, задание параметров входов/выходов и тактирования через регистры процессора, сама программа. Ассемблер тут нафиг не нужен, по размеру кода в килобайт гарантированно уложитесь. Цитата без знания ассемблера хороший специалист в области микроконтроллеров и т.п. вещей невозможен в принципе. Возможен. Хороший специалист при необходимости любую технологию осваивает в течение месяца. Знать ассемблеры под все ходовые платформы нет никакого резона.
|
|
|
|
|
Dec 30 2013, 06:40
|
Гуру
     
Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143

|
Цитата(SII @ Dec 29 2013, 20:19)  Вообще склоняюсь к асму, потому что скомпилировав программу-мигалку светодиода и посмотрев её размер, я ужаснулся - 12Кб!!! Да, согласен с вышесказанным, асм действительно желательно знать, или по крайне мере иметь представление(понимать, что за команды), писать лучше на си, конечно(все-таки это не аврка  ) По поводу 12 кило - вы в курсе вообще, что для инициализации периферии в арме надо несколько больше команд, чем в той-же аврке? И второе - компилятор как правило еще вставляет код каких-либо библиотек, типа stdio и тп, а это тоже объем. Причем объем кода растет сильно в начале проекта, по мере добавления новых процедур код будет расти медленнее(процедуры-то уже подключены) ЗЫ. Посмотрите в свойствах проекта, что там конкретно подключается, можно поглядеть в ассемблерный код(за одним и начать его осваивать), тогда все будет ясно.
|
|
|
|
|
Dec 30 2013, 14:47
|
Группа: Участник
Сообщений: 13
Регистрация: 29-12-13
Пользователь №: 79 849

|
Цитата(ViKo @ Dec 30 2013, 09:23)  Если сами напишете на C, руководствуясь "Руководством...", то получите раз в 10 меньше размер. Так так, вот это очень интересно. Где более-менее подробно описана инициализация? Это практически самая важная инфа для меня! Цитата(mantech @ Dec 30 2013, 10:40)  писать лучше на си, конечно(все-таки это не аврка  ) Никогда не понимал, когда искусственно вводят борьбу противоположностей: си и асм совсем не два категоричных выбора, они логично дополняют друг друга. Разве я не прав? Цитата(mantech @ Dec 30 2013, 10:40)  По поводу 12 кило - вы в курсе вообще, что для инициализации периферии в арме надо несколько больше команд, чем в той-же аврке? И второе - компилятор как правило еще вставляет код каких-либо библиотек, типа stdio и тп, а это тоже объем. Да, я перехожу с AVR и не стесняюсь этого!  С командами инициализации периферии я ещё не успел познакомиться, поэтому, нет, не в курсе. А вот за стандартные библиотеки Си таки большое "спасибо". Цитата(mantech @ Dec 30 2013, 10:40)  Посмотрите в свойствах проекта, что там конкретно подключается, можно поглядеть в ассемблерный код(за одним и начать его осваивать), тогда все будет ясно. Посмотрел я необъятный код файла .lst и понял, что пока рано мне его смотреть. Нужна скелетная программа уровня " мы с божьей помощью проинициализировались" и вот там надо разобраться.
|
|
|
|
|
Dec 30 2013, 16:55
|
Знающий
   
Группа: Свой
Сообщений: 549
Регистрация: 13-07-10
Из: Солнечногорск-7
Пользователь №: 58 414

|
Цитата(af1283 @ Dec 30 2013, 18:47)  Так так, вот это очень интересно. Где более-менее подробно описана инициализация? Это практически самая важная инфа для меня! В документации на процессор описано всё, что нужно. Естественно, думать при этом придётся самому, поскольку там не пошаговые инструкции. Т.е., если речь идёт, например, об установке нужной частоты работы, придётся самому определять значения, которые придётся загружать в регистры -- а для этого нужно, естественно, понимать, какой регистр для чего служит, как к ним обращаться и т.д. и т.п. В первый раз это может быть довольно сложно, но, однажды осмысленно решив задачу, проблем не будет ни с какими процессорами. Цитата Никогда не понимал, когда искусственно вводят борьбу противоположностей: си и асм совсем не два категоричных выбора, они логично дополняют друг друга. Разве я не прав? Ну, правильней сказать, что дополняют друг друга языки низкого уровня (ассемблеры) и высокого уровня -- ведь это не обязательно должен быть Си. Цитата Да, я перехожу с AVR и не стесняюсь этого!  С командами инициализации периферии я ещё не успел познакомиться, поэтому, нет, не в курсе Команд нет, есть регистры устройств, в которые что-то надо писать. Цитата Посмотрел я необъятный код файла .lst и понял, что пока рано мне его смотреть. Нужна скелетная программа уровня " мы с божьей помощью проинициализировались" и вот там надо разобраться. .lst -- это листинг, куда попадает много чего. Смотреть нужно исходные тексты.
|
|
|
|
|
Dec 30 2013, 18:24
|
Группа: Участник
Сообщений: 13
Регистрация: 29-12-13
Пользователь №: 79 849

|
SII, большое спасибо за помощь.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|