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

 
 
> Хочу попробовать ARM, подскажите, что для этого нужно?, Какой проц выбрать, отлад. платку и какой софт?
sonycman
сообщение Jan 23 2007, 16:44
Сообщение #1


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



Имеется опыт работы с 8 битными контроллерами ATmega.
Хочется освоить что-либо помощнее.
Надо иметь на борту АЦП, I2C, SPI и желательно ЦАП и USB.
Корпус не более QFP64 по кол-ву ног.
Пока выбор пал на LPC2142-48.

Что мне надо иметь, чтобы писать программы и шить в такой контроллер?
Какой софт/железо?
Вроде есть недорогие отладочные платы с такими контроллерами на сайте MT-System.
Не знаю только, высылают они товар по почте или нет.
Go to the top of the page
 
+Quote Post
18 страниц V  « < 9 10 11 12 13 > »   
Start new topic
Ответов (150 - 164)
Сергей Борщ
сообщение Jan 29 2007, 16:50
Сообщение #151


Гуру
******

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



Цитата(Alex_inventor @ Jan 29 2007, 14:28) *
И что тут неверного? Сказали что переменная может изменятся, и компилятор не должен проводить лишних телодвижений при оптимизации?
Примерно так. В конкретно этом случае - если ему сказали что переменная volatile и ее надо сто раз увелисчить на 1, то он обязан именно 100 раз ее увеличить а не один раз прибавить 100. Хотя с точки зрения математики оба действия эквивалентны.
Цитата(Alex_inventor @ Jan 29 2007, 14:28) *
Цитата
Это значит что ваша программа была написана с ошибками.

Вы не понимаете сути, поставленного вопроса, или не хотите понимать. Как программа может быть написано неправильно, если я заранее сказал, что задача написана ПРАВИЛЬНО!
Я уже написал выше - если задача написана правильно, она работает при любом уровне оптимизации. Если в зависимости от уровня оптимизации она или работает или нет - значит она написана неправильно.
Цитата(Alex_inventor @ Jan 29 2007, 14:28) *
Давайте скажем, что программа – работает (можно добавить ещё - по алгоритму). Т.е независимо от того, как программа выглядит на С, после компиляции программа выдаёт все заложенные в неё характеристики, это и время и размер и алгоритмы.
Это совсем не значит, что она не содержит ошибок.
Цитата(Alex_inventor @ Jan 29 2007, 14:28) *
Вопрос состоит в том, каких фокусов можно ожидать от компилятора при оптимизации и как с ними бороться.
В правильно написанной программе - никаких.
Цитата(Alex_inventor @ Jan 29 2007, 14:28) *
Одного при оптимизациях O-0…O-2 ничего не выкидывается, а при O-3 time уже всё?

Код
int a;
int b;
a = 1;
b = 2;
a = a+b;
b = b+a;
if (a > 5)
{
   кусок кода
}
При O-0 компилятор сгенерирует вам нужные команды для каждого из выражений. Чтобы вы могли пройти по шагам по каждому из этих выражений в дебаггере. А при более высоком он сам сосчитает, что в if() a = 5 и это условие не будет истинным, значит {кусок кода} никогда не будет выполнен и его можно смело выбросить. Теперь понятно?

Цитата(Alex_inventor @ Jan 29 2007, 14:28) *
Там правильно, а здесь уже неправильно? Ошибки бывают двух видов. Синтаксические, и алгоритмические. Первые решаются на этапе компиляции, вторые на этапе отладки. Пройти этот путь и всё. Чего вам не хватает?
Ваша ошибка относится к алгоритмической. Только вы не учитываете, что уровень оптимизации является так же входным данным для вашего алгоритма как и содержимое переменных. И проверка показывает, что на некоторых наборах входных данных (O-3) ваш алгоритм не работает.

Цитата(Alex_inventor @ Jan 29 2007, 14:28) *
Цитата
И такой отказ может произойти, даже если вы добавите одну лишнюю инструкцию в программу

Извиняюсь за дерзость, но это, мягко говоря, неправдо!
Разница в том, что я для своих утверждений имею достаочно оснований - сам по неопытности попадал в такие ситуации. И их могут подтвердить многие опытные участники конференции. А ваше утверждение голословно.

Цитата(Alex_inventor @ Jan 29 2007, 14:28) *
Я НЕ ЗАЩИЩАЮ МОИ ТВОРЕНИЯ!!! Я ХОЧУ СКАЗАТЬ ЧТО НЕ СТАВТИ ВАШИ ТВОРЕНИЯ ВЫШЕ ВСЕХ ОСТАЛЬНЫХ ТОЛЬКО ПОТОМУ ЧТО ОНИ ВАШИ! Выкладывайте ваши решения и не поливайте помоями другие, допускается указание на более лучшее решения по вашему мнению. А что лучше решит каждый для себя САМ!!!
Замечательно. Вам указали лучшее решение, вам показали где у вас ошибка и даже несколько раз разжевали почему это именно ошибка. В ответ получаем
Цитата
Я абсолютно уверен в своих программах
Ну продолжайте верить.

Цитата(Alex_inventor @ Jan 29 2007, 14:28) *
Мне лично больше нравится, и следовательно быстрее работаю, с bin. А ваши (x<<1) ненравятся. Кто же кроме меня покажет и другой стиль если я один такой, а вы все "правильно" пишете в одном стиле.
В этом примере упор был на то, что вместо безликих нулей и единиц используются символьные имена битов. Что сильно упрощает и чтение и модификацию программы.

Цитата(Alex_inventor @ Jan 29 2007, 14:28) *
Если data sheet вас отвлекает, ну тогда я незнаю...
прочитайте еще раз тот абзац внимательно.

P.S. и постарайтесь просматривать свои сообщения на предмет орфографических ошибок - глаза режет.


--------------------
На любой вопрос даю любой ответ
"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
SpiritDance
сообщение Jan 29 2007, 17:01
Сообщение #152


Дух погибшего транзистора
****

Группа: Свой
Сообщений: 877
Регистрация: 6-09-05
Из: Москва
Пользователь №: 8 288



Шмешно.


--------------------
Yes, there are two paths you can go by But in the long run Theres still time to change the road youre on.
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Jan 29 2007, 17:11
Сообщение #153


Гуру
******

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



Цитата(sonycman @ Jan 29 2007, 13:44) *
Цитата(Сергей Борщ @ Jan 29 2007, 12:54) *

UART->IER = (1 << UART_RDAIE) | (0 << UART_THREIE);

Согласен. Такие выражения можно сделать компактнее, если пропустить подобное: 0 << UART_PS, особенно для неиспользуемых фич.
выкинуть всегда можно. Но если вдруг понадобится чуток подправить функциональность, то 0 на 1 заменить проще, чем дописывать.


--------------------
На любой вопрос даю любой ответ
"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
Alex_inventor
сообщение Jan 29 2007, 17:20
Сообщение #154


Участник
*

Группа: Новичок
Сообщений: 54
Регистрация: 25-01-07
Пользователь №: 24 744



2Andy Great
Да что вы прицепились, с этим GNU? Не работаю я с ним, и работать НЕ СОБИРАЮСЬ! И проблемы, возникшие с ним, решать не собирался. Просто подчеркнул что есть. Если даёте ответы, то уточняйте: я так понял что компилятор и проекты должны быть без пробелов.
Цитата
Такие как Вы, не разобравшись в предмете, портят потом впечатления другим, которые бы потом проскочили эти грабли незаметно.

Ни чего я не порчу, я поднял вопрос, который был решён. И если не поднял бы, то кто этих нюансов не знал, просто так не проскочили.
Когда в начале топика задавались вопросы типа как с UART работать, все молчали. sad.gif Были лишь изредкие фразы типа “вы отлично варитесь в собственном саку, ну и варитесь там!”. Чтож… Я не спорю, даже скажу согласен с этим. Но когда “поварившись” результатом чего явился РАБОТОСПОСОБНЫЙ проект и был выложен, что бы им пользовались такие как, я был неделю назад (если мне дали тогда этот проект, то я бы поблагодарил). Целью проекта было постепенное наращивание, освоение новой периферии (выкладывание промежуточных результатов) и КОНСТРУКТИВНОЕ обсуждение отдельных алгоритмов, не поливая помоями чужие варианты! Если бы кто, например, сказал, вот тут (x=1; x<100;x++) пауза будет не точной, потому что используется такая инструкция проца (которая в режиме таком то выполняется за два такта), другой бы сказал что он применил другую конструкция, которая меньше места занимает, а третий бы предложил более большую конструкцию, но с более богатыми возможностями.
Но нет!!! Как этот “презренный” посмел обратиться к нам, небожителям! И надругаться над нашими священными постулатами. Он даже ПОСМЕЛ! angry.gif , стыдно сказать, bin использовать! Так умри же за это! maniac.gif
Когда надо было, так нет никого, а сейчас налетели как коршуны, и каждый пытается клюнуть побольнее. twak.gif При чём вместо самообучение, я получил публичную порку, и вместо предложений и обсуждений по коду я должен оправдываться за каждое сказанное слово. Оправдаться то я могу, но надоело уже sad.gif .
Всё больше вы меня не услышите! Если кого обидел, не держите зла, если кому помог, то и помогите вы в будущем, таким как я. Пока.
И он гордо удалился, громко хлопнув за собой дверью, и лишь шаги постепенно стихали где то там в дали пока полностью не стихли, и тишина медленно заполнила собой опустевшее пространство… biggrin.gif


Просьба к АДМИНИСТРАТОРУ. Удалите пожалуйта мой проект, а то сам этого я что то сделать не могу. Не хочу что бы люди "розачаровывались".
Go to the top of the page
 
+Quote Post
sonycman
сообщение Jan 29 2007, 17:31
Сообщение #155


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



2Alex_inventor
Почему ты так болезненно воспринимаешь критику?
Цитата
При чём вместо самообучение, я получил публичную порку, и вместо предложений и обсуждений по коду я должен оправдываться за каждое сказанное слово.

Какая "порка"?
Ну указали, что тут и там неправильно. Наверное, это так и есть?

На самом деле ты ведь получил именно обсуждение и последовавшие предложения по твоему коду.
Но, почему-то, воспринимаешь это как порку smile.gif
Явное нежелание прислушиваться к советам других людей...

Сообщение отредактировал sonycman - Jan 29 2007, 17:34
Go to the top of the page
 
+Quote Post
zltigo
сообщение Jan 29 2007, 17:51
Сообщение #156


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(Alex_inventor @ Jan 29 2007, 16:20) *
Просьба к АДМИНИСТРАТОРУ. Удалите пожалуйта мой проект, а то сам этого я что то сделать не могу. Не хочу что бы люди "розачаровывались".

Если проект будет удален, то его сюда выложу я, дабы у последующих читателей не возникала мысль о якобы имеющем место быть избиении невинных младенцев с "красными дипломами" и "100 проектами за плечами" .


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Alex_inventor
сообщение Jan 29 2007, 17:57
Сообщение #157


Участник
*

Группа: Новичок
Сообщений: 54
Регистрация: 25-01-07
Пользователь №: 24 744



Обещал не отвечать, но тебе отвечу (похоже единственному, кто себя не считает небожителем):
Ты писал что, мне указали на явные ошибки программы. Какие ошибки? Что программа работает неверно? Я люблю использовать bin, НИКОГО НЕ ЗАСТАВЛЯЮ ДЕЛАТЬ ТОЖЕ САМОЕ, но когда “небожители” слышат что я это делаю, они ни все хором тычут меня в книги, как нашкодившую собаку. Обсуждение оптимизации напоминает: “Я тебе про Ерему, ты мне про Фому.” Что в результате? Я не намного больше узнал про UART чем, до обсуждение темы.
Хочу отметить, что есть и продуктивные участки форума, например обсуждение про volatile. А так вода…
Go to the top of the page
 
+Quote Post
Alex_inventor
сообщение Jan 29 2007, 18:09
Сообщение #158


Участник
*

Группа: Новичок
Сообщений: 54
Регистрация: 25-01-07
Пользователь №: 24 744



zltigo
Ox!Ox!Ox! Напугали! Коленки трясутся! Нахождение проекта на форуме вопрос скорее риторический, чем практический! Я могу ещё выложить. Выкладывать? Что, пиписьками мерится будем? Неверите тому, что я пишу? Что сотня проектов на МК для вас запредельное число? Ужазз… angry.gif
Go to the top of the page
 
+Quote Post
sonycman
сообщение Jan 29 2007, 18:21
Сообщение #159


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



2Alex_inventor

Понятно, если привык к чему-то - менять не хочется.
Всё-же, думаю, надо стремиться к лучшему.

Например, выражение 00001110 мало о чём говорит.
А если это будет 1<<BIT1 | 1<<BIT2 | 1<<BIT3 то уже понятно, какие именно биты задействованы. Не надо каждый раз лезть в мануал, чтобы понять, что к чему.

void puts( uint8 *str )
{
do{
OUTCH( *str )
}while( *str++ != '\0' );
}
будет выводить и нуль.

Форум приносит пользу, это однозначно. Зря ты решил его покинуть smile.gif

Сообщение отредактировал sonycman - Jan 29 2007, 18:22
Go to the top of the page
 
+Quote Post
SpiritDance
сообщение Jan 29 2007, 18:23
Сообщение #160


Дух погибшего транзистора
****

Группа: Свой
Сообщений: 877
Регистрация: 6-09-05
Из: Москва
Пользователь №: 8 288



Цитата(Alex_inventor @ Jan 29 2007, 18:09) *
Что сотня проектов на МК для вас запредельное число? Ужазз… angry.gif

Да что-то элементарно не стыкуется подобный опыт проектов, со школьным кодом, правописанием и подростковым апломбом. smile.gif


--------------------
Yes, there are two paths you can go by But in the long run Theres still time to change the road youre on.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Jan 29 2007, 19:41
Сообщение #161


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(Alex_inventor @ Jan 29 2007, 17:09) *
Неверите тому, что я пишу?

Нет.

Цитата(SpiritDance @ Jan 29 2007, 17:23) *
Цитата(Alex_inventor @ Jan 29 2007, 18:09) *

Что сотня проектов на МК для вас запредельное число? Ужазз… angry.gif

Да что-то элементарно не стыкуется подобный опыт проектов, со школьным кодом, правописанием и подростковым апломбом. smile.gif

А "красный диплом института", судя по грамотности, больше смахивает на "волчий билет из школы" sad.gif


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
sonycman
сообщение Jan 29 2007, 19:43
Сообщение #162


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



Никогда не пользовался UART портом.
В даташите написано, что через него можно подключать приёмники IrDA. То есть можно сделать управление девайсом с помощью ИК пульта дистанционного управления? Интересно, надо будет заняться этим.

А как понимать oversampling применительно к UART? Значение пересэмплирования может быть 8 или 16. Для чего оно используется?

Сообщение отредактировал sonycman - Jan 29 2007, 19:44
Go to the top of the page
 
+Quote Post
zltigo
сообщение Jan 29 2007, 19:44
Сообщение #163


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(sonycman @ Jan 29 2007, 17:21) *
будет выводить и нуль.

Проблема ведь не в том, как выводить! Интересно, а как этот '\0' который так хотелось выдавать отображаться-то будет? Не будет? Зачем тогда выводить.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Andy Great
сообщение Jan 29 2007, 20:23
Сообщение #164


Знающий
****

Группа: Свой
Сообщений: 793
Регистрация: 5-11-04
Из: Краматорск, Украина
Пользователь №: 1 057



Цитата
Значит, это только GCC не любит пробелы?

Нет, не только он. Многие программы этого не любят, да и нелатинских символов в путях тоже. Учитывая, что некоторые из них размещают данные в "Моих документах", а их авторы не ведают о локализованных версиях Винды, случаются порой забавные, а порой и не очень приключения. smile.gif

2ALL: Не напоминает ли вам один из участников реинкарнацию незабвенного раз-два-три?
Go to the top of the page
 
+Quote Post
sonycman
сообщение Jan 29 2007, 21:48
Сообщение #165


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



Не пойму точно, что означает вот это:

Program code is being executed out of flash

1. Программа выполняется во флэш-памяти?
2. Или наоборот - не во флэш?

Склоняюсь к первому варианту...
Go to the top of the page
 
+Quote Post

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

 


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


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