|
|
  |
вопрос по инициализации Cirrus EP9307 |
|
|
|
Mar 4 2009, 17:27
|
Участник

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

|
Цитата А смысл запрещать? Регистр-то один. ну например если в RTCLoad регистр записать нечто(оно установится в data регистр на следующем секундном тике), и читать data регистр в момент этого установления, то если операция чтения неатомарна, можно получить при чтении какую-нить ерунду. на которую надо как-то реагировать. или не так?
|
|
|
|
|
Mar 4 2009, 18:30
|
Участник

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

|
а в данном устройстве навороты не нужны. нужно примитивное время, с прерыванием по каждой секунде и с сохранением между сеансами. скорее всего не нужен и аларм.
|
|
|
|
|
Mar 5 2009, 07:27
|
Участник

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

|
вы лучше скажите, ...вот я слышал что в некоторых SOC можно отключать неиспользуемые блоки(или я это слышал не о том)... а нам не нужны например тачскрин, ac'97, ethernet. Их можно как-то отключить вообще?
|
|
|
|
|
Mar 5 2009, 08:48
|
Участник

Группа: Новичок
Сообщений: 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у, она прикинется простой такой ромкой, и оттуда можно исполнить код непосредственно?
|
|
|
|
|
Mar 5 2009, 09:40
|
Участник

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

|
Цитата У цирруса есть родная утилита для загрузки флеш, в том числе Micron/Intel. Не очень удобная, прямо скажем, но должна работать. если вы имеете ввиду download.exe c нулевым и первым загрузчиком(что потом грузнут редбут во флеш), то они у меня есть, я их и использовал как "заимствованный код". там пришлось некие вещи переписать. А консольную прогу(вместо download.exe) я написал свою. протокол полностью поменял. это позволило совбодно работать через компорт на 115200(раньше вроде не тянуло в силу плохого исходного протокола, и переполнения фифо у порта проца(скорее всего)) теперь бывший первый загрузчик, у меня сильно помощнел, превращаясь в прикладную и тестовую программу. В него я теперь и добавляю всякие инициализации и прочий HAL(потому и задаю вопросы). Дело в том что плат несколько и нужна как тестовая прога(чтобы проверять их работоспособность), так и собснно прикладная прога. Работаю над этим делом я один, задача очень раскиданная по "предметныи областям", а денег почти не платят. Если б знал - не стал и браться бы  там кстати в этом пакете, софт написан чудовищно. комментов мало, регистры часто задаются прямыми адресами, драверы флешек имеют какие ошметки закомментрованных старых вариантов. и комменты если есть, с подозрительными ошибками. разные функции имеют один и тот же коммент, достигнутый копипейстом с забывчивостью править пейстнутый коммент. короче довольно позорно выкладывать такой код на сайт производителя
|
|
|
|
|
Mar 5 2009, 12:10
|
Участник

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

|
я хотел загручик записать в eeprom флешку. пока правда не сделал этого.
|
|
|
|
|
Mar 7 2009, 08:24
|
Участник

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

|
вопрос - у меня какие-то баги...есть подозрение, что это в силу возможности переупорядочивания команд arm-gcc при оптимизации. как мастера пишут в softlock регистры этого проца? можно это делать на си безопасно(то есть сделав и разлок регистра, и запись значения на си), или стоит это делать асмовой вставкой. вот не могу вспомнить(если это вообще есть), как заставить gcc локально не переупорядочивать команды.
|
|
|
|
|
Mar 7 2009, 11:35
|
Участник

Группа: Новичок
Сообщений: 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 не инициализировался. но работал!!! работал потому, что уже был инициализирован верным образом нулевым загрузчиком в виде асмового кода. такое вот очередное наблюдение за качеством кода от цирруса
|
|
|
|
|
Mar 9 2009, 09:54
|
Участник

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

|
aaarrr, - а вы какую ос ставили на этот проц? - есть ли либа типа хала для этого проца, чтобы какие-то стандартные вещи с ним делать более абстрактно? - какие тулчейны вы с ним использовали(используете)? Я пока все далаю все под winarm.
Сообщение отредактировал merk0 - Mar 9 2009, 09:56
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|