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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> 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
SII
сообщение Dec 29 2013, 16:19
Сообщение #2


Знающий
****

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



Всё, что работает на -M3, будет и на -M4. Последнее ядро содержит энное количество дополнительных команд, коих нет у ядра -M3.
Go to the top of the page
 
+Quote Post
Lagman
сообщение Dec 29 2013, 17:10
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 875
Регистрация: 28-10-05
Пользователь №: 10 245



http://en.wikipedia.org/wiki/ARM_Cortex-M
Go to the top of the page
 
+Quote Post
af1283
сообщение Dec 29 2013, 17:46
Сообщение #4





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



Цитата(SII @ Dec 29 2013, 20:19) *

Спасибо. Ещё вопрос - что лучше начать изучать: ассемблер ARM или писать на Си? Вообще склоняюсь к асму, потому что скомпилировав программу-мигалку светодиода и посмотрев её размер, я ужаснулся - 12Кб!!! Даже с оптимизацией кода - 9. Проясните этот вопрос, пожалуйста.
Go to the top of the page
 
+Quote Post
skripach
сообщение Dec 29 2013, 18:07
Сообщение #5


■ ■ ■ ■
*****

Группа: Свой
Сообщений: 1 100
Регистрация: 9-08-06
Пользователь №: 19 443



Цитата
12Кб!!!

Сдуру можно и х.. сломать полмегабайта накомпилить. santa2.gif


--------------------
Делай что должен и будь что будет.
Go to the top of the page
 
+Quote Post
af1283
сообщение Dec 29 2013, 18:35
Сообщение #6





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



Цитата(skripach @ Dec 29 2013, 22:07) *
Сдуру можно и х.. сломать полмегабайта накомпилить. santa2.gif

так что делать? я включил в проект startup-файл, файлы для конфигурации ввода-вывода и для тактирования. Без них просто не будет работать же.

Сообщение отредактировал af1283 - Dec 29 2013, 18:36
Go to the top of the page
 
+Quote Post
SII
сообщение Dec 29 2013, 22:28
Сообщение #7


Знающий
****

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



ИМХО, без знания ассемблера хороший специалист в области микроконтроллеров и т.п. вещей невозможен в принципе. На чём разрабатывать -- это уже второй вопрос.
Go to the top of the page
 
+Quote Post
andrewlekar
сообщение Dec 30 2013, 05:00
Сообщение #8


Знающий
****

Группа: Участник
Сообщений: 837
Регистрация: 8-02-07
Пользователь №: 25 163



Цитата
Без них просто не будет работать же.

Будет. Таблица векторов, задание параметров входов/выходов и тактирования через регистры процессора, сама программа. Ассемблер тут нафиг не нужен, по размеру кода в килобайт гарантированно уложитесь.

Цитата
без знания ассемблера хороший специалист в области микроконтроллеров и т.п. вещей невозможен в принципе.

Возможен. Хороший специалист при необходимости любую технологию осваивает в течение месяца. Знать ассемблеры под все ходовые платформы нет никакого резона.
Go to the top of the page
 
+Quote Post
ViKo
сообщение Dec 30 2013, 05:23
Сообщение #9


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Цитата(af1283 @ Dec 29 2013, 21:35) *
так что делать? я включил в проект startup-файл, файлы для конфигурации ввода-вывода и для тактирования. Без них просто не будет работать же.

Вы использовали стандартную библиотеку. Если сами напишете на C, руководствуясь "Руководством...", то получите раз в 10 меньше размер.
Go to the top of the page
 
+Quote Post
mantech
сообщение Dec 30 2013, 06:40
Сообщение #10


Гуру
******

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




Цитата(SII @ Dec 29 2013, 20:19) *
Вообще склоняюсь к асму, потому что скомпилировав программу-мигалку светодиода и посмотрев её размер, я ужаснулся - 12Кб!!!


Да, согласен с вышесказанным, асм действительно желательно знать, или по крайне мере иметь представление(понимать, что за команды), писать лучше на си, конечно(все-таки это не аврка biggrin.gif )
По поводу 12 кило - вы в курсе вообще, что для инициализации периферии в арме надо несколько больше команд, чем в той-же аврке? И второе - компилятор как правило еще вставляет код каких-либо библиотек, типа stdio и тп, а это тоже объем.
Причем объем кода растет сильно в начале проекта, по мере добавления новых процедур код будет расти медленнее(процедуры-то уже подключены)
ЗЫ. Посмотрите в свойствах проекта, что там конкретно подключается, можно поглядеть в ассемблерный код(за одним и начать его осваивать), тогда все будет ясно.
Go to the top of the page
 
+Quote Post
af1283
сообщение Dec 30 2013, 14:47
Сообщение #11





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



Цитата(ViKo @ Dec 30 2013, 09:23) *
Если сами напишете на C, руководствуясь "Руководством...", то получите раз в 10 меньше размер.


Так так, вот это очень интересно. Где более-менее подробно описана инициализация? Это практически самая важная инфа для меня!

Цитата(mantech @ Dec 30 2013, 10:40) *
писать лучше на си, конечно(все-таки это не аврка biggrin.gif )


Никогда не понимал, когда искусственно вводят борьбу противоположностей: си и асм совсем не два категоричных выбора, они логично дополняют друг друга. Разве я не прав?

Цитата(mantech @ Dec 30 2013, 10:40) *
По поводу 12 кило - вы в курсе вообще, что для инициализации периферии в арме надо несколько больше команд, чем в той-же аврке? И второе - компилятор как правило еще вставляет код каких-либо библиотек, типа stdio и тп, а это тоже объем.


Да, я перехожу с AVR и не стесняюсь этого! biggrin.gif С командами инициализации периферии я ещё не успел познакомиться, поэтому, нет, не в курсе. А вот за стандартные библиотеки Си таки большое "спасибо".

Цитата(mantech @ Dec 30 2013, 10:40) *
Посмотрите в свойствах проекта, что там конкретно подключается, можно поглядеть в ассемблерный код(за одним и начать его осваивать), тогда все будет ясно.


Посмотрел я необъятный код файла .lst и понял, что пока рано мне его смотреть. Нужна скелетная программа уровня " мы с божьей помощью проинициализировались" и вот там надо разобраться.
Go to the top of the page
 
+Quote Post
SII
сообщение Dec 30 2013, 16:55
Сообщение #12


Знающий
****

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



Цитата(af1283 @ Dec 30 2013, 18:47) *
Так так, вот это очень интересно. Где более-менее подробно описана инициализация? Это практически самая важная инфа для меня!


В документации на процессор описано всё, что нужно. Естественно, думать при этом придётся самому, поскольку там не пошаговые инструкции. Т.е., если речь идёт, например, об установке нужной частоты работы, придётся самому определять значения, которые придётся загружать в регистры -- а для этого нужно, естественно, понимать, какой регистр для чего служит, как к ним обращаться и т.д. и т.п. В первый раз это может быть довольно сложно, но, однажды осмысленно решив задачу, проблем не будет ни с какими процессорами.

Цитата
Никогда не понимал, когда искусственно вводят борьбу противоположностей: си и асм совсем не два категоричных выбора, они логично дополняют друг друга. Разве я не прав?


Ну, правильней сказать, что дополняют друг друга языки низкого уровня (ассемблеры) и высокого уровня -- ведь это не обязательно должен быть Си.

Цитата
Да, я перехожу с AVR и не стесняюсь этого! biggrin.gif С командами инициализации периферии я ещё не успел познакомиться, поэтому, нет, не в курсе


Команд нет, есть регистры устройств, в которые что-то надо писать.


Цитата
Посмотрел я необъятный код файла .lst и понял, что пока рано мне его смотреть. Нужна скелетная программа уровня " мы с божьей помощью проинициализировались" и вот там надо разобраться.


.lst -- это листинг, куда попадает много чего. Смотреть нужно исходные тексты.
Go to the top of the page
 
+Quote Post
af1283
сообщение Dec 30 2013, 18:24
Сообщение #13





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



SII, большое спасибо за помощь.
Go to the top of the page
 
+Quote Post
toweroff
сообщение Dec 30 2013, 19:35
Сообщение #14


Гуру
******

Группа: Свой
Сообщений: 2 957
Регистрация: 19-09-06
Из: Москва
Пользователь №: 20 514



Цитата(SII @ Dec 30 2013, 20:55) *
.lst -- это листинг, куда попадает много чего. Смотреть нужно исходные тексты.

+
нужно map смотреть, что там у нас в образе лежит
Go to the top of the page
 
+Quote Post
ViKo
сообщение Dec 31 2013, 08:26
Сообщение #15


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Если работать в Keil, то можно задать создавать листинг C компилятора .txt, там, практически, одни ассемблерные команды. Очень полезные файлы для обучения и поиска ошибок.
Go to the top of the page
 
+Quote Post

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

 


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


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