GVV64 0 13 декабря, 2008 Опубликовано 13 декабря, 2008 · Жалоба Делаю первый проект на BF561. Пока подключаю своё устройство к разъёму расширения платы EZ-KIT LITE. Релиз камня - 03. Несколько раз замечал непонятное поведение программируемых флагов. Пытаешься сделать битовую операцию, чтобы пошевелить каким-нибудь флагом, для управления устройством. При этом дёргаются другие флаги из этого же регистра PFIO. Правда у меня версия VisualDSP старенькая. Четвёртая. В частности заметил, что флаги не относящиеся к проводимой в данный момент битовой операции, но находящиеся в том же регистре сшибает с высокого состояния в низкое. Кто то с таким сталкивался? Поскажите, мой это косяк или как? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vik0 0 13 декабря, 2008 Опубликовано 13 декабря, 2008 · Жалоба Поскажите, мой это косяк или как? Нет, скорее всего, не ваш. http://www.analog.com/static/imported-file...RevQ_110708.pdf , аномалия 05000323 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GVV64 0 15 декабря, 2008 Опубликовано 15 декабря, 2008 · Жалоба Спасибо. Эту аномалию читал, но не был уверен, что на неё налетел. Когда стал бороться, перекомпиллировал проект в visualDSP 5. Запустил, и лог. анализатор другую картинку проблемного места казал. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vik0 0 16 декабря, 2008 Опубликовано 16 декабря, 2008 · Жалоба Спасибо. Эту аномалию читал, но не был уверен, что на неё налетел. Когда стал бороться, перекомпиллировал проект в visualDSP 5. Если мне не изменяет память, просто пересборки недостаточно, необходимо использовать соответсвующие макросы. Запустил, и лог. анализатор другую картинку проблемного места казал. Вот тут, честно говоря, ничего понятно.. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GVV64 0 18 декабря, 2008 Опубликовано 18 декабря, 2008 · Жалоба Я пересборкой не столько пытался аномалию победить, сколько отделить мух от котлет. Понять где кончается аномалия и начинаются косяки visualDSP. Ну и макросы соответствующие были объявлены только для vDSP 4.5 и 5. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
uriy 5 19 декабря, 2008 Опубликовано 19 декабря, 2008 · Жалоба Что-то мне припоминается что в VDSP со второго или третьего апдейта можно не использовать эти макросы, компилятор сам подсовывает то что надо. По крайне мере щас с пятым апдейтом не использую эти макросы, проблем не наблюдаю. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GVV64 0 21 декабря, 2008 Опубликовано 21 декабря, 2008 · Жалоба У меня третий апдейт. Проблемы есть. Буду пробовать пятый. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vik0 0 24 декабря, 2008 Опубликовано 24 декабря, 2008 · Жалоба Что-то мне припоминается что в VDSP со второго или третьего апдейта можно не использовать эти макросы, компилятор сам подсовывает то что надо. По крайне мере щас с пятым апдейтом не использую эти макросы, проблем не наблюдаю. Э.. А откуда информация? В последней anomaly list все еще отправляют к макросам.. (да, и со второго апдейта этого точно не могло быть - там только появились макросы :)) ...Проблемы есть... Извините за глупый вопрос. Вы случайно не работаете с флагами из одного регистра двумя ядрами одновременно? Если да, то не забыли про ssync? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
uriy 5 25 декабря, 2008 Опубликовано 25 декабря, 2008 · Жалоба Э.. А откуда информация? В последней 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" нету. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться