mirror of
https://github.com/openhwgroup/cvw
synced 2025-01-23 21:14:37 +00:00
56 lines
1.7 KiB
C
56 lines
1.7 KiB
C
#include <stddef.h>
|
|
#include "boot.h"
|
|
#include "gpt.h"
|
|
|
|
/* int disk_read(BYTE * buf, LBA_t sector, UINT count, BYTE card_type) { */
|
|
|
|
/* /\* This is not needed. This has everything to do with the FAT */
|
|
/* filesystem stuff that I'm not including. All I need to do is */
|
|
/* initialize the SD card and read from it. Anything in here that is */
|
|
/* checking for potential errors, I'm going to have to temporarily */
|
|
/* do without. */
|
|
/* *\/ */
|
|
/* // if (!count) return RES_PARERR; */
|
|
/* /\* if (drv_status & STA_NOINIT) return RES_NOTRDY; *\/ */
|
|
|
|
/* uint32_t response[4]; */
|
|
/* struct sdc_regs * regs = (struct sdc_regs *)SDC; */
|
|
|
|
/* /\* Convert LBA to byte address if needed *\/ */
|
|
/* if (!(card_type & CT_BLOCK)) sector *= 512; */
|
|
/* while (count > 0) { */
|
|
/* UINT bcnt = count > MAX_BLOCK_CNT ? MAX_BLOCK_CNT : count; */
|
|
/* unsigned bytes = bcnt * 512; */
|
|
/* if (send_data_cmd(bcnt == 1 ? CMD17 : CMD18, sector, buf, bcnt, response) < 0) return 1; */
|
|
/* if (bcnt > 1 && send_cmd(CMD12, 0, response) < 0) return 1; */
|
|
/* sector += (card_type & CT_BLOCK) ? bcnt : bytes; */
|
|
/* count -= bcnt; */
|
|
/* buf += bytes; */
|
|
/* } */
|
|
|
|
/* return 0;; */
|
|
/* } */
|
|
|
|
int disk_read(BYTE * buf, LBA_t sector, UINT count) {
|
|
|
|
}
|
|
|
|
// copyFlash: --------------------------------------------------------
|
|
// A lot happens in this function:
|
|
// * The Wally banner is printed
|
|
// * The peripherals are initialized
|
|
void copyFlash(QWORD address, QWORD * Dst, DWORD numBlocks) {
|
|
int ret = 0;
|
|
|
|
// Initialize UART for messages
|
|
init_uart();
|
|
|
|
// Print the wally banner
|
|
print_uart(BANNER);
|
|
|
|
|
|
init_sd();
|
|
|
|
ret = gpt_load_partitions(card_type);
|
|
}
|