diff options
author | Paul Selkirk <paul@psgd.org> | 2017-12-14 15:37:14 -0500 |
---|---|---|
committer | Paul Selkirk <paul@psgd.org> | 2017-12-14 15:37:14 -0500 |
commit | b35b87ea14016760786319a23b87792f1e1041de (patch) | |
tree | be8030ae1d0fb995e09503c818526ba8f805d6a5 /projects/cli-test | |
parent | 03b14b4cd4a214a92e3968ff33a13c2086896864 (diff) |
Revert a clean up 'fix' which actually broke FPGA upload.
Diffstat (limited to 'projects/cli-test')
-rw-r--r-- | projects/cli-test/mgmt-fpga.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/projects/cli-test/mgmt-fpga.c b/projects/cli-test/mgmt-fpga.c index a307436..b913316 100644 --- a/projects/cli-test/mgmt-fpga.c +++ b/projects/cli-test/mgmt-fpga.c @@ -3,7 +3,7 @@ * ----------- * CLI code to manage the FPGA configuration etc. * - * Copyright (c) 2016, NORDUnet A/S All rights reserved. + * Copyright (c) 2016-2017, NORDUnet A/S All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are @@ -56,8 +56,13 @@ static HAL_StatusTypeDef _flash_write_callback(uint8_t *buf, size_t len) if ((res = fpgacfg_erase_sector(dfu_offset / FPGACFG_SECTOR_SIZE)) != 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; } |