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

 
 
9 страниц V  « < 4 5 6 7 8 > »   
Reply to this topicStart new topic
> Сбылась мечта идиота - приехали программатор и SAM7S256, Теперь нужен ликбез.
zheka
сообщение May 14 2010, 13:05
Сообщение #76


Гуру
******

Группа: Участник
Сообщений: 2 072
Регистрация: 14-01-06
Пользователь №: 13 164



Цитата
Как выясняется - даже не зная, как они устроены.


Дык известный принцип - "Пастернака не читал, но осуждаю".
Go to the top of the page
 
+Quote Post
vallav
сообщение May 14 2010, 13:35
Сообщение #77


Частый гость
**

Группа: Участник
Сообщений: 197
Регистрация: 8-04-05
Пользователь №: 3 977



Цитата(Сергей Борщ @ May 14 2010, 16:46) *
Вы в курсе, что в ARM7 (и в AT91SAM7 в частности) нет пространства ввода-вывода?
И GPIO отображается на память?
В ARM7 есть команды записи в память значения регистра.

И чем же тогда кортекс лучше?

Если вы этого не знаете, то как можете делать вывод что кортекс лучше?

Это про LPC и SAM7, которые вы обвиняете в кривизне. Как выясняется - даже не зная, как они устроены.


Вы о чем?
Был пост, в котором интересовались, как одной командой записать значение в порт.
И куча ответов с паравозами вместо одной команды.
Они не знали, как этот чип устроен?
Я подумал, что в этом контроллере почему то нет команды записи в порт.
Ну не мог же я подумать, что отвечающий не знает, на что отвечает...
Вот и предложил - перейти на кортекс, где такая команда и даже команды побайтовой и побитовой записи есть.

Где Вы углядели, что я заявил - кортекс лучше всех?
Кортекс как контроллер - полный отстой по сравнению с ADI_шным ADSP21xx.
Им бы переферию туда добавит и разрядность до 32 поднять - цены бы этой игрушке не было...
Она без конвеера и на старинной технологии выдавала 80 МГц при всех командах - строго однотактовых.
А в кортексе - однотактность команд - это чисто враки.
А уж быстрые прерывания - через 20 тактов после запроса, или быстрое ПДП - по 5 тактов на пересылку...

Но что есть, то есть - GPIO у него на высоте.
Добавить бы сигналы синхронизации и однотактное ПДП в память с кольцевым буфером да все биты порта вывести на
пины...



Цитата(zheka @ May 14 2010, 17:05) *
Дык известный принцип - "Пастернака не читал, но осуждаю".


Это Вы про тех, кто выдал паровозы в ответ на вопрос, как записать значение в порт.
Не зная, что там это делается одной командой?

Или про меня?
Так как я выдал следующее:
"А разве вSAM7 нет вывода в регистр?
Тогда переходите на кортекс
Там есть все три"



Цитата(ViKo @ May 14 2010, 15:36) *
Вот и Вы, похоже, нервничаете smile.gif
У ядра Cortex, которое Вы упомянули, есть только адресное пространство для периферийных устройств 0x40000000-0x5FFFFFFF. Какие там будут устройства, зависит от производителя конкретного микропроцессора. Когда Вы сказали "переходите на Cortex", подразумевая там некие регистры портов, это вызвало справедливое замечание zltigo. Надеюсь, я объяснил правильно?
А bit-band я просто так упомянул, высказал свое мнение.


Он что то отмалчивается.

Может Вы ответите - есть кортекс, у которого нет команды вывода регистра в порт?
Или он разразился этим исходя из чисто теоретической возможности, что такой кортекс сделать можно?
В этом случае замечание ну очень справедливое...
И даже не замечание а целый разнос.
Go to the top of the page
 
+Quote Post
ViKo
сообщение May 14 2010, 13:50
Сообщение #78


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

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



Цитата(vallav @ May 14 2010, 16:35) *
Может Вы ответите - есть кортекс, у которого нет команды вывода регистра в порт?

Отвечу (еще раз) - у Cortex вообще нет портов!
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение May 14 2010, 14:04
Сообщение #79


Гуру
******

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



Цитата(vallav @ May 14 2010, 16:35) *
Был пост, в котором интересовались, как одной командой записать значение в порт.
И куча ответов с паравозами вместо одной команды.
Они не знали, как этот чип устроен?
Был вопос - как записать 2 байта в порт не трогая остальные 16. Ваш вариант из одной команды, пусть даже для кортекса?


--------------------
На любой вопрос даю любой ответ
"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
vallav
сообщение May 14 2010, 14:21
Сообщение #80


Частый гость
**

Группа: Участник
Сообщений: 197
Регистрация: 8-04-05
Пользователь №: 3 977



Цитата(Сергей Борщ @ May 14 2010, 18:04) *
Был вопос - как записать 2 байта в порт не трогая остальные 16. Ваш вариант из одной команды, пусть даже для кортекса?


Это был второй вопрос.
Первый - как в порт записать 0x0000ffff а затем 0xaaaa5555.

И именно посмотрев ответы на этот вопрос я предложил перейти на кортекс.

А п овторому вопросу - полагаете, то, как это делается в кортексе, корявее чем приведенные для исходного чипа?


Цитата(ViKo @ May 14 2010, 17:50) *
Отвечу (еще раз) - у Cortex вообще нет портов!


Ага. У него всего навсего 6 букв из латинского алфавита. И что?
А вот если Вы про то, что под этим названием - то возможны разные варианты...

Уточню для любителей строгости - есть ли микропроцессоры с ядром Cortex M3, у которых не реализована команда вывода из
регистра в порт?

Если это не совсем строго, Вы не стесняйтесь, поправляйте.
Я не гордый, переспрошу...

Мне же интересно, на меня просто так наехали ( мимоходом ) или за этим хоть что то есть...
Go to the top of the page
 
+Quote Post
zheka
сообщение May 14 2010, 14:24
Сообщение #81


Гуру
******

Группа: Участник
Сообщений: 2 072
Регистрация: 14-01-06
Пользователь №: 13 164



Vallav, я конечно еще лох, но попробую тявкнуть - те три варианта, которые вы написали для Кортекса, в АРМ пишутся как SODR, CODR и ODSR. Про ODSR вы не знали, вот и предложили Кортекс, решив что там этот третий вариант есть.
Господа, давайте не будетм засорять тему спорами об архитектуре камней. Я пришел с работы, сел за плату, сейчас ведь вновь засыплю вас глупыми вопросами)))
Go to the top of the page
 
+Quote Post
zheka
сообщение May 14 2010, 17:46
Сообщение #82


Гуру
******

Группа: Участник
Сообщений: 2 072
Регистрация: 14-01-06
Пользователь №: 13 164



Подскажите, как грамотно организовать задержку на милли и микросекунды. "Тяжелое наследие CodeVision" навевает что-то вроде #include <delay.h> delay_ms(x) delay_us(x)
Go to the top of the page
 
+Quote Post
rezident
сообщение May 14 2010, 17:56
Сообщение #83


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(zheka @ May 14 2010, 23:46) *
Подскажите, как грамотно организовать задержку на милли и микросекунды.
С помощью таймера.
Go to the top of the page
 
+Quote Post
ViKo
сообщение May 14 2010, 18:03
Сообщение #84


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

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



А можно я еще чуть-чуть про Cortex-M3? Вернее, про STMicroelectronics.
Для STM32F103 написал следующий код
Код
  while (1) {
   GPIOB->BSRR = 0x0002;
   GPIOB->BRR = 0x0002;
  }

Скомпилировалось в
Код
  0x08000226 F8C01C10  STR      r1,[r0,#0xC10]
  0x0800022A F8C01C14  STR      r1,[r0,#0xC14]
  0x0800022E E7FA      B        0x08000226

Весь цикл выполняется за 7 тактов - 2 + 2 + 3. Итого, на частоте 72MHz имеем "дрыгание ножкой" с частотой чуть больше 10MHz.
А вам с вашим SAM... слабо?
Я, извините, SAM... "не читал" smile.gif
Go to the top of the page
 
+Quote Post
zltigo
сообщение May 14 2010, 18:15
Сообщение #85


Гуру
******

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



Цитата(vallav @ May 14 2010, 16:35) *
Он что то отмалчивается.

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


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
zheka
сообщение May 14 2010, 18:29
Сообщение #86


Гуру
******

Группа: Участник
Сообщений: 2 072
Регистрация: 14-01-06
Пользователь №: 13 164



С помощью таймера можно было и в АВР. А можно было и библиотечной функцией
Неужели нет каких-нибудь библиотек?
Go to the top of the page
 
+Quote Post
zltigo
сообщение May 14 2010, 18:47
Сообщение #87


Гуру
******

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



Цитата(zheka @ May 14 2010, 21:29) *
Неужели нет каких-нибудь библиотек?

А какая, простите Вам "библиотека" нужна, дабы организовать тупой цикл?
Код
void delay3t( unsigned long value )
{
__asm(    "    subs    r0, #1\n"
          "    bne.n   delay3t\n"
          "    bx      lr"    );
}

Мегагерцы по три такта в задержку сможете сказать препроцессору пересчитать?


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
zheka
сообщение May 14 2010, 19:13
Сообщение #88


Гуру
******

Группа: Участник
Сообщений: 2 072
Регистрация: 14-01-06
Пользователь №: 13 164



ЧТо помешает? Например вот это:
Цитата
Blinky.c(32): error: #1094: Expected a register expression
Blinky.c(33): error: #1083: Inline assembler syntax error
Blinky.c(34): error: #1083: Inline assembler syntax error
Go to the top of the page
 
+Quote Post
zltigo
сообщение May 14 2010, 19:27
Сообщение #89


Гуру
******

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



Цитата(zheka @ May 14 2010, 22:13) *
ЧТо помешает? Например вот это:

А чем компилим-то? А.... еще у меня крыша на Cortrex последние дни заклинила для ARM надо subs r0, r0, #1 и bne
Ну и задержки будут достаточно отфонарные, ибо waistates на Flash, ну и уcкорители с кэшами тоже встречаются даже на младшеньких ARM7
А вообще такие вещи надо куда-ибудь в ассеблерный фальчик, например, в startup запихивать.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
vallav
сообщение May 15 2010, 07:37
Сообщение #90


Частый гость
**

Группа: Участник
Сообщений: 197
Регистрация: 8-04-05
Пользователь №: 3 977



Цитата(zheka @ May 14 2010, 18:24) *
Vallav, я конечно еще лох, но попробую тявкнуть - те три варианта, которые вы написали для Кортекса, в АРМ пишутся как SODR, CODR и ODSR. Про ODSR вы не знали, вот и предложили Кортекс, решив что там этот третий вариант есть.
Господа, давайте не будетм засорять тему спорами об архитектуре камней. Я пришел с работы, сел за плату, сейчас ведь вновь засыплю вас глупыми вопросами)))


Так вопрос решен?
И в SAM7 есть вывод значения регистра в порт?
Просто те, кто на этот вопрос отвечал, этого не знали...
Так что было бодягу разводить - сразу запостили бы это.
Или поговорить захотелось?

Цитата(zltigo @ May 14 2010, 22:15) *
Я даже полным дятлам третий раз повторять не буду. А пытаться замазать потоками флейма свое ламерство ( причем уже не в первый раз ), это уже, как администратор, настоятельно не советую - флейм наказуем.


Тык Вы просто на вопрос ответьте, буквально коротко -
В таком то чипе с ядром кортекса от такой то фирмы нет вывода значения регистра в порт.

И флейм сразу прекратится...

Или не знаете такого чипа и решили включить административный ресурс?
А дятлом быть не хочется...
Go to the top of the page
 
+Quote Post

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

 


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


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