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

программируемые флаги BF561?

Делаю первый проект на BF561. Пока подключаю своё устройство к разъёму расширения платы EZ-KIT LITE. Релиз камня - 03. Несколько раз замечал непонятное поведение программируемых флагов. Пытаешься сделать битовую операцию, чтобы пошевелить каким-нибудь флагом, для управления устройством. При этом дёргаются другие флаги из этого же регистра PFIO. Правда у меня версия VisualDSP старенькая. Четвёртая. В частности заметил, что флаги не относящиеся к проводимой в данный момент битовой операции, но находящиеся в том же регистре сшибает с высокого состояния в низкое. Кто то с таким сталкивался? Поскажите, мой это косяк или как?

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


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

Поскажите, мой это косяк или как?

Нет, скорее всего, не ваш.

http://www.analog.com/static/imported-file...RevQ_110708.pdf , аномалия 05000323

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


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

Спасибо. Эту аномалию читал, но не был уверен, что на неё налетел. Когда стал бороться, перекомпиллировал проект в visualDSP 5. Запустил, и лог. анализатор другую картинку проблемного места казал.

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


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

Спасибо. Эту аномалию читал, но не был уверен, что на неё налетел. Когда стал бороться, перекомпиллировал проект в visualDSP 5.

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

Запустил, и лог. анализатор другую картинку проблемного места казал.

Вот тут, честно говоря, ничего понятно..

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


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

Я пересборкой не столько пытался аномалию победить, сколько отделить мух от котлет. Понять где кончается аномалия и начинаются косяки visualDSP. Ну и макросы соответствующие были объявлены только для vDSP 4.5 и 5.

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


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

Что-то мне припоминается что в VDSP со второго или третьего апдейта можно не использовать эти макросы, компилятор сам подсовывает то что надо. По крайне мере щас с пятым апдейтом не использую эти макросы, проблем не наблюдаю.

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


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

Что-то мне припоминается что в VDSP со второго или третьего апдейта можно не использовать эти макросы, компилятор сам подсовывает то что надо. По крайне мере щас с пятым апдейтом не использую эти макросы, проблем не наблюдаю.

Э.. А откуда информация? В последней anomaly list все еще отправляют к макросам.. (да, и со второго апдейта этого точно не могло быть - там только появились макросы :))

 

...Проблемы есть...

Извините за глупый вопрос. Вы случайно не работаете с флагами из одного регистра двумя ядрами одновременно? Если да, то не забыли про ssync?

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


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

Э.. А откуда информация? В последней anomaly list все еще отправляют к макросам.. (да, и со второго апдейта этого точно не могло быть - там только появились макросы
Да похоже я всех обманул и себя в том числе. Прочитал еще раз Release_notes на апдейты. Вот что написано в первом апдейте:
Silicon Anomaly (05-00-0311)

The previous compiler workaround for this anomaly has been deemed unsafe and removed from this release. As such the Programmable Flag service no longer relies on the compiler to workaround this anomaly. Therefore in this VisualDSP++ 5.0 release, the Programmable Flag service, in conjunction with the Interrupt Manager service, collectively workaround this anomaly in a safe fashion. All versions of the System Service Libraries for Blackfin processors that could potentially be affected by this anomaly inherently work around the anomaly. Users of the System Services do not need to take any action other than simply linking with the appropriate System Services library as usual. Users of the System Services do not need to include the file “sys/05000311.h” nor do they need to use the FIO_ANOM_0311_XXX macros (unless they are accessing the flag MMRs directly).

See below: “Noteworthy VisualDSP++ 4.5 Update Changes: 05-00-0311” section for further details.

и

In the VisualDSP++ 4.5 February 2007 Update, the Blackfin compiler, runtime, VDK and SSL libraries automatically included a new workaround for hardware anomaly 05-00-0311. The VisualDSP++ 4.5 February 2007 Update C/C++ compiler also automatically enabled this workaround when building for parts and silicon revisions that require it.

New information about anomaly 05-00-0311 reveals that it is necessary to temporarily disable interrupts during MMR accesses, which is a decision the compiler should not be making as it could be disabling interrupts for far too long or during a critical moment when the code relies on receiving one. For this reason, the implementation of the workaround was changed for the VisualDSP++ 4.5 June 2007 Update.

In the VisualDSP++ 4.5 June 2007 Update, the Blackfin compiler, runtime, VDK and SSL libraries no longer workaround hardware anomaly 05-00-0311. Instead, an include file called sys/05000311.h is supplied and contains a group of macros for reading and writing the MMRs; if the anomaly applies for the current value of the silicon revision of your target, the macro will ensure that the read or write is safe against anomaly 05-00-0311.

На сколько я понял, из всего этого нужно сделать следующий вывод. В VDSP 4.5 с апдейтом от февраля 2007 года были предприняты меры для обхода этого бага компилятором, без применения макросов. В апдейте от июня 2007 года эту возможность компилятора убрали, потому-что она оказалась некорректна. И в этом же апдейт добавили хидер 05000311.h.

А в первом апдейте для VDSP 5.0 отпала необходимость инклудить этот самый хидер, но макросы по-прежнему нужно использовать! Больше никакой информации по флагам в "VisualDSP++_5.0_Update_5_Release_Notes.pdf" нету.

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


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

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

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

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

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

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

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

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

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

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