muxeu 0 9 июня, 2011 Опубликовано 9 июня, 2011 · Жалоба День добрый всем. Расскажите новичку о приёмах сопряжения внешней памяти и процессоров семейства C2000. В теории вроде всё понятно, но не знаю с чего начать на практике. На сайте ti.com почему-то нет никаких материалов по данной тематике, ни примеров, ни описния, ни типовых схем подключения. Просто есть упоминание что можно подключить внешнюю память и всё. Если есть пример рабочего куска кода, поделитесь пожалуйста. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
evg123 0 10 июня, 2011 Опубликовано 10 июня, 2011 · Жалоба День добрый всем. Расскажите новичку о приёмах сопряжения внешней памяти и процессоров семейства C2000. В теории вроде всё понятно, но не знаю с чего начать на практике. На сайте ti.com почему-то нет никаких материалов по данной тематике, ни примеров, ни описния, ни типовых схем подключения. Просто есть упоминание что можно подключить внешнюю память и всё. Если есть пример рабочего куска кода, поделитесь пожалуйста. Скачиваете отсюда схематику и в путь. http://c2000.spectrumdigital.com/ezf28335/ Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
muxeu 0 14 июня, 2011 Опубликовано 14 июня, 2011 · Жалоба Спасибо!!!))) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Enthusiast 0 14 июня, 2011 Опубликовано 14 июня, 2011 (изменено) · Жалоба muxeu, тебе в помощь я привожу пример функции, вычитывающей данные с микросхемы флэш-памяти, подключенной по параллельной шине к микроконтроллеру TMS320F28335. Запись на параллельную шину происходит сходным образом. Адреса памяти, выходящие на внешнюю параллельную шину, указаны в карте памяти на микроконтроллер, они идут подряд, начиная с какого-то адреса, сейчас уже не помню с какого точно. Успехов! void ReadFromFlash(const unsigned int *Address, int *ReadData) { volatile unsigned int FlashStatusReg; /* Read the status register */ *((volatile unsigned int *)(*Address)) = (unsigned int)0x70; FlashStatusReg = *((volatile unsigned int *)(*Address)); /* Clear the status register */ *((volatile unsigned int *)(*Address)) = (unsigned int)0x50; *ReadData = *((volatile int *)(*Address)); } Изменено 14 июня, 2011 пользователем Enthusiast Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться