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

 
 
> Какой контроллер выбрать в образовательных целях., Определяюсь с выбором контроллера для самообразования.
0b11011110
сообщение Oct 8 2011, 05:33
Сообщение #1





Группа: Новичок
Сообщений: 7
Регистрация: 21-06-11
Из: г. Усолье-Сибирское Иркутской обл.
Пользователь №: 65 813



Доброго всем времени суток!

Задача состоит в выборе, отладочной платки для изучения данного типа контроллеров(ARM). Я довольно свободно програмирую на АСМе для AVR(ATmega328p) но вот хочется чего-то нового.
Я недавно начал изучать эту тему.

Смотрел здесь:
http://www.starterkit.ru/html/index.php

Выбрал примерно следующее:
http://www.starterkit.ru/html/index.php?name=shop&op=view&id=2
и
http://www.starterkit.ru/html/index.php?name=shop&op=view&id=36 - просто интересный девайс

Что вы по этому поводу думаете? Или всёж не стоит брать это, а выбрать что-то другое и в совсем другом месте?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
SII
сообщение Oct 10 2011, 09:33
Сообщение #2


Знающий
****

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



Код (лучший, худший, такой же -- неважно) даёт не ЯВУ, а компилятор этого самого ЯВУ. И результат крайне сильно зависит от компилятора. Например, кейловский Си, когда я решил проверить небольшую подпрограммку, давал код, чуть ли не вдвое более качественный, чем GCC. Правда, написанный вручную на ассемблере был ещё лучше, но уже ненамного.

Ну а насчёт указанных Вами 99%... Скажу грубо: если эта цифра соответствует действительности, то 99% программистов, работающих с АРМом -- дебилы, причём не столько в ругательном, сколько в медицинском смысле. У АРМа очень простая система команд, и грамотное её использование никаких проблем для человека с вполне заурядными умственными способностями не представляет (у ИА-32, например, куда сложней и запутанней). Никакой особой многовариантности там, кстати, нет, так что оптимальный вариант чаще всего один, и он самоочевиден. Конечно, чтобы научиться "на автопилоте" выбирать именно лучший вариант, нужна практика, но так в любой области: нужно набить руку, чтобы стать мастером.
Go to the top of the page
 
+Quote Post
kovigor
сообщение Oct 10 2011, 10:19
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295



Цитата(SII @ Oct 10 2011, 12:33) *
... и грамотное её использование никаких проблем для человека с вполне заурядными умственными способностями не представляет


Там, где без этого не обойтись, да. А так мне гораздо проще написать проект на Си за один день, чем на асме за две недели. В конце концов, деньги мне платят за работающие проекты, а не за то, сколько я над ними просиживаю. И сопровождать проект на Си гораздо проще. И читать в 1000 раз проще, особенно если проект большой. Так что в 99% смысла в программировании на асме для ARM нет. Оставшийся процент - это те самые зубодробительные задачи, вроде ЦОС на пределе возможностей МК ...
Go to the top of the page
 
+Quote Post
SII
сообщение Oct 10 2011, 11:35
Сообщение #4


Знающий
****

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



Цитата(kovigor @ Oct 10 2011, 14:19) *
Там, где без этого не обойтись, да. А так мне гораздо проще написать проект на Си за один день, чем на асме за две недели. В конце концов, деньги мне платят за работающие проекты, а не за то, сколько я над ними просиживаю. И сопровождать проект на Си гораздо проще. И читать в 1000 раз проще, особенно если проект большой. Так что в 99% смысла в программировании на асме для ARM нет. Оставшийся процент - это те самые зубодробительные задачи, вроде ЦОС на пределе возможностей МК ...


Во-первых, о читабельности. Запутать программу в большей степени, чем на Си, можно только на Си++ и Брэйнфаке sm.gif Понятно, что, если писать аккуратно, не стремиться экономить нажатия на клавиши и валить в одну строчку несколько разных операций, читабельность кода на Си будет выше, чем на ассемблере. Но это не такая большая проблема, поскольку никто не отменял комментарии для пояснения, где что делается. Можно сказать, что написание комментариев увеличивает время, расходуемое на задачу, и это действительно так. Но, с другой стороны, комментарии не только облегчают понимание кода в будущем, если к нему придётся вернуться, но зачастую помогают выбрать более эффективный путь решения задачи: пока их пишешь, обдумываешь эту самую задачу (конечно, речь о полезных комментариях, а не из серии: MOV R0, R1 ; Пересылаем R1 в R0 ).

Во-вторых, один день и две недели, т.е. разница в 14 раз -- это Вы загнули. Единственное, что всегда занимает на ассемблере больше времени -- это кодирование программы (надо набрать куда больше исходного текста, чем на языке высокого уровня). Однако решение задачи не из одного кодирования состоит, причём кодирование занимает весьма небольшую часть времени. Отладка, например, на ассемблере может в некоторых случаях оказаться даже проще, ведь там ты реально видишь, что делает процессор, а не пользуешься какими-то своими представлениями о том, что должно бы делаться, исходя лишь из текста программы на ЯВУ (всякие гадости могут возникать как из тонких моментов языка, так и из-за банальных ошибок в компиляторе). Решение задачи на "алгоритмическом" уровне -- т.е. выбор подходящего алгоритма, определение структур данных и т.п. -- вообще от языка программирования никак не зависит, по большому счёту (а если зависит, то больше в плане возможностей языка: ну нельзя на классическом Фортране использовать списки -- у него нет средств работы с адресами памяти, как их ни называй). В общем, 14-кратная разница во времени создания программы на ассемблере и ЯВУ -- это скорей исключение, причём редкое, чем правило. На ассемблере уровня ARMа, по моим ощущениям, разница будет в 2-3 раза, на более удобном ассемблере (PDP-11 и VAX-11, например) -- 20-50% времени. Если использовать не ненадёжный и провоцирующий ошибки Си, а Паскаль или Аду, разрыв станет больше (в первую очередь за счёт резкого уменьшения числа ошибок, а значит, облегчения отладки), но там проблема найти инструментарий (например, для АРМа единственная доступная Ада входит в состав GCC, что автоматически означает низкое качество генерируемого кода, а временами неверную кодогенерацию; насчёт ФриПаскаля ничего не скажу, поскольку пока никак не попробую).

Ну а в-третьих -- и самое главное в данном случае: в этой теме речь идёт о контроллере для изучения, а не для работы -- а это немного разные вещи. Не знаю, как кто, а я в принципе не могу считать грамотным программиста, который не владеет свободно ассемблером того процессора, с которым он работает (речь, естественно, о сегменте микроконтроллеров идёт; для решения всяких там бизнес-задач на ПК ассемблер в принципе не нужен, и даже подозревать о его существовании не требуется); соответственно, для меня обучение включает в себя и изучение системы команд и прочей низкоуровневой архитектуры.
Go to the top of the page
 
+Quote Post
Ruslan1
сообщение Oct 11 2011, 13:28
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 2 360
Регистрация: 6-03-06
Из: Кишинев
Пользователь №: 15 025



Цитата(SII @ Oct 10 2011, 14:35) *
Во-первых, о читабельности. Запутать программу в большей степени, чем на Си, можно только на Си++ и Брэйнфаке sm.gif Понятно, что, если писать аккуратно, не стремиться экономить нажатия на клавиши и валить в одну строчку несколько разных операций, читабельность кода на Си будет выше, чем на ассемблере.
...........
Во-вторых, один день и две недели, т.е. разница в 14 раз -- это Вы загнули. Единственное, что всегда занимает на ассемблере больше времени -- это кодирование программы (надо набрать куда больше исходного текста, чем на языке высокого уровня). Однако решение задачи не из одного кодирования состоит, причём кодирование занимает весьма небольшую часть времени. Отладка, например, на ассемблере может в некоторых случаях оказаться даже проще
............
В общем, 14-кратная разница во времени создания программы на ассемблере и ЯВУ -- это скорей исключение, причём редкое, чем правило. На ассемблере уровня ARMа, по моим ощущениям, разница будет в 2-3 раза, на более удобном ассемблере (PDP-11 и VAX-11, например) -- 20-50% времени. Если использовать не ненадёжный и провоцирующий ошибки Си, а Паскаль или Аду, разрыв станет больше (в первую очередь за счёт резкого уменьшения числа ошибок, а значит, облегчения отладки),

Бред какой-то.
Самое грустное- что кто-то из начинающих может это принять за чистую монету.

to Топикстартер- фильтруй! верить всему на слово не стоит.

Дискуссию холиварную поддерживать не буду, но ведь должен же кто-то дать четкое определение, а не мямлить "не собираемся спорить", хотя уверен многие прочитав это, покрутили пальцем у виска. А раздел-то для начинающих, которые и не видят что более опытные товарищи просто игнорируют этот явный маразм.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- 0b11011110   Какой контроллер выбрать в образовательных целях.   Oct 8 2011, 05:33
- - SII   А зачем Вам плата с ПЛИС, а не только МК? Это ж пр...   Oct 8 2011, 09:09
- - haker_fox   QUOTE (0b11011110 @ Oct 8 2011, 14:33) Чт...   Oct 8 2011, 09:38
- - kovigor   Цитата(0b11011110 @ Oct 8 2011, 08:33) За...   Oct 8 2011, 10:36
- - SII   Ну, насчёт асма лично у меня прямо противоположное...   Oct 8 2011, 10:51
|- - kovigor   Цитата(SII @ Oct 8 2011, 13:51) Ну, насчё...   Oct 8 2011, 11:06
- - SII   О чём спорить? О языках? Так я не спорю, а тоже вы...   Oct 8 2011, 11:42
- - DpInRock   Цитаталучше брать плату на AT91SAM9G45 Присоединяю...   Oct 8 2011, 15:28
- - Harbinger   Смотря какие задачи. Если поставили вписаться в 90...   Oct 8 2011, 16:16
|- - kovigor   Цитата(Harbinger @ Oct 8 2011, 19:16) Кас...   Oct 8 2011, 17:11
|- - haker_fox   QUOTE (kovigor @ Oct 9 2011, 02:11) Ну и ...   Oct 9 2011, 01:56
- - muravei   Цитата(0b11011110 @ Oct 8 2011, 09:33) Я ...   Oct 9 2011, 12:41
- - SII   Не такие уж большие. Если хорошо освоил ассемблер ...   Oct 9 2011, 20:29
|- - Harvester   Цитата(SII @ Oct 10 2011, 00:29) Не такие...   Oct 10 2011, 05:22
- - dxp   Не хотели холивар начинать, а всё-таки начали. С...   Oct 10 2011, 12:48
|- - SII   ЦитатаНе хотели холивар начинать, а всё-таки начал...   Oct 10 2011, 15:12
- - 0b11011110   Спорить о C & ASM уже заезженая и не актуальна...   Oct 10 2011, 13:19
|- - haker_fox   QUOTE (0b11011110 @ Oct 10 2011, 22:19) S...   Oct 10 2011, 14:07
- - haker_fox   Чтож, мнений выражено достаточно) Каждый изложил в...   Oct 11 2011, 02:04
- - 0b11011110   Могу предложить несколько подходящих вариантов: ht...   Oct 11 2011, 04:00
|- - sasamy   Цитата(0b11011110 @ Oct 11 2011, 08:00) н...   Oct 11 2011, 06:29
- - SII   Этот совершенно нормально работает с процессорными...   Oct 11 2011, 10:50
- - starterkit   ЦитатаЭтот совершенно нормально работает с процесс...   Oct 11 2011, 12:25
|- - SII   Цитата(starterkit @ Oct 11 2011, 16:25) З...   Oct 11 2011, 12:41
- - starterkit   Собственно, я сюда заглянул лишь по просьбе челове...   Oct 11 2011, 12:57
- - SII   ЦитатаЭтого выпада я вобще не понял... Если не по...   Oct 11 2011, 14:12
|- - sasamy   Цитата(SII @ Oct 11 2011, 18:12) Полность...   Oct 11 2011, 14:41
|- - Ruslan1   Цитата(SII @ Oct 11 2011, 17:12) А это и ...   Oct 11 2011, 16:59
|- - SII   Цитата(Ruslan1 @ Oct 11 2011, 20:59) Ну, ...   Oct 11 2011, 18:07
|- - Ruslan1   Цитата(SII @ Oct 11 2011, 21:07) Подозрев...   Oct 11 2011, 20:58
|- - SII   Цитата(Ruslan1 @ Oct 12 2011, 00:58) Не, ...   Oct 11 2011, 22:13
- - SII   sasamy, я неудачно выразился, так сказать. Имелось...   Oct 11 2011, 14:57
- - haker_fox   QUOTE (SII @ Oct 11 2011, 19:50) Единстве...   Oct 12 2011, 02:58


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

 


RSS Текстовая версия Сейчас: 29th July 2025 - 20:42
Рейтинг@Mail.ru


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