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

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

aaarrr спасибо, то что надо.

то есть OWER нужно включать единожды? И все что в нем единица будет рабоать как старый добрый PORTA=0xAA ?

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


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

то есть OWER нужно включать единожды?

Можно единожды.

 

И все что в нем единица будет рабоать как старый добрый PORTA=0xAA ?

При записи в ODSR - да.

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


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

А второй строкой вы что хортели сделать?
Сбросить в 0 те биты, которые равны нулю в байтах a и b. Для этого на месте этих битов надо записать единицы в CODR.

НИже код - наличие/присутствие строки ничего в симуляторе не изменило.
Естественно - результат вашего выражения - ноль, а запись нулевых битов в CODR не имеет эффекта. Именно поэтому ваши средние биты остаются нетронутыми в моей записи.

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


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

Тьфу, тфу разобрался. Напаял на плату светодиодов, сделал через (1<<i) в цикле бегущий огонь (OSDR) и заполняющийся столбик (SODR).

Разобрался почему у меня не запускался код в RAM.

ТОлько объясните моему детскому мозгу, чем же контроллер порта в ARM круче чем в AVR, коль требует к себе такого отношения?

 

 

P.S. Сцк, интересный однако, камень, почему я не напрягся с ним раньше?...

Изменено пользователем zheka

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


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

ТОлько объясните моему детскому мозгу, чем же контроллер порта в ARM круче чем в AVR, коль требует к себе такого отношения?

Какого отношения - чтения документации?

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


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

Какого отношения - чтения документации?

Представляю, что случится с zheka, когда он узнает о, например, существовании Luminary :) - там 20 регистров за каждым восьмибитовым GPIO + еще восемь в bit-band итого 28 :)

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


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

Какого отношения - чтения документации?

Не спорю. Но описание OWER и ODSR в документации не сразу наталкивает на мысль что это решение моей проблемы. Если бы вам дали задание найти кухонный нож, а на коробке было бы написано что-то вроде "твердотельный дезинтегратор органических энергоносителей для питания билогических систем" вы бы сразу догадались что в коробке то что вам нужно?

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


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

А причем тут какое-либо ядро к организации GPIO конкретного контроллера? В отношении Cortex-M3, ну там разве только от ядра bit-band может быть использован для частичной эмуляции помянутых Вами LPC-шных SET/CLR

 

А при чем тут bit-band и частичная эмуляция?

Bit-band - это четвертый способ ввода/вывода в регистры - с побитовой адресацией.

И все они не эмулируются а существуют на аппаратном уровне - в железе.

 

Или Вы имели в виду, что нужно было вместо "переходите на кортекс" сказать "переходите на lpc1xxx"?

Но прямо об этом сказать постеснялись...

 

 

 

 

Тьфу, тфу разобрался. Напаял на плату светодиодов, сделал через (1<<i) в цикле бегущий огонь (OSDR) и заполняющийся столбик (SODR).

Разобрался почему у меня не запускался код в RAM.

ТОлько объясните моему детскому мозгу, чем же контроллер порта в ARM круче чем в AVR, коль требует к себе такого отношения?

 

 

P.S. Сцк, интересный однако, камень, почему я не напрягся с ним раньше?...

 

Да не, просто чип кривоватый.

Ваша задача на lpc1768 делается так:

 

LPC_GPIO0->FIOPIN0=a; // вывод в младший байт порт_0 байта a

LPC_GPIO0->FIOPIN3=b; // вывод в старший байт порт_0 байта b

 

Но тут беда в другом - не все биты порта выведены на пины.

Почему? А кто же его знает...

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


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

Или Вы имели в виду...

Я имел ввиду, то, что я написал - Ваши расуждения о свойствах GPIO конкретного LPC нималейшего отношения к какому-либо ядру не имеют и только по факту переходе на ядро Cortex-M3 счастья от обладания такими GPIO не появится. Все.

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


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

Я имел ввиду, то, что я написал - Ваши расуждения о свойствах GPIO конкретного LPC нималейшего отношения к какому-либо ядру не имеют и только по факту переходе на ядро Cortex-M3 счастья от обладания такими GPIO не появится. Все.

 

Только у lpc GPIO реализовано корректно? Как ячейка памяти.

То есть поддерживает команду - вывод значения регистра в память?

У остальных производителей микропроцессоров на ядре кортекс GPIO не поддерживает этой команды и ее приходится эмулировать?

Извините, я этого не знал.

 

И что Вы так нервничаете?

Сказали бы - есть производители кортексов, у которых GPIO кривое, и все дела...

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


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

Сказали бы - есть производители кортексов, у которых GPIO кривое, и все дела...

Есть производители микроконтроллеров, использующие Cortex ядро. Как они сделают порты - их дело. Обычно делают, как надо. Это не вытекает из Cortex напрямую.

Кстати, bit-band для портов - вещь мало нужная. Вполне должно хватать и тех регистров, которые отвечают за биты порта. Для того они и созданы.

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


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

Есть производители микроконтроллеров, использующие Cortex ядро. Как они сделают порты - их дело. Обычно делают, как надо. Это не вытекает из Cortex напрямую.

Кстати, bit-band для портов - вещь мало нужная. Вполне должно хватать и тех регистров, которые отвечают за биты порта. Для того они и созданы.

 

Вы в курсе, что в кортексе нет пространства ввода-вывода.

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

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

Если по адресу GPIO стандартная команда ядра не работает - GPIO реализовано криво.

Согласны?

 

Кстати, есть такие кортексы, в которых эта команда для GPIO не реализована?

Или это чисто теоретические рассуждения - мол вполне может быть не реализована...

 

А в SAM7 насамом деле нет команды записи из регистра в GPIO?

 

А вот что Вы сюда bit-band пристроили, непонеятно.

Если и мало нужная то вроде и не мешает...

А понадобится, используем.

 

По этому поводу не ко мне, это не я заявлял -

"В отношении Cortex-M3, ну там разве только от ядра bit-band может быть использован для частичной эмуляции помянутых

Вами LPC-шных SET/CLR"

На мой вопрос - это про что - ответа не получено...

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


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

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

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

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

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


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

Вы в курсе, что в кортексе нет пространства ввода-вывода.

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

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

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

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

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

 

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

 

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

 

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

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


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

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

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

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

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

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

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

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

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

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