Перейти к содержанию
    

Сбылась мечта идиота - приехали программатор и SAM7S256

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

 

Дык известный принцип - "Пастернака не читал, но осуждаю".

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вы в курсе, что в ARM7 (и в AT91SAM7 в частности) нет пространства ввода-вывода?

И GPIO отображается на память?

В ARM7 есть команды записи в память значения регистра.

 

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

 

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

 

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

 

Вы о чем?

Был пост, в котором интересовались, как одной командой записать значение в порт.

И куча ответов с паравозами вместо одной команды.

Они не знали, как этот чип устроен?

Я подумал, что в этом контроллере почему то нет команды записи в порт.

Ну не мог же я подумать, что отвечающий не знает, на что отвечает...

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

 

Где Вы углядели, что я заявил - кортекс лучше всех?

Кортекс как контроллер - полный отстой по сравнению с ADI_шным ADSP21xx.

Им бы переферию туда добавит и разрядность до 32 поднять - цены бы этой игрушке не было...

Она без конвеера и на старинной технологии выдавала 80 МГц при всех командах - строго однотактовых.

А в кортексе - однотактность команд - это чисто враки.

А уж быстрые прерывания - через 20 тактов после запроса, или быстрое ПДП - по 5 тактов на пересылку...

 

Но что есть, то есть - GPIO у него на высоте.

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

пины...

 

 

 

Дык известный принцип - "Пастернака не читал, но осуждаю".

 

Это Вы про тех, кто выдал паровозы в ответ на вопрос, как записать значение в порт.

Не зная, что там это делается одной командой?

 

Или про меня?

Так как я выдал следующее:

"А разве вSAM7 нет вывода в регистр?

Тогда переходите на кортекс

Там есть все три"

 

 

 

Вот и Вы, похоже, нервничаете :)

У ядра Cortex, которое Вы упомянули, есть только адресное пространство для периферийных устройств 0x40000000-0x5FFFFFFF. Какие там будут устройства, зависит от производителя конкретного микропроцессора. Когда Вы сказали "переходите на Cortex", подразумевая там некие регистры портов, это вызвало справедливое замечание zltigo. Надеюсь, я объяснил правильно?

А bit-band я просто так упомянул, высказал свое мнение.

 

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

 

Может Вы ответите - есть кортекс, у которого нет команды вывода регистра в порт?

Или он разразился этим исходя из чисто теоретической возможности, что такой кортекс сделать можно?

В этом случае замечание ну очень справедливое...

И даже не замечание а целый разнос.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Может Вы ответите - есть кортекс, у которого нет команды вывода регистра в порт?

Отвечу (еще раз) - у Cortex вообще нет портов!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Был пост, в котором интересовались, как одной командой записать значение в порт.

И куча ответов с паравозами вместо одной команды.

Они не знали, как этот чип устроен?

Был вопос - как записать 2 байта в порт не трогая остальные 16. Ваш вариант из одной команды, пусть даже для кортекса?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Был вопос - как записать 2 байта в порт не трогая остальные 16. Ваш вариант из одной команды, пусть даже для кортекса?

 

Это был второй вопрос.

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

 

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

 

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

 

 

Отвечу (еще раз) - у Cortex вообще нет портов!

 

Ага. У него всего навсего 6 букв из латинского алфавита. И что?

А вот если Вы про то, что под этим названием - то возможны разные варианты...

 

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

регистра в порт?

 

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

Я не гордый, переспрошу...

 

Мне же интересно, на меня просто так наехали ( мимоходом ) или за этим хоть что то есть...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Vallav, я конечно еще лох, но попробую тявкнуть - те три варианта, которые вы написали для Кортекса, в АРМ пишутся как SODR, CODR и ODSR. Про ODSR вы не знали, вот и предложили Кортекс, решив что там этот третий вариант есть.

Господа, давайте не будетм засорять тему спорами об архитектуре камней. Я пришел с работы, сел за плату, сейчас ведь вновь засыплю вас глупыми вопросами)))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Подскажите, как грамотно организовать задержку на милли и микросекунды. "Тяжелое наследие CodeVision" навевает что-то вроде #include <delay.h> delay_ms(x) delay_us(x)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Подскажите, как грамотно организовать задержку на милли и микросекунды.
С помощью таймера.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А можно я еще чуть-чуть про 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... "не читал" :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

С помощью таймера можно было и в АВР. А можно было и библиотечной функцией

Неужели нет каких-нибудь библиотек?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Неужели нет каких-нибудь библиотек?

А какая, простите Вам "библиотека" нужна, дабы организовать тупой цикл?

void delay3t( unsigned long value )
{
__asm(    "    subs    r0, #1\n"
          "    bne.n   delay3t\n"
          "    bx      lr"    );
}

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ЧТо помешает? Например вот это:

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ЧТо помешает? Например вот это:

А чем компилим-то? А.... еще у меня крыша на Cortrex последние дни заклинила для ARM надо subs r0, r0, #1 и bne

Ну и задержки будут достаточно отфонарные, ибо waistates на Flash, ну и уcкорители с кэшами тоже встречаются даже на младшеньких ARM7

А вообще такие вещи надо куда-ибудь в ассеблерный фальчик, например, в startup запихивать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Vallav, я конечно еще лох, но попробую тявкнуть - те три варианта, которые вы написали для Кортекса, в АРМ пишутся как SODR, CODR и ODSR. Про ODSR вы не знали, вот и предложили Кортекс, решив что там этот третий вариант есть.

Господа, давайте не будетм засорять тему спорами об архитектуре камней. Я пришел с работы, сел за плату, сейчас ведь вновь засыплю вас глупыми вопросами)))

 

Так вопрос решен?

И в SAM7 есть вывод значения регистра в порт?

Просто те, кто на этот вопрос отвечал, этого не знали...

Так что было бодягу разводить - сразу запостили бы это.

Или поговорить захотелось?

 

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

 

Тык Вы просто на вопрос ответьте, буквально коротко -

В таком то чипе с ядром кортекса от такой то фирмы нет вывода значения регистра в порт.

 

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

 

Или не знаете такого чипа и решили включить административный ресурс?

А дятлом быть не хочется...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...