|
|
  |
Хочу попробовать ARM, подскажите, что для этого нужно?, Какой проц выбрать, отлад. платку и какой софт? |
|
|
|
Jan 29 2007, 23:11
|

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

|
Цитата(sonycman @ Jan 29 2007, 20:48)  Program code is being executed out of flash Да великий и могучий английский языка  "executed out" не является фразеологическим глаголом, ( по крайней мере у англичан) - ничего конкретного не скажешь  . Идем дальше "out of" - если в лоб, то вне, блин, но что-то не то. Теперь начинаем по три слова рассматривать - с глаголом или существительным - дилема "executed out of" или "out of flash". Первый вариант это естественно из FLASH второй совсем наоборот, однако. Прислушиваемся к голосу разума, опыту и прочему..... э.... Пытаемся явно написать что исполняется за пределами FLASH ну ничего в голову не приходит, кроме как для определенности добавить какое-нибудь слово между executed и оut. Да  Однако начинаем мыслить шире отвлекаясь от русского языка - ведь код по любому исполняется за пределами FLASH, поскольку у FLASH "исполнялки" то нет, ну а берется то он .... A!!!! Program code is being executed out of (в смысле from) FLASH - практически без вариантов. P.S. Это не "C" читать
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Jan 30 2007, 07:46
|
Местный
  
Группа: Свой
Сообщений: 359
Регистрация: 9-12-05
Пользователь №: 12 034

|
Цитата(sonycman @ Jan 30 2007, 01:42)  Посмотрел эррату на LPC2148 - и порадовался за Philips. Маленький документик, в разы меньше глюков, чем у Atmel. Ай-яй-яй   А я в течении 2-х лет наблюдал как разрастается errata на LPC2292. Притом баги от ерраты к еррате не только появлялись, но и перерождались и исчезали.  А вааще, смишной топик.  Кто про Фому, кто про Ерёму. Кто про проблемы свои насущные. Кто на путь истинный ставит, а кто и бочку назад катит. Пора Кота Леопольда вспоминать, а то подерётесь!  Кстати небожители эт хто? Нас тут похоронили чёли?
|
|
|
|
|
Jan 30 2007, 09:56
|

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

|
извиняюсь за оффтопик Я вот тут недавно корейский фильм смотрел "бишунмо" (ну может по другому ето совсем звучит, хрен их корейцев разберет), так вот там небожители - то что надо были. В 7ром целую армию с самого начала положили, тут я сразу понял - фильма стоящая. А главный их потом всю фильму зажигал, в мече у него толи порох, толи сила джедайская была, короче все, кого он резал, потом еще на куски разлетались. Вобщем веселые парни - небожители эти. Фильм - рекомендую, красивый.
--------------------
Yes, there are two paths you can go by But in the long run Theres still time to change the road youre on.
|
|
|
|
|
Jan 30 2007, 11:48
|

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

|
Цитата(sonycman @ Jan 29 2007, 18:43)  Никогда не пользовался UART портом. В даташите написано, что через него можно подключать приёмники IrDA. То есть можно сделать управление девайсом с помощью ИК пульта дистанционного управления? Нет, нельзя. Это совершенно разные системы. IrDA придуман для передачи данных. В нем передаются байты, почти как в UART, только единица не передается, а ноль передается коротким импульсом длительностью 3/16 бита. Поверх этого лежит стек протоколов, позволяющий эмулировать COM, LPT, передавать файлы и прочие объекты (визитные карточки, например). Пульты ДУ передают несущую частотой 30-48КГц, модулированную импульсами. В зависимости от протокола кодирование импульсов разное. Передается ограниченный набор простых команд. Цитата(sonycman @ Jan 29 2007, 18:43)  А как понимать oversampling применительно к UART? Значение пересэмплирования может быть 8 или 16. Для чего оно используется? Приемная ножка считывается 8 или 16 раз за время бита и на основании трех из этих результатов делается вывод - был на ножке 0 или 1.
--------------------
На любой вопрос даю любой ответ"Write code that is guaranteed to work, not code that doesn’t seem to break" ( C++ FAQ)
|
|
|
|
|
Jan 30 2007, 12:45
|

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

|
Цитата(Сергей Борщ @ Jan 30 2007, 12:48)  1. Пульты ДУ передают несущую частотой 30-48КГц, модулированную импульсами. В зависимости от протокола кодирование импульсов разное. Передается ограниченный набор простых команд. 2. Приемная ножка считывается 8 или 16 раз за время бита и на основании трех из этих результатов делается вывод - был на ножке 0 или 1. Понятно. 1.То есть нельзя использовать встроенный в сэма демодулятор IrDA для приёма сигналов с ИК пультов? 2.Значит, это какая-то защита от помех или что? Ведь и без пересэмплирования UART будет прекрасно работать? А, нет, почитал внимательнее - в асинхронном режиме только с пересэмплированием, а в синхронном - без  Понятно. Цитата(Alex03 @ Jan 30 2007, 08:46)  А я в течении 2-х лет наблюдал как разрастается errata на LPC2292. Притом баги от ерраты к еррате не только появлялись, но и перерождались и исчезали.  То, что баги исчезали - это естественный процесс, хотя, применительно к SAM7S этого не наблюдается. И ревизий-то всего 2
Сообщение отредактировал sonycman - Jan 30 2007, 13:07
|
|
|
|
|
Jan 30 2007, 13:09
|
Частый гость
 
Группа: Свой
Сообщений: 169
Регистрация: 10-11-05
Из: Воронеж
Пользователь №: 10 687

|
Цитата(Alex_inventor @ Jan 29 2007, 17:20)  Цитата Такие как Вы, не разобравшись в предмете, портят потом впечатления другим, которые бы потом проскочили эти грабли незаметно. Ни чего я не порчу, я поднял вопрос, который был решён. И если не поднял бы, то кто этих нюансов не знал, просто так не проскочили. Когда в начале топика задавались вопросы типа как с UART работать, все молчали.  Были лишь изредкие фразы типа “вы отлично варитесь в собственном саку, ну и варитесь там!”. Чтож… Я не спорю, даже скажу согласен с этим. Но когда “поварившись” результатом чего явился РАБОТОСПОСОБНЫЙ проект и был выложен, что бы им пользовались такие как, я был неделю назад (если мне дали тогда этот проект, то я бы поблагодарил). Целью проекта было постепенное наращивание, освоение новой периферии (выкладывание промежуточных результатов) и КОНСТРУКТИВНОЕ обсуждение отдельных алгоритмов, не поливая помоями чужие варианты! Если бы кто, например, сказал, вот тут (x=1; x<100;x++) пауза будет не точной, потому что используется такая инструкция проца (которая в режиме таком то выполняется за два такта), другой бы сказал что он применил другую конструкция, которая меньше места занимает, а третий бы предложил более большую конструкцию, но с более богатыми возможностями. Но нет!!! Как этот “презренный” посмел обратиться к нам, небожителям! И надругаться над нашими священными постулатами. Он даже ПОСМЕЛ!  , стыдно сказать, bin использовать! Так умри же за это! Когда надо было, так нет никого, а сейчас налетели как коршуны, и каждый пытается клюнуть побольнее.  При чём вместо самообучение, я получил публичную порку, и вместо предложений и обсуждений по коду я должен оправдываться за каждое сказанное слово. Оправдаться то я могу, но надоело уже  . Может быть местные гуру иногда и бывают резки, но в общем и целом они правы. Нельзя "научить" человека программировать. Можно только помочь ему научиться, причем, чем меньше отвечают вам на ваши вопросы, тем (иногда) лучше - знание, приобретенное собственными потугами не забыватеся, в отличие от регулярных подсказок. Обратите внимание: на конструктивные вопросы (читай не совсем "детские") были даны ответы. А разжевывать все "от" и "до" НИКТО не будет. Конференция нужна для того, чтобы вас поправили в некоторых местах, а не сделали все за вас. Именно поэтому никто на попытался ответить на вопрос "как работать с УАРТ" (этот вопрос мне напоминает вопрос секретарши по телефону: "у меня винда не работает! Что делать???"). Зато когда вами был предложен вариант решения, опытные люди показали на ошибки и/или пожелания к культуре программирования. Повторюсь: это единственно правильный вариант общения в конференции. А готовых приверов полно компиляторах. Отдельный  sonycman'у за проявленное терпение и понимание. PS: прошу не обвинять меня в неграмотности: "вам" намеренно писал с маленькой буквы, т.к. обращался ко всем новичкам, общающимся в этой ветке форума.
|
|
|
|
|
Jan 30 2007, 14:02
|

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

|
Цитата(sonycman @ Jan 30 2007, 12:45)  1.То есть нельзя использовать встроенный в сэма демодулятор IrDA для приёма сигналов с ИК пультов? Еще раз повторю Сергея Борща irDA и пульты ду - суть разные вещи, базирующиеся на одной и той-же среде передачи - ir лучах. Но даже физически эти интерфейсы разные. По поводу пультов ду - есть хороший аппнот atmel avr410. Для irda тоже кое-где мелькала информация.
--------------------
Yes, there are two paths you can go by But in the long run Theres still time to change the road youre on.
|
|
|
|
|
Jan 30 2007, 14:32
|

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

|
По IrDA понял, спасибо  Жаль, что не совместимы  Цитата(gladov @ Jan 30 2007, 14:09)  Отдельный  sonycman'у за проявленное терпение и понимание. Спасибо!  Нашёл в сети вот это: Цитата const char str[] = "Privet"; - строка располагается в сегменте констант; const char *str= "Privet"; - строка располагается в сегменте констант, резервируется место в памяти под указатель, при старте программы в него записывается адрес строки. А разве в первом случае при обрашении к этой строковой константе не будет грузиться указатель из памяти? Наверное, если эта константа находится рядом с куском кода, её обрабатывающим - то она может быть адресована косвенно через PC. Но если нет - по-любому же будет резервироваться слово в памяти для указателя?
Сообщение отредактировал sonycman - Jan 30 2007, 14:33
|
|
|
|
|
Jan 30 2007, 15:07
|
Местный
  
Группа: Свой
Сообщений: 359
Регистрация: 9-12-05
Пользователь №: 12 034

|
Цитата(sonycman @ Jan 30 2007, 16:32)  Нашёл в сети вот это: Цитата const char str[] = "Privet"; - строка располагается в сегменте констант; const char *str= "Privet"; - строка располагается в сегменте констант, резервируется место в памяти под указатель, при старте программы в него записывается адрес строки.
А разве в первом случае при обрашении к этой строковой константе не будет грузиться указатель из памяти? Наверное, если эта константа находится рядом с куском кода, её обрабатывающим - то она может быть адресована косвенно через PC. Но если нет - по-любому же будет резервироваться слово в памяти для указателя? Как чего разложит компилятор не Ваша забота. Просто во втором случае str - переменная, т.е. укалатель указывающий на константную (скажем так неименнованную) строку. Дальше в коде Вы легко можете написать str = "la-la=la".
|
|
|
|
|
Jan 30 2007, 15:54
|

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

|
Цитата(Alex03 @ Jan 30 2007, 16:07)  1.const char str[] = "Privet";- строка располагается в сегменте констант; 2.const char *str= "Privet"; - строка располагается в сегменте констант, резервируется место в памяти под указатель, при старте программы в него записывается адрес строки. Как чего разложит компилятор не Ваша забота. Просто во втором случае str - переменная, т.е. укалатель указывающий на константную (скажем так неименнованную) строку. Дальше в коде Вы легко можете написать str = "la-la=la". Точно! Во втором случае указатель действительно можно переназначать.  И - автор был неправ - место в памяти под указатель не резервируется ни в первом, ни во вторм случае, так как данные находятся рядом с кодом и используется косвенная (PC+) адресация. Но это зависит от того, как и куда разложит данные компилер. Если к константе "Privet" будет обращение из отдалённого сегмента кода - из памяти будет загружен 32 битный указатель. Хотел спросить знатоков про таймеры. Допустим, задаче требуется n-ное количество независимых таймеров для задания больших (десятки/сотни миллисекунд) задержек перед/после определённых событий. Для этого я использовал n-ное кол-во переменных tmr, куда заносил значения задержек. Один аппаратный периодический таймер обрабатывал на прерывании все эти переменные - в сторону уменьшения до нуля. Программа опрашивала их, и при обнулении считалось, что пауза выдержана. А какие есть альтернативные решения этой проблемы?
Сообщение отредактировал sonycman - Jan 30 2007, 15:55
|
|
|
|
|
  |
5 чел. читают эту тему (гостей: 5, скрытых пользователей: 0)
Пользователей: 0
|
|
|