Не получается выделить память.
Пишу такое :
MEDSdram_Initialize(&(medias[numMedias]),0x00203000,0x0FFF);
LUN_Init(&(luns[numMedias]), &(medias[numMedias]), buffer, 0, 0x0FFF, BLOCK_SIZE);
numMedias++;
где void MEDSdram_Initialize(Media *media,
unsigned int baseAddress,
unsigned int size)
{
trace_LOG(trace_INFO, "I: Sdram init\n\r");
// Initialize media fields
media->write = MEDSdram_Write;
media->read = MEDSdram_Read;
media->handler = 0;
media->flush = 0;
media->baseAddress = baseAddress;
media->size = size;
media->state = MED_STATE_READY;
media->transfer.data = 0;
media->transfer.address = 0;
media->transfer.length = 0;
media->transfer.callback = 0;
media->transfer.argument = 0;
}
void LUN_Init(MSDLun *lun,
Media *media,
unsigned char *buffer,
unsigned int baseAddress,
unsigned int size,
unsigned int blockSize)
{
unsigned int logicalBlockAddress = (size / blockSize) - 1;
trace_LOG(trace_INFO, "I: LUN init\n\r");
// Initialize LUN
lun->media = media;
lun->baseAddress = baseAddress;
lun->size = size;
lun->blockSize = blockSize;
lun->readWriteBuffer = buffer;
// Initialize request sense data
lun->requestSenseData.bResponseCode = SBC_SENSE_DATA_FIXED_CURRENT;
lun->requestSenseData.isValid = 1;
lun->requestSenseData.bObsolete1 = 0;
lun->requestSenseData.bSenseKey = SBC_SENSE_KEY_NO_SENSE;
lun->requestSenseData.bReserved1 = 0;
lun->requestSenseData.isILI = 0;
lun->requestSenseData.isEOM = 0;
lun->requestSenseData.isFilemark = 0;
lun->requestSenseData.pInformation[0] = 0;
lun->requestSenseData.pInformation[1] = 0;
lun->requestSenseData.pInformation[2] = 0;
lun->requestSenseData.pInformation[3] = 0;
lun->requestSenseData.bAdditionalSenseLength
= sizeof(SBCRequestSenseData) - 8;
lun->requestSenseData.bAdditionalSenseCode = 0;
lun->requestSenseData.bAdditionalSenseCodeQualifier = 0;
lun->requestSenseData.bFieldReplaceableUnitCode = 0;
lun->requestSenseData.bSenseKeySpecific = 0;
lun->requestSenseData.pSenseKeySpecific[0] = 0;
lun->requestSenseData.pSenseKeySpecific[0] = 0;
lun->requestSenseData.isSKSV = 0;
// Initialize inquiry data
lun->inquiryData = &inquiryData;
// Initialize read capacity data
STORE_DWORDB(logicalBlockAddress,
lun->readCapacityData.pLogicalBlockAddress);
STORE_DWORDB(blockSize, lun->readCapacityData.pLogicalBlockLength);
}
По идеи после этого у меня в устройстве должно появится 4095 байт места, которое я выдрал с РАМ
Но этого нету.
Подскажите пожалуйста где не правильно
Цитата(uriy @ Sep 9 2008, 19:21)

Тогда зачем было писать в названии ветки что в SAM7S64 не работает USB раз вы не определили точно в чем проблема в железе или в софте? Кстати через какой интерфейс вы прошивали контроллер? На 99,9% уверен что через USB с помощью SAM-BA. Это еще раз подтверждает что USB работает. Где-то у меня была реализация Mass Storage. Там в примере уже был текстовый файл на диске. Размер диска 16 Кбайт кажется был. Если найду выложу.
Выложи пожалуйста.
С названием ветки протупил

, но ее уже вроде нельзя изменить.
Прошиваю через usb с помощью ИАР, или через SEGGER J-FLASH.
Отлаживаю Jet link 5