2 коммитов

Автор SHA1 Сообщение Дата
  Henry Case e4a57ac77b WIP 1 год назад
  Henry Case ef833b8b37 Create STM32disco platform 1 год назад
8 измененных файлов: 48 добавлений и 38 удалений
  1. +11
    -37
      CMakeLists.txt
  2. +1
    -0
      platform/hal.h
  3. +33
    -0
      platform/stm32disco/CMakeLists.txt
  4. +0
    -0
      platform/stm32disco/hal.c
  5. +0
    -0
      platform/stm32disco/randombytes.c
  6. +0
    -0
      platform/stm32disco/stm32f405x6.ld
  7. +2
    -0
      platform/stm32disco/toolchain.cmake
  8. +1
    -1
      test/test.c

+ 11
- 37
CMakeLists.txt Просмотреть файл

@@ -13,12 +13,13 @@ string(APPEND CMAKE_C_FLAGS "-Os ")
string(APPEND CMAKE_C_FLAGS "-Wno-ignored-qualifiers ")
string(APPEND CMAKE_C_FLAGS "-Wall ")
string(APPEND CMAKE_C_FLAGS "-Werror ")
string(APPEND CMAKE_C_FLAGS "-Wextra ")
string(APPEND CMAKE_C_FLAGS "-Wpedantic ")
#string(APPEND CMAKE_C_FLAGS "-Wextra ")
#string(APPEND CMAKE_C_FLAGS "-Wpedantic ")
string(APPEND CMAKE_C_FLAGS "-Wshadow ")
string(APPEND CMAKE_C_FLAGS "-Wno-variadic-macros ")
string(APPEND CMAKE_C_FLAGS "-Wno-undef ")
string(APPEND CMAKE_C_FLAGS "-Wunused-result ")
string(APPEND CMAKE_C_FLAGS "-Wno-unused ")
#string(APPEND CMAKE_C_FLAGS "-Wunused-result ")
string(APPEND CMAKE_C_FLAGS "-Wmissing-prototypes ")
string(APPEND CMAKE_C_FLAGS "-Wvla ")
string(APPEND CMAKE_C_FLAGS "-Wredundant-decls ")
@@ -30,8 +31,6 @@ set(uEXAMPLE_SRC
${PROJECT_SOURCE_DIR}/src/common/keccakf1600.S
${PROJECT_SOURCE_DIR}/src/common/crypto_hashblocks_sha512_inner32.s
${PROJECT_SOURCE_DIR}/src/common/crypto_hashblocks_sha512.c
${PROJECT_SOURCE_DIR}/src/common/randombytes.c
${PROJECT_SOURCE_DIR}/src/common/hal-stm32f4.c
${PROJECT_SOURCE_DIR}/src/saber/cbd.c
${PROJECT_SOURCE_DIR}/src/saber/kem.c
${PROJECT_SOURCE_DIR}/src/saber/mul.S
@@ -45,40 +44,15 @@ set(uEXAMPLE_SRC
${PROJECT_SOURCE_DIR}/src/saber/verify.c)

add_library(
uexample_obj OBJECT
example STATIC
${uEXAMPLE_SRC})
target_include_directories(
uexample_obj PRIVATE
${PROJECT_SOURCE_DIR}/3rd/libopencm3/include
${PROJECT_SOURCE_DIR}/src/common
${PROJECT_SOURCE_DIR}/src/sabre)

add_executable(
uexample_test
${uEXAMPLE_SRC}
${PROJECT_SOURCE_DIR}/src/test.c
)

target_include_directories(
uexample_test PRIVATE
${PROJECT_SOURCE_DIR}/3rd/libopencm3/include
example PRIVATE
#${PROJECT_SOURCE_DIR}/3rd/libopencm3/include
${PROJECT_SOURCE_DIR}/src/common
${PROJECT_SOURCE_DIR}/src/saber)

target_link_libraries(
uexample_test PRIVATE
--static -Wl,--start-group -lc -lgcc -lnosys -Wl,--end-group
-T${PROJECT_SOURCE_DIR}/src/stm32f405x6.ld
-nostartfiles -Wl,--gc-sections
-L${PROJECT_SOURCE_DIR}/3rd/libopencm3/lib -lm -lopencm3_stm32f4
)

add_custom_command(
TARGET uexample_test POST_BUILD
COMMAND ${OBJCOPY} -Obinary uexample_test uexample_test.bin
COMMENT "Invoking: objcopy")
${PROJECT_SOURCE_DIR}/src/sabre)

add_custom_target(
flash
COMMAND st-flash write uexample_test.bin 0x8000000
COMMENT "Flashing device")
if(PLATFORM STREQUAL "stm32disco")
add_subdirectory(${PROJECT_SOURCE_DIR}/platform/stm32disco)
endif()

src/common/hal.h → platform/hal.h Просмотреть файл

@@ -1,4 +1,5 @@
#include <stdint.h>
#define UNUSED(x) (void)(x)

#ifndef HAL_H
#define HAL_H

+ 33
- 0
platform/stm32disco/CMakeLists.txt Просмотреть файл

@@ -0,0 +1,33 @@
add_executable(
uexample_test
${PROJECT_SOURCE_DIR}/test/test.c
${PROJECT_SOURCE_DIR}/platform/${PLATFORM}/hal.c
${PROJECT_SOURCE_DIR}/platform/${PLATFORM}/randombytes.c
)

target_include_directories(
uexample_test PRIVATE
#${PROJECT_SOURCE_DIR}/3rd/libopencm3/include
${PROJECT_SOURCE_DIR}/src/common
${PROJECT_SOURCE_DIR}/src/saber
${PROJECT_SOURCE_DIR}/platform
${PROJECT_SOURCE_DIR}/platform/${PLATFORM}
${PROJECT_SOURCE_DIR}/${PLATFORM_INC})

target_link_libraries(
uexample_test PRIVATE
example
--static -Wl,--start-group -lc -lgcc -lnosys -Wl,--end-group
-T${PROJECT_SOURCE_DIR}/platform/stm32disco/stm32f405x6.ld
-nostartfiles -Wl,--gc-sections
-L${PROJECT_SOURCE_DIR}/3rd/libopencm3/lib -lm -lopencm3_stm32f4)

add_custom_command(
TARGET uexample_test POST_BUILD
COMMAND ${OBJCOPY} -Obinary uexample_test uexample_test.bin
COMMENT "Invoking: objcopy")

add_custom_target(
flash
COMMAND st-flash write uexample_test.bin 0x8000000
COMMENT "Flashing device")

src/common/hal-stm32f4.c → platform/stm32disco/hal.c Просмотреть файл


src/common/randombytes.c → platform/stm32disco/randombytes.c Просмотреть файл


src/stm32f405x6.ld → platform/stm32disco/stm32f405x6.ld Просмотреть файл


toolchain.cmake → platform/stm32disco/toolchain.cmake Просмотреть файл

@@ -13,3 +13,5 @@ set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
set(PLATFORM "stm32disco")
set(PLATFORM_INC "3rd/libopencm3/include")

src/test.c → test/test.c Просмотреть файл

@@ -89,7 +89,7 @@ int main(void)
for(i=0;i<10;i++)
hal_send_str("==========================");
test_keys();
hal_send_str("# That's all folks!");
hal_send_str("## That's all folks! #");

while(1);


Загрузка…
Отмена
Сохранить