update
This commit is contained in:
parent
dc91238650
commit
747d322e59
18
Cargo.lock
generated
18
Cargo.lock
generated
@ -84,6 +84,15 @@ version = "0.2.150"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "89d92a4743f9a61002fae18374ed11e7973f530cb3a3255fb354818118b2203c"
|
||||
|
||||
[[package]]
|
||||
name = "libu5-sys"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"cmake",
|
||||
"cortex-m",
|
||||
"cortex-m-rt",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "nb"
|
||||
version = "0.1.3"
|
||||
@ -158,15 +167,6 @@ dependencies = [
|
||||
"unicode-ident",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "u5"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"cmake",
|
||||
"cortex-m",
|
||||
"cortex-m-rt",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "unicode-ident"
|
||||
version = "1.0.12"
|
||||
|
@ -1,8 +1,9 @@
|
||||
[package]
|
||||
name = "u5"
|
||||
name = "libu5-sys"
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
build = "build.rs"
|
||||
links = "u5"
|
||||
|
||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||
[net]
|
||||
|
9
build.rs
9
build.rs
@ -2,8 +2,9 @@
|
||||
use cmake::Config;
|
||||
|
||||
fn main() {
|
||||
// Tell Cargo to tell rustc to link the C++ library.
|
||||
println!("cargo:rustc-link-lib=static=stm32u5");
|
||||
// set target to thumbv8m.main-none-eabi
|
||||
// let out_dir = std::env::var("OUT_DIR").unwrap();
|
||||
println!("cargo:rustc-cfg=feature=\"cortex-m\"");
|
||||
|
||||
// Use cmake to build the C++ project
|
||||
let dst = Config::new("stm32u5").build();
|
||||
@ -13,8 +14,6 @@ fn main() {
|
||||
|
||||
// get the out dir of dependcy `cortex-m`
|
||||
//
|
||||
println!("cargo:include=/includes") // provide DEP_U5_INCLUDE var
|
||||
|
||||
|
||||
println!("cargo:include={}", dst.display());
|
||||
|
||||
}
|
||||
|
@ -51,5 +51,5 @@ install(DIRECTORY ${CMAKE_CURRENT_LIST_DIR}/CMSIS DESTINATION .)
|
||||
install(DIRECTORY ${CMAKE_CURRENT_LIST_DIR}/startup DESTINATION .)
|
||||
install(DIRECTORY ${CMAKE_CURRENT_LIST_DIR}/filex DESTINATION .)
|
||||
install(DIRECTORY ${CMAKE_CURRENT_LIST_DIR}/link_script DESTINATION .)
|
||||
|
||||
|
||||
install(FILES ${CMAKE_CURRENT_LIST_DIR}/Stm32U5LibConfig.cmake DESTINATION .)
|
||||
install(DIRECTORY ${CMAKE_CURRENT_LIST_DIR}/newlib DESTINATION .)
|
||||
|
@ -1,19 +1,20 @@
|
||||
set(COMPILE_PREFIX "")
|
||||
if (APPLE)
|
||||
set(COMPILE_PREFIX /opt/homebrew/bin/)
|
||||
endif ()
|
||||
|
||||
set(CMAKE_C_COMPILER ${COMPILE_PREFIX}arm-none-eabi-gcc)
|
||||
set(CMAKE_CXX_COMPILER ${COMPILE_PREFIX}arm-none-eabi-g++)
|
||||
set(CMAKE_ASM_COMPILER ${COMPILE_PREFIX}arm-none-eabi-gcc)
|
||||
set(CMAKE_AR ${COMPILE_PREFIX}arm-none-eabi-ar)
|
||||
set(CMAKE_OBJCOPY ${COMPILE_PREFIX}arm-none-eabi-objcopy)
|
||||
set(CMAKE_OBJDUMP ${COMPILE_PREFIX}arm-none-eabi-objdump)
|
||||
set(SIZE ${COMPILE_PREFIX}arm-none-eabi-size)
|
||||
# set(COMPILE_PREFIX "")
|
||||
# if (APPLE)
|
||||
# set(COMPILE_PREFIX /opt/homebrew/bin/)
|
||||
# endif ()
|
||||
#
|
||||
# set(CMAKE_C_COMPILER ${COMPILE_PREFIX}arm-none-eabi-gcc)
|
||||
# set(CMAKE_CXX_COMPILER ${COMPILE_PREFIX}arm-none-eabi-g++)
|
||||
# set(CMAKE_ASM_COMPILER ${COMPILE_PREFIX}arm-none-eabi-gcc)
|
||||
# set(CMAKE_AR ${COMPILE_PREFIX}arm-none-eabi-ar)
|
||||
# set(CMAKE_OBJCOPY ${COMPILE_PREFIX}arm-none-eabi-objcopy)
|
||||
# set(CMAKE_OBJDUMP ${COMPILE_PREFIX}arm-none-eabi-objdump)
|
||||
# set(SIZE ${COMPILE_PREFIX}arm-none-eabi-size)
|
||||
|
||||
|
||||
# add definition for filex
|
||||
add_definitions(-DFX_INCLUDE_USER_DEFINE_FILE)
|
||||
add_definitions(-DSTM32U575xx)
|
||||
|
||||
include_directories(
|
||||
${CMAKE_CURRENT_LIST_DIR}/includes
|
||||
@ -32,23 +33,29 @@ file(GLOB_RECURSE LIB_SOURCES
|
||||
"${CMAKE_CURRENT_LIST_DIR}/startup/startup_stm32u575zitxq.s"
|
||||
)
|
||||
|
||||
file(GLOB_RECURSE EXPORT_SOURCES
|
||||
"${CMAKE_CURRENT_LIST_DIR}/newlib/*.c"
|
||||
"${CMAKE_CURRENT_LIST_DIR}/startup/startup_stm32u575zitxq.s"
|
||||
)
|
||||
|
||||
message(STATUS "CMAKE_CURRENT_LIST_DIR: ${CMAKE_CURRENT_LIST_DIR}")
|
||||
|
||||
#Uncomment for hardware floating point
|
||||
# add_compile_definitions(ARM_MATH_CM4;ARM_MATH_MATRIX_CHECK;ARM_MATH_ROUNDING)
|
||||
add_compile_options(-mfloat-abi=hard -mfpu=fpv4-sp-d16)
|
||||
add_link_options(-mfloat-abi=hard -mfpu=fpv4-sp-d16)
|
||||
add_compile_options(-mcpu=cortex-m33 -mthumb -mthumb-interwork)
|
||||
add_compile_options(-ffunction-sections -fdata-sections -fno-common -fmessage-length=0)
|
||||
# Enable assembler files preprocessing
|
||||
add_compile_options($<$<COMPILE_LANGUAGE:ASM>:-x$<SEMICOLON>assembler-with-cpp>)
|
||||
|
||||
# add link script
|
||||
# #Uncomment for hardware floating point
|
||||
# # add_compile_definitions(ARM_MATH_CM4;ARM_MATH_MATRIX_CHECK;ARM_MATH_ROUNDING)
|
||||
# add_compile_options(-mfloat-abi=hard -mfpu=fpv4-sp-d16)
|
||||
# add_link_options(-mfloat-abi=hard -mfpu=fpv4-sp-d16)
|
||||
# add_compile_options(-mcpu=cortex-m33 -mthumb -mthumb-interwork)
|
||||
# add_compile_options(-ffunction-sections -fdata-sections -fno-common -fmessage-length=0)
|
||||
# # Enable assembler files preprocessing
|
||||
# add_compile_options($<$<COMPILE_LANGUAGE:ASM>:-x$<SEMICOLON>assembler-with-cpp>)
|
||||
#
|
||||
# # add link script
|
||||
set(LINKER_SCRIPT ${CMAKE_CURRENT_LIST_DIR}/link_script/STM32U575ZITXQ_FLASH.ld)
|
||||
|
||||
# add link options
|
||||
add_link_options(-Wall -Wl,-gc-sections,--print-memory-usage,-Map=${PROJECT_BINARY_DIR}/${PROJECT_NAME}.map)
|
||||
add_link_options(-mcpu=cortex-m33 -mthumb -mthumb-interwork)
|
||||
message ("LINKER_SCRIPT: ${LINKER_SCRIPT}")
|
||||
#
|
||||
# # add link options
|
||||
# add_link_options(-Wall -Wl,-gc-sections,--print-memory-usage,-Map=${PROJECT_BINARY_DIR}/${PROJECT_NAME}.map)
|
||||
add_link_options(-Wall -Wl,-gc-sections,--print-memory-usage)
|
||||
# add_link_options(-mcpu=cortex-m33 -mthumb -mthumb-interwork)
|
||||
add_link_options(-T ${LINKER_SCRIPT})
|
||||
add_definitions(-DSTM32U575xx)
|
||||
# set(LIB_BIN ${CMAKE_CURRENT_LIST_DIR}/libSTM32U5.a)
|
||||
set(LIB_BIN ${CMAKE_CURRENT_LIST_DIR}/libSTM32U5.a)
|
||||
|
Reference in New Issue
Block a user