mirror of https://github.com/wolfSSL/wolfBoot.git
Support for building libwolfboot.a. Library target used to just build a test-lib, but that's not very portable. Added test cases.
parent
b86d7fc308
commit
adc003351b
|
@ -11,7 +11,7 @@ jobs:
|
|||
runs-on: ubuntu-24.04
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: true
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@ jobs:
|
|||
fsp_qemu_test:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: true
|
||||
- name: install req
|
||||
|
|
|
@ -106,6 +106,13 @@ jobs:
|
|||
config-file: ./config/examples/kinetis-k82f.config
|
||||
|
||||
library_test:
|
||||
uses: ./.github/workflows/test-build.yml
|
||||
with:
|
||||
arch: host
|
||||
config-file: ./config/examples/library.config
|
||||
make-args: test-lib
|
||||
|
||||
libwolfboot_test:
|
||||
uses: ./.github/workflows/test-build.yml
|
||||
with:
|
||||
arch: host
|
||||
|
|
|
@ -11,7 +11,7 @@ jobs:
|
|||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: false
|
||||
|
||||
|
|
|
@ -0,0 +1,38 @@
|
|||
name: wolfBoot as Library test
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ 'master', 'main', 'release/**' ]
|
||||
pull_request:
|
||||
branches: [ '*' ]
|
||||
|
||||
jobs:
|
||||
test-lib:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: true
|
||||
|
||||
- name: make clean
|
||||
run: |
|
||||
make keysclean && make -C tools/keytools clean && rm -f include/target.h
|
||||
|
||||
- name: Build test-lib
|
||||
run: |
|
||||
cp config/examples/library.config .config
|
||||
make keytools
|
||||
./tools/keytools/keygen --ed25519 -g wolfboot_signing_private_key.der
|
||||
echo "Test" > test.bin
|
||||
./tools/keytools/sign --ed25519 --sha256 test.bin wolfboot_signing_private_key.der 1
|
||||
make test-lib
|
||||
|
||||
- name: Run test-lib
|
||||
run: |
|
||||
./test-lib test_v1_signed.bin 2>&1 | grep "Firmware Valid"
|
||||
|
||||
- name: Run test-lib (expect failure)
|
||||
run: |
|
||||
echo "A" >> test_v1_signed.bin
|
||||
./test-lib test_v1_signed.bin 2>&1 | grep "Failure"
|
|
@ -11,7 +11,7 @@ jobs:
|
|||
runs-on: ubuntu-22.04
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: true
|
||||
|
||||
|
|
|
@ -11,7 +11,7 @@ jobs:
|
|||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: true
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@ jobs:
|
|||
fsp_qemu_test:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: true
|
||||
- name: install req
|
||||
|
|
8
Makefile
8
Makefile
|
@ -126,7 +126,7 @@ endif
|
|||
|
||||
ifeq ($(TARGET),library)
|
||||
CFLAGS+=-g
|
||||
MAIN_TARGET:=test-lib
|
||||
MAIN_TARGET:=libwolfboot.a
|
||||
endif
|
||||
|
||||
ifeq ($(TARGET),raspi3)
|
||||
|
@ -174,6 +174,9 @@ stage1/loader_stage1.bin: FORCE
|
|||
test-lib: include/target.h $(OBJS)
|
||||
$(Q)$(CC) $(CFLAGS) -o $@ $(OBJS)
|
||||
|
||||
libwolfboot.a: $(OBJS)
|
||||
$(Q)$(AR) rcs $@ $(OBJS)
|
||||
|
||||
wolfboot.efi: wolfboot.elf
|
||||
@echo "\t[BIN] $@"
|
||||
$(Q)$(OBJCOPY) -j .rodata -j .text -j .sdata -j .data \
|
||||
|
@ -193,7 +196,6 @@ wolfboot.bin: wolfboot.elf
|
|||
$(Q)$(SIZE) wolfboot.elf
|
||||
@echo
|
||||
|
||||
|
||||
test-app/image.bin: wolfboot.elf
|
||||
$(Q)$(MAKE) -C test-app WOLFBOOT_ROOT="$(WOLFBOOT_ROOT)"
|
||||
$(Q)$(SIZE) test-app/image.elf
|
||||
|
@ -454,7 +456,7 @@ secondary: $(SECONDARY_PRIVATE_KEY)
|
|||
|
||||
src/x86/fsp_s.o: $(FSP_S_BIN)
|
||||
$(OBJCOPY) -I binary -O elf64-x86-64 -B i386 --rename-section .data=.fsp_s $^ $@
|
||||
|
||||
|
||||
pico-sdk-info: FORCE
|
||||
@echo "To complete the build, check IDE/pico-sdk/rp2350"
|
||||
|
||||
|
|
3
arch.mk
3
arch.mk
|
@ -410,6 +410,7 @@ ifeq ($(ARCH),RENESAS_RX)
|
|||
# Must use LD directly (gcc link calls LD with sysroot and is not supported)
|
||||
LD=$(CROSS_COMPILE)ld
|
||||
AS=$(CROSS_COMPILE)gcc
|
||||
AR=$(CROSS_COMPILE)ar
|
||||
OBJCOPY?=$(CROSS_COMPILE)objcopy
|
||||
SIZE=$(CROSS_COMPILE)size
|
||||
|
||||
|
@ -872,6 +873,7 @@ ifeq ($(TARGET),ti_hercules)
|
|||
CC=$(CROSS_COMPILE)armcl
|
||||
LD=$(CROSS_COMPILE)armcl
|
||||
AS=$(CROSS_COMPILE)armasm
|
||||
AR=$(CROSS_COMPILE)armcl -ar
|
||||
OBJCOPY=$(CROSS_COMPILE)armobjcopy
|
||||
SIZE=$(CROSS_COMPILE)armsize
|
||||
OUTPUT_FLAG=--output_file
|
||||
|
@ -972,6 +974,7 @@ ifeq ($(USE_GCC),1)
|
|||
CC=$(CROSS_COMPILE)gcc
|
||||
LD=$(CROSS_COMPILE)gcc
|
||||
AS=$(CROSS_COMPILE)gcc
|
||||
AR=$(CROSS_COMPILE)ar
|
||||
OBJCOPY?=$(CROSS_COMPILE)objcopy
|
||||
SIZE=$(CROSS_COMPILE)size
|
||||
endif
|
||||
|
|
|
@ -81,13 +81,14 @@ void hal_led_on(void)
|
|||
PORT_PODR(4) &= ~(1 << 0); /* low */
|
||||
#endif
|
||||
}
|
||||
|
||||
void hal_led_off(void)
|
||||
{
|
||||
#ifdef TARGET_rx65n
|
||||
#if defined(TARGET_rx65n)
|
||||
/* RX65N RSK+ LED0 P73 */
|
||||
PORT_PDR(7) |= (1 << 3); /* output */
|
||||
PORT_PODR(7) |= (1 << 3); /* high */
|
||||
#else
|
||||
#elif defined(TARGET_rx72n)
|
||||
/* RX72N Envision USR LED P40 */
|
||||
PORT_PDR(4) |= (1 << 0); /* output */
|
||||
PORT_PODR(4) |= (1 << 0); /* high */
|
||||
|
@ -620,6 +621,7 @@ void RAMFUNCTION hal_flash_lock(void)
|
|||
return;
|
||||
}
|
||||
|
||||
#ifndef TARGET_library
|
||||
void* hal_get_primary_address(void)
|
||||
{
|
||||
return (void*)WOLFBOOT_PARTITION_BOOT_ADDRESS;
|
||||
|
@ -629,3 +631,4 @@ void* hal_get_update_address(void)
|
|||
{
|
||||
return (void*)WOLFBOOT_PARTITION_UPDATE_ADDRESS;
|
||||
}
|
||||
#endif
|
||||
|
|
Loading…
Reference in New Issue