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

 
 
5 страниц V  < 1 2 3 4 > »   
Reply to this topicStart new topic
> вопрос по инициализации Cirrus EP9307
merk0
сообщение Mar 4 2009, 17:27
Сообщение #16


Участник
*

Группа: Новичок
Сообщений: 47
Регистрация: 5-05-05
Пользователь №: 4 763



Цитата
А смысл запрещать? Регистр-то один.

ну например если в RTCLoad регистр записать нечто(оно установится в data регистр на следующем секундном тике), и читать data регистр в момент этого установления, то если операция чтения неатомарна, можно получить при чтении какую-нить ерунду. на которую надо как-то реагировать.
или не так?
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Mar 4 2009, 18:04
Сообщение #17


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(merk0 @ Mar 4 2009, 20:27) *
если операция чтения неатомарна

Неатомарной ее придется специально делать.

Да, а смысл вообще использовать RTC? У цирруса от часов одно название, на самом деле.
Go to the top of the page
 
+Quote Post
merk0
сообщение Mar 4 2009, 18:30
Сообщение #18


Участник
*

Группа: Новичок
Сообщений: 47
Регистрация: 5-05-05
Пользователь №: 4 763



а в данном устройстве навороты не нужны. нужно примитивное время, с прерыванием по каждой секунде и с сохранением между сеансами. скорее всего не нужен и аларм.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Mar 4 2009, 21:03
Сообщение #19


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Ну, воля Ваша. Я бы скорее организовал программное время.
Go to the top of the page
 
+Quote Post
merk0
сообщение Mar 5 2009, 07:27
Сообщение #20


Участник
*

Группа: Новичок
Сообщений: 47
Регистрация: 5-05-05
Пользователь №: 4 763



вы лучше скажите, ...вот я слышал что в некоторых SOC можно отключать неиспользуемые блоки(или я это слышал не о том)... а нам не нужны например тачскрин, ac'97, ethernet. Их можно как-то отключить вообще?
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Mar 5 2009, 08:25
Сообщение #21


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Лишнее можно отключить в регистрах PwrCnt и DeviceCfg.
Go to the top of the page
 
+Quote Post
merk0
сообщение Mar 5 2009, 08:48
Сообщение #22


Участник
*

Группа: Новичок
Сообщений: 47
Регистрация: 5-05-05
Пользователь №: 4 763



отлично!
еще вопрос в догонку...
позвонил разработчику девайса, он сказал, что ему мол кажется, что можно код пускать прям из пресловутой флешной пары, что мы обсуждали выше. то есть без копирования в озу(видимо потому они там 32-шину и сделали). Рассчитывают туда положить весь исполняемый код и пускать оттуда...
Мануал к флешке имеет какие-то загадочные тексты вроде -
Similarly, program suspend mode enables the user to suspend programming to read data
or execute code from any unsuspended blocks.

Флешка имеет команду -

Цитата
READ ARRAY Command
The device defaults to read array mode upon initial
device power-up and after exiting reset/power-down
mode. The read configuration register defaults to asynchronous
read page mode. Until another command is
written, the READ ARRAY command also causes the
device to enter read array mode. When the ISM has
started a block erase, program, or lock bit configuration,
the device does not recognize the READ ARRAY
command until the ISM completes its operation,
unless the ISM is suspended via an ERASE or PROGRAM
SUSPEND command. The READ ARRAY command
functions independently of the VPEN voltage.


я правильно понимаю, что прицепив флешку с статическому контроллеру, запрограммировав ее всякими там командами записи, а потом переведя в режим - read arraу, она прикинется простой такой ромкой, и оттуда можно исполнить код непосредственно?
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Mar 5 2009, 08:56
Сообщение #23


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Правильно понимаете.

У цирруса есть родная утилита для загрузки флеш, в том числе Micron/Intel. Не очень удобная, прямо скажем, но должна работать.
Go to the top of the page
 
+Quote Post
merk0
сообщение Mar 5 2009, 09:40
Сообщение #24


Участник
*

Группа: Новичок
Сообщений: 47
Регистрация: 5-05-05
Пользователь №: 4 763



Цитата
У цирруса есть родная утилита для загрузки флеш, в том числе Micron/Intel. Не очень удобная, прямо скажем, но должна работать.

если вы имеете ввиду download.exe c нулевым и первым загрузчиком(что потом грузнут редбут во флеш), то они у меня есть, я их и использовал как "заимствованный код". там пришлось некие вещи переписать. А консольную прогу(вместо download.exe) я написал свою. протокол полностью поменял. это позволило совбодно работать через компорт на 115200(раньше вроде не тянуло в силу плохого исходного протокола, и переполнения фифо у порта проца(скорее всего)) теперь бывший первый загрузчик, у меня сильно помощнел, превращаясь в прикладную и тестовую программу. В него я теперь и добавляю всякие инициализации и прочий HAL(потому и задаю вопросы).
Дело в том что плат несколько и нужна как тестовая прога(чтобы проверять их работоспособность), так и собснно прикладная прога.
Работаю над этим делом я один, задача очень раскиданная по "предметныи областям", а денег почти не платят. Если б знал - не стал и браться бы cool.gif

там кстати в этом пакете, софт написан чудовищно.
комментов мало, регистры часто задаются прямыми адресами, драверы флешек имеют какие ошметки закомментрованных старых вариантов.
и комменты если есть, с подозрительными ошибками.
разные функции имеют один и тот же коммент, достигнутый копипейстом с забывчивостью править пейстнутый коммент.
короче довольно позорно выкладывать такой код на сайт производителя cool.gif
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Mar 5 2009, 11:07
Сообщение #25


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Да, код у них - говно редкостное.

Для себя написал загрузчик, живущий в FIFO EMAC'а - хотя бы стартует быстро.
Go to the top of the page
 
+Quote Post
merk0
сообщение Mar 5 2009, 12:10
Сообщение #26


Участник
*

Группа: Новичок
Сообщений: 47
Регистрация: 5-05-05
Пользователь №: 4 763



я хотел загручик записать в eeprom флешку. пока правда не сделал этого.
Go to the top of the page
 
+Quote Post
merk0
сообщение Mar 7 2009, 08:24
Сообщение #27


Участник
*

Группа: Новичок
Сообщений: 47
Регистрация: 5-05-05
Пользователь №: 4 763



вопрос - у меня какие-то баги...есть подозрение, что это в силу возможности переупорядочивания команд arm-gcc при оптимизации.
как мастера пишут в softlock регистры этого проца?
можно это делать на си безопасно(то есть сделав и разлок регистра, и запись значения на си), или стоит это делать асмовой вставкой.
вот не могу вспомнить(если это вообще есть), как заставить gcc локально не переупорядочивать команды.
Go to the top of the page
 
+Quote Post
merk0
сообщение Mar 7 2009, 11:35
Сообщение #28


Участник
*

Группа: Новичок
Сообщений: 47
Регистрация: 5-05-05
Пользователь №: 4 763



вопрос с порядком команд снимается.
это я пускал uart3 глядя в куд что лежит в этом download у цирруса на сайте.
в инициализации уарта1 у них ошибка.

должно бьть так. с комментом(тут те же самые команды, но для уарта3)

Код
//тут важен порядок!!! лишь по записи в HIGH регистр, в реальности пройдет запись в LOW, MID части
// то есть запись в HIGH всегда должна быть последней!!!
out(UART3LINCTRLLOW, wBaud); //пишется делитель,  в мануале формула есть
out(UART3LINCTRLMID, 0); //обнуляем, туда писать в данном случае не нужно
out(UART3LINCTRLHIGH, (BIT6|BIT5|(ffifo_on<<4))); //ставим 8бит размер символа, бит - юзать фифо или нет -  четвертый бит регистра


у цирруса все было в обратном порядке. и в реальности порт 1 не инициализировался. но работал!!!
работал потому, что уже был инициализирован верным образом нулевым загрузчиком в виде асмового кода.

такое вот очередное наблюдение за качеством кода от цирруса smile.gif
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Mar 7 2009, 12:00
Сообщение #29


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



SoftLock можно безопасно писать на C - порядок volatile-обращений компилятор менять не имеет права.

Порядок записи регистров UART'а описан в даташите. Это явно лучший источник информации, хотя и в нем есть косяки sad.gif
Go to the top of the page
 
+Quote Post
merk0
сообщение Mar 9 2009, 09:54
Сообщение #30


Участник
*

Группа: Новичок
Сообщений: 47
Регистрация: 5-05-05
Пользователь №: 4 763



aaarrr,
- а вы какую ос ставили на этот проц?
- есть ли либа типа хала для этого проца, чтобы какие-то стандартные вещи с ним делать более абстрактно?
- какие тулчейны вы с ним использовали(используете)? Я пока все далаю все под winarm.

Сообщение отредактировал merk0 - Mar 9 2009, 09:56
Go to the top of the page
 
+Quote Post

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

 


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


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