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"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "89d92a4743f9a61002fae18374ed11e7973f530cb3a3255fb354818118b2203c"
|
checksum = "89d92a4743f9a61002fae18374ed11e7973f530cb3a3255fb354818118b2203c"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "libu5-sys"
|
||||||
|
version = "0.1.0"
|
||||||
|
dependencies = [
|
||||||
|
"cmake",
|
||||||
|
"cortex-m",
|
||||||
|
"cortex-m-rt",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "nb"
|
name = "nb"
|
||||||
version = "0.1.3"
|
version = "0.1.3"
|
||||||
@ -158,15 +167,6 @@ dependencies = [
|
|||||||
"unicode-ident",
|
"unicode-ident",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "u5"
|
|
||||||
version = "0.1.0"
|
|
||||||
dependencies = [
|
|
||||||
"cmake",
|
|
||||||
"cortex-m",
|
|
||||||
"cortex-m-rt",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "unicode-ident"
|
name = "unicode-ident"
|
||||||
version = "1.0.12"
|
version = "1.0.12"
|
||||||
|
@ -1,8 +1,9 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "u5"
|
name = "libu5-sys"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
build = "build.rs"
|
build = "build.rs"
|
||||||
|
links = "u5"
|
||||||
|
|
||||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||||
[net]
|
[net]
|
||||||
|
9
build.rs
9
build.rs
@ -2,8 +2,9 @@
|
|||||||
use cmake::Config;
|
use cmake::Config;
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
// Tell Cargo to tell rustc to link the C++ library.
|
// set target to thumbv8m.main-none-eabi
|
||||||
println!("cargo:rustc-link-lib=static=stm32u5");
|
// let out_dir = std::env::var("OUT_DIR").unwrap();
|
||||||
|
println!("cargo:rustc-cfg=feature=\"cortex-m\"");
|
||||||
|
|
||||||
// Use cmake to build the C++ project
|
// Use cmake to build the C++ project
|
||||||
let dst = Config::new("stm32u5").build();
|
let dst = Config::new("stm32u5").build();
|
||||||
@ -13,8 +14,6 @@ fn main() {
|
|||||||
|
|
||||||
// get the out dir of dependcy `cortex-m`
|
// 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}/startup DESTINATION .)
|
||||||
install(DIRECTORY ${CMAKE_CURRENT_LIST_DIR}/filex DESTINATION .)
|
install(DIRECTORY ${CMAKE_CURRENT_LIST_DIR}/filex DESTINATION .)
|
||||||
install(DIRECTORY ${CMAKE_CURRENT_LIST_DIR}/link_script 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 "")
|
# set(COMPILE_PREFIX "")
|
||||||
if (APPLE)
|
# if (APPLE)
|
||||||
set(COMPILE_PREFIX /opt/homebrew/bin/)
|
# set(COMPILE_PREFIX /opt/homebrew/bin/)
|
||||||
endif ()
|
# endif ()
|
||||||
|
#
|
||||||
set(CMAKE_C_COMPILER ${COMPILE_PREFIX}arm-none-eabi-gcc)
|
# set(CMAKE_C_COMPILER ${COMPILE_PREFIX}arm-none-eabi-gcc)
|
||||||
set(CMAKE_CXX_COMPILER ${COMPILE_PREFIX}arm-none-eabi-g++)
|
# set(CMAKE_CXX_COMPILER ${COMPILE_PREFIX}arm-none-eabi-g++)
|
||||||
set(CMAKE_ASM_COMPILER ${COMPILE_PREFIX}arm-none-eabi-gcc)
|
# set(CMAKE_ASM_COMPILER ${COMPILE_PREFIX}arm-none-eabi-gcc)
|
||||||
set(CMAKE_AR ${COMPILE_PREFIX}arm-none-eabi-ar)
|
# set(CMAKE_AR ${COMPILE_PREFIX}arm-none-eabi-ar)
|
||||||
set(CMAKE_OBJCOPY ${COMPILE_PREFIX}arm-none-eabi-objcopy)
|
# set(CMAKE_OBJCOPY ${COMPILE_PREFIX}arm-none-eabi-objcopy)
|
||||||
set(CMAKE_OBJDUMP ${COMPILE_PREFIX}arm-none-eabi-objdump)
|
# set(CMAKE_OBJDUMP ${COMPILE_PREFIX}arm-none-eabi-objdump)
|
||||||
set(SIZE ${COMPILE_PREFIX}arm-none-eabi-size)
|
# set(SIZE ${COMPILE_PREFIX}arm-none-eabi-size)
|
||||||
|
|
||||||
|
|
||||||
# add definition for filex
|
# add definition for filex
|
||||||
add_definitions(-DFX_INCLUDE_USER_DEFINE_FILE)
|
add_definitions(-DFX_INCLUDE_USER_DEFINE_FILE)
|
||||||
|
add_definitions(-DSTM32U575xx)
|
||||||
|
|
||||||
include_directories(
|
include_directories(
|
||||||
${CMAKE_CURRENT_LIST_DIR}/includes
|
${CMAKE_CURRENT_LIST_DIR}/includes
|
||||||
@ -32,23 +33,29 @@ file(GLOB_RECURSE LIB_SOURCES
|
|||||||
"${CMAKE_CURRENT_LIST_DIR}/startup/startup_stm32u575zitxq.s"
|
"${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}")
|
message(STATUS "CMAKE_CURRENT_LIST_DIR: ${CMAKE_CURRENT_LIST_DIR}")
|
||||||
|
|
||||||
#Uncomment for hardware floating point
|
# #Uncomment for hardware floating point
|
||||||
# add_compile_definitions(ARM_MATH_CM4;ARM_MATH_MATRIX_CHECK;ARM_MATH_ROUNDING)
|
# # add_compile_definitions(ARM_MATH_CM4;ARM_MATH_MATRIX_CHECK;ARM_MATH_ROUNDING)
|
||||||
add_compile_options(-mfloat-abi=hard -mfpu=fpv4-sp-d16)
|
# add_compile_options(-mfloat-abi=hard -mfpu=fpv4-sp-d16)
|
||||||
add_link_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(-mcpu=cortex-m33 -mthumb -mthumb-interwork)
|
||||||
add_compile_options(-ffunction-sections -fdata-sections -fno-common -fmessage-length=0)
|
# add_compile_options(-ffunction-sections -fdata-sections -fno-common -fmessage-length=0)
|
||||||
# Enable assembler files preprocessing
|
# # Enable assembler files preprocessing
|
||||||
add_compile_options($<$<COMPILE_LANGUAGE:ASM>:-x$<SEMICOLON>assembler-with-cpp>)
|
# add_compile_options($<$<COMPILE_LANGUAGE:ASM>:-x$<SEMICOLON>assembler-with-cpp>)
|
||||||
|
#
|
||||||
# add link script
|
# # add link script
|
||||||
set(LINKER_SCRIPT ${CMAKE_CURRENT_LIST_DIR}/link_script/STM32U575ZITXQ_FLASH.ld)
|
set(LINKER_SCRIPT ${CMAKE_CURRENT_LIST_DIR}/link_script/STM32U575ZITXQ_FLASH.ld)
|
||||||
|
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
|
||||||
add_link_options(-mcpu=cortex-m33 -mthumb -mthumb-interwork)
|
# 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_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