From b35b87ea14016760786319a23b87792f1e1041de Mon Sep 17 00:00:00 2001 From: Paul Selkirk Date: Thu, 14 Dec 2017 15:37:14 -0500 Subject: Revert a clean up 'fix' which actually broke FPGA upload. --- projects/hsm/mgmt-fpga.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'projects/hsm') diff --git a/projects/hsm/mgmt-fpga.c b/projects/hsm/mgmt-fpga.c index b535b1d..af7ba11 100644 --- a/projects/hsm/mgmt-fpga.c +++ b/projects/hsm/mgmt-fpga.c @@ -64,8 +64,13 @@ static HAL_StatusTypeDef _flash_write_callback(uint8_t *buf, size_t len) if ((res = fpgacfg_erase_sector(dfu_offset / FPGACFG_SECTOR_SIZE)) != CMSIS_HAL_OK) return res; - res = fpgacfg_write_data(dfu_offset, buf, len); - dfu_offset += len; + /* fpgacfg_write_data (a thin wrapper around n25q128_write_data) + * requires the offset and length to be page-aligned. The last chunk + * will be short, so we pad it out to the full chunk size. + */ + len = len; + res = fpgacfg_write_data(dfu_offset, buf, BITSTREAM_UPLOAD_CHUNK_SIZE); + dfu_offset += BITSTREAM_UPLOAD_CHUNK_SIZE; return res; } -- cgit v1.2.3