Fixed issue with hal/library.c around NO_FILESYSTEM.

pull/569/head
David Garske 2025-04-21 14:11:23 -07:00 committed by Daniele Lacamera
parent a24a52fa65
commit f7d1e24345
2 changed files with 19 additions and 7 deletions

View File

@ -7,7 +7,8 @@ SIGN?=ED25519
HASH?=SHA256 HASH?=SHA256
IMAGE_HEADER_SIZE?=256 IMAGE_HEADER_SIZE?=256
DEBUG=0 DEBUG=0
SPMATH=0 SPMATH?=0
SPMATHALL?=0
WOLFBOOT_NO_PARTITIONS=1 WOLFBOOT_NO_PARTITIONS=1
# Required to build keytools # Required to build keytools

View File

@ -41,6 +41,11 @@
#include "image.h" #include "image.h"
#include "printf.h" #include "printf.h"
/* force off NO_FILESYSTEM coming from include/user_settings.h */
#ifdef PRINTF_ENABLED
#undef NO_FILESYSTEM
#endif
/* HAL Stubs */ /* HAL Stubs */
void hal_init(void) void hal_init(void)
{ {
@ -152,8 +157,12 @@ int main(int argc, const char* argv[])
gImage = (uintptr_t)test_img; gImage = (uintptr_t)test_img;
#else #else
if (argc > 1) { if (argc > 1) {
size_t sz = 0; size_t sz = 0, bread;
FILE* img = fopen(argv[1], "rb"); FILE* img = fopen(argv[1], "rb");
if (img == NULL) {
wolfBoot_printf("failed to open %s!\n", argv[1]);
return -3;
}
fseek(img, 0, SEEK_END); fseek(img, 0, SEEK_END);
sz = ftell(img); sz = ftell(img);
fseek(img, 0, SEEK_SET); fseek(img, 0, SEEK_SET);
@ -164,7 +173,7 @@ int main(int argc, const char* argv[])
ret = -1; ret = -1;
} }
size_t bread = fread((void*)gImage, 1, sz, img); bread = fread((void*)gImage, 1, sz, img);
if (bread != sz) { if (bread != sz) {
ret = -2; ret = -2;
wolfBoot_printf("read %zu of %zu bytes from %s\n", bread, sz, argv[1]); wolfBoot_printf("read %zu of %zu bytes from %s\n", bread, sz, argv[1]);
@ -172,14 +181,16 @@ int main(int argc, const char* argv[])
fclose(img); fclose(img);
} else { } else {
wolfBoot_printf("usage: %s image_file.bin\n", argv[0]); wolfBoot_printf("usage: %s image_file.bin\n", argv[0]);
return 255; ret = 255;
} }
#endif #endif
if (ret == 0) {
ret = wolfBoot_start(); ret = wolfBoot_start();
}
#ifndef NO_FILESYSTEM #ifndef NO_FILESYSTEM
free((void*)gImage); if ((void*)gImage != NULL)
free((void*)gImage);
#endif #endif
return ret; return ret;
} }