Цитата
если правильно понял проблему...
Спасибо за содействие, процессор не мой, а Nios. По 1- есть аналог "tightly coupled memory", но мне не подходит. По 2 - не понял. По 3 - тоже не подходит, в общем случае dma пишет в любое время. Ждать не представляется возможным.
Цитата( @ Mar 10 2012, 06:29)

если я правильно помню, эту область ОЗУ надо объявить некэшируемой.
А как? Использовать alt_remap_uncached? Если я правильно понял, что делает эта функция :
Код
//'alt_remap_uncached.с'
volatile void* alt_remap_uncached (void* ptr, alt_u32 len)
{
alt_dcache_flush (ptr, len);
return (volatile void*) (((alt_u32) ptr) | BYPASS_DCACHE_MASK);
}
Она возвращает указатель на область некэшируемой памяти, тупо добавив 1-цу в 31-й бит адреса. Но у меня портить память обращение к переменным НЕ принадлежащим к целевому буферу, а соседним. Какие это будут соседи - одному линкеру известно. Или Вы подразумевали что-то другое?