Цитата
Чип 5CEBA4F17C8, Q12.1
Что Вы имеете ввиду под словом драйвер? EPCS serial flash controller в QSYS?
И в ниосе изменился выбор ресет вектора,как его теперь выбирать?
Я под 12-м не пробовал, когда запускал это, делал на 13.1 (но в принципе должно быть тоже самое).
ресет вектор оставить как было (у меня был на on-chip ram)
когда вы добавляете epcs/epcq контроллер после регенерации bsp в eclipse в spl должна появиться папочка с либой дравера для общения с флешкой, подключаемая
Код
#include "epcs_commands.h"
в ней вас должны заинтересовать функции
Код
epcs_write_enable
epcs_sector_erase
epcs_read_device_id
epcs_read_buffer
epcs_write_buffer
вот например
Код
unsigned int epcq256_write (unsigned int offset, alt_u8 *data, int length) {
#ifdef EPCQ_SUPPORT
// specify offset
alt_u8 rddata [EPCQ256_PAGE_SIZE];
// enable write operations
epcs_write_enable(EPCQ256_BASE);
// write buffer to specified offset
epcs_write_buffer(EPCQ256_BASE, offset, data, length, EPCQ256_FOUR_BYTES_MODE);
// read recently written data
epcs_read_buffer(EPCQ256_BASE, offset, rddata, length, EPCQ256_FOUR_BYTES_MODE);
// compare written and read data
if (memcmp(data, rddata, length)) {
// if some inequality exists, return 0
return 0;
}
return offset + EPCQ256_PAGE_SIZE;
#else
return 0;
#endif
}
я сейчас по кусочкам вспоминаю, там мб ещё какие-то подводные камни были, в рабочем проекте я это всё практически выкорчевал, т.к. перешёл на NAND+ARM, но потом мб ещё придётся к этому вернуться..
ну и когда добавляете в qsys epcs/epcq контроллер, там есть галочка, что он сам ножки разводит (на зарезервированные под флешку), тогда у контроллера порт external не появляется. Я вроде бы так и оставил.
Сообщение отредактировал serjj - Aug 5 2015, 07:00