well, let's try not to use fs calls but to load this important data into some offset in the bin file.
well, let's try not to use fs calls but to load this important data into some offset in the bin file.
so have you tried at least compiling it into a bin and running?
//---------------------------------------------------------------------------------
void readFirmware(u32 address, void *buffer, u32 length) {
//---------------------------------------------------------------------------------
FifoMessage msg;
msg.type = FW_READ;
msg.fwParams.address = address;
msg.fwParams.buffer = buffer;
msg.fwParams.length = length;
fifoSendDatamsg(FIFO_FIRMWARE, sizeof(msg), (u8*)&msg);
while(!fifoCheckValue32(FIFO_FIRMWARE));
fifoGetValue32(FIFO_FIRMWARE);
DC_InvalidateRange(buffer,length);
}
//---------------------------------------------------------------------------------
int writeFirmware(u32 address, void *buffer, u32 length) {
//---------------------------------------------------------------------------------
if ( ((address & 0xff) != 0) || ((length & 0xff) != 0)) return -1;
DC_FlushRange(buffer,length);
FifoMessage msg;
msg.type = FW_WRITE;
msg.fwParams.address = address;
msg.fwParams.buffer = buffer;
msg.fwParams.length = length;
fifoSendDatamsg(FIFO_FIRMWARE, sizeof(msg), (u8*)&msg);
while(!fifoCheckValue32(FIFO_FIRMWARE));
return (int)fifoGetValue32(FIFO_FIRMWARE);
}