LAS9891 0 14 марта, 2017 Опубликовано 14 марта, 2017 · Жалоба Имеется проект с NIOSII и SDRAM. Вопрос в следующем. Хочу создать массив данных (unsigned char array [10][10] например) и разместить его в памяти SDRAM по заранее определенному адресу: array[0][0] в ячейке с адресом 0x100, array[0][1] в ячейке с адресом 0x101 и т.д. Как это сделать в Eclipse? Через BSP Editor...->Linker Script? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Vit1248 0 14 марта, 2017 Опубликовано 14 марта, 2017 · Жалоба По идее нужно SDRAM прописать в QSYS, он же выдаст для eclipse абсолютный адрес ее местоположения. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
LAS9891 0 14 марта, 2017 Опубликовано 14 марта, 2017 · Жалоба По идее нужно SDRAM прописать в QSYS, он же выдаст для eclipse абсолютный адрес ее местоположения. Так и сделано. Я знаю абсолютный адрес ее местоположения. Как сделать так чтобы первый элемент массива находился в определенной ячейке? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alexadmin 0 14 марта, 2017 Опубликовано 14 марта, 2017 · Жалоба Так и сделано. Я знаю абсолютный адрес ее местоположения. Как сделать так чтобы первый элемент массива находился в определенной ячейке? По идее это должно как-то прагмами в самом C коде настраиваться. Причем вряд ли напрямую. Скорее нужно создать дополнительный сегмент, положить его по нужному адресу, потом положить переменную в данный сегмент. Как это точно делается - черт его знает. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sonycman 0 14 марта, 2017 Опубликовано 14 марта, 2017 · Жалоба Посмотрите в доках к GCC компилятору как расположить данные по абсолютному адресу. Вот, к примеру: How to place a variable at a given absolute address in memory (with GCC) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VBKesha 0 17 марта, 2017 Опубликовано 17 марта, 2017 · Жалоба В линкере расписать так чтобы нужная уобласть не попадала не в одну секцию. После этого объявить указатель на эту область. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
LAS9891 0 17 марта, 2017 Опубликовано 17 марта, 2017 · Жалоба В линкере расписать так чтобы нужная уобласть не попадала не в одну секцию. После этого объявить указатель на эту область. Нужная область должна попасть в SDRAM но при это не попадала не в одну секцию? это как? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Golikov 0 17 марта, 2017 Опубликовано 17 марта, 2017 · Жалоба Правильнее было бы написать чтобы никакая другая секция не попала в нужную область. надо просто чтобы в эту память не попала никакая другая секция. А дальше можно работать с ней через указатель. Или сделать доп секцию, разместить ее в этой памяти, а в коде прагмами переменные класть в эту особую секцию Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
lexx 0 21 марта, 2017 Опубликовано 21 марта, 2017 · Жалоба Если место нужно для обмена информацией между разными процессами/железом, то необходимо подтверждение записи данных в RAM. По шине они могут идти неопределенное время. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться