mirror of
https://github.com/espressif/esp-nimble.git
synced 2026-06-05 21:04:49 +00:00
babblesim: Rework sdk package
This moves all external components to separate sdk package. We'll link both bsim components and nrfx there and setup include paths.
This commit is contained in:
@@ -1,3 +0,0 @@
|
||||
hw/babblesim/components
|
||||
hw/babblesim/src
|
||||
nrfx/src
|
||||
@@ -18,20 +18,15 @@
|
||||
#
|
||||
|
||||
pkg.name: babblesim/core
|
||||
pkg.type: sdk
|
||||
pkg.description: time machine, irq handeler, core
|
||||
pkg.author: "Apache Mynewt <dev@mynewt.apache.org>"
|
||||
pkg.homepage: "http://mynewt.apache.org/"
|
||||
pkg.keywords:
|
||||
|
||||
pkg.deps:
|
||||
- "@apache-mynewt-core/kernel/os"
|
||||
- "@apache-mynewt-nimble/nimble/controller"
|
||||
- "@apache-mynewt-nimble/nimble/transport"
|
||||
- "babblesim/hw/babblesim"
|
||||
- "babblesim/sdk"
|
||||
|
||||
pkg.req_apis:
|
||||
- ble_transport
|
||||
pkg.cflags: -std=gnu99
|
||||
|
||||
pkg.init:
|
||||
bsim_start: 9999
|
||||
|
||||
@@ -31,7 +31,7 @@ pkg.cflags.HARDFLOAT:
|
||||
- -mfloat-abi=hard -mfpu=fpv4-sp-d16
|
||||
|
||||
pkg.deps:
|
||||
- "@apache-mynewt-core/hw/drivers/uart/uart_hal"
|
||||
- "babblesim/hw/mcu/nordic/nrf52_bsim"
|
||||
- "babblesim/hw/babblesim"
|
||||
- "babblesim/core"
|
||||
- "babblesim/hw/mcu/nordic/nrf52_bsim"
|
||||
- "@apache-mynewt-core/hw/drivers/uart/uart_hal"
|
||||
- "@apache-mynewt-nimble/nimble/controller"
|
||||
|
||||
@@ -26,7 +26,7 @@ pkg.lflags:
|
||||
- -lpthread
|
||||
|
||||
pkg.deps:
|
||||
- "babblesim/nrfx"
|
||||
- "babblesim/core"
|
||||
|
||||
pkg.deps.BLE_CONTROLLER:
|
||||
- "@apache-mynewt-nimble/nimble/drivers/nrf52"
|
||||
|
||||
@@ -1,37 +0,0 @@
|
||||
#
|
||||
# Licensed to the Apache Software Foundation (ASF) under one
|
||||
# or more contributor license agreements. See the NOTICE file
|
||||
# distributed with this work for additional information
|
||||
# regarding copyright ownership. The ASF licenses this file
|
||||
# to you under the Apache License, Version 2.0 (the
|
||||
# "License"); you may not use this file except in compliance
|
||||
# with the License. You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing,
|
||||
# software distributed under the License is distributed on an
|
||||
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
# KIND, either express or implied. See the License for the
|
||||
# specific language governing permissions and limitations
|
||||
# under the License.
|
||||
#
|
||||
|
||||
pkg.name: babblesim/nrfx
|
||||
pkg.description: nrfx wrapper for BabbleSim
|
||||
pkg.author: "Apache Mynewt <dev@mynewt.apache.org>"
|
||||
pkg.homepage: "https://mynewt.apache.org/"
|
||||
pkg.type: sdk
|
||||
|
||||
pkg.cflags: -std=gnu99
|
||||
pkg.include_dirs:
|
||||
- src/
|
||||
- src/drivers/
|
||||
- src/hal/
|
||||
- src/mdk/
|
||||
|
||||
pkg.deps:
|
||||
- "@apache-mynewt-core/hw/hal"
|
||||
|
||||
pkg.pre_build_cmds:
|
||||
scripts/link_nrfx.sh: 1
|
||||
@@ -0,0 +1,3 @@
|
||||
components
|
||||
nrfx
|
||||
src
|
||||
@@ -17,28 +17,31 @@
|
||||
# under the License.
|
||||
#
|
||||
|
||||
pkg.name: babblesim/hw/babblesim
|
||||
pkg.description: BabbleSim stuff
|
||||
pkg.author: "Apache Mynewt <dev@mynewt.apache.org>"
|
||||
pkg.homepage: "http://mynewt.apache.org/"
|
||||
|
||||
pkg.name: babblesim/sdk
|
||||
pkg.type: sdk
|
||||
pkg.description: External files required to build BabbleSim
|
||||
pkg.author: "Apache Mynewt <dev@mynewt.apache.org>"
|
||||
pkg.homepage: "https://mynewt.apache.org/"
|
||||
|
||||
pkg.cflags: -std=gnu99
|
||||
|
||||
pkg.include_dirs:
|
||||
- components/ext_NRF52_hw_models/src/nrfx/mdk_replacements
|
||||
- components/ext_NRF52_hw_models/src/HW_models
|
||||
- components/ext_NRF52_hw_models/src/nrfx_config
|
||||
- components/ext_NRF52_hw_models/src/nrfx/nrfx_replacements
|
||||
- components/libUtilv1/src/
|
||||
- components/libPhyComv1/src/
|
||||
- components/libRandv2/src/
|
||||
- components/ext_libCryptov1/src/
|
||||
|
||||
pkg.src_dirs:
|
||||
- src
|
||||
- components/ext_NRF52_hw_models/src/nrfx/mdk_replacements
|
||||
- components/ext_NRF52_hw_models/src/HW_models
|
||||
- components/libUtilv1/src
|
||||
- components/libPhyComv1/src
|
||||
- components/libRandv2/src
|
||||
- components/ext_libCryptov1/src
|
||||
- nrfx
|
||||
- nrfx/drivers
|
||||
- nrfx/hal
|
||||
- nrfx/mdk
|
||||
|
||||
pkg.pre_build_cmds:
|
||||
scripts/pre_build1.sh: 1
|
||||
scripts/link_babblesim.sh: 1
|
||||
scripts/link_nrfx.sh: 2
|
||||
|
||||
pkg.lflags:
|
||||
- -ldl
|
||||
- -ldl
|
||||
+4
-26
@@ -34,36 +34,14 @@ if [ -z ${BSIM_OUT_PATH+x} ]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ -d "$(pwd)/components" ]]
|
||||
then
|
||||
echo "Babblesim components: Directory exists. Removing and linking again..."
|
||||
rm -r $(pwd)/components
|
||||
else
|
||||
echo "Babblesim components: Linking components..."
|
||||
fi
|
||||
ln -sfn "${BSIM_COMPONENTS_PATH}" ./components
|
||||
|
||||
ln -nsf $BSIM_OUT_PATH/components
|
||||
|
||||
if [[ -d "$(pwd)/src" ]]
|
||||
then
|
||||
echo "Babblesim libraries src: Directory exists. Removing and linking again..."
|
||||
rm -r $(pwd)/src
|
||||
else
|
||||
echo "Babblesim components: Linking components..."
|
||||
fi
|
||||
|
||||
mkdir -p src
|
||||
ln -nsf $BSIM_OUT_PATH/components
|
||||
|
||||
# Create links to all .32.a files
|
||||
# find $BSIM_OUT_PATH/lib/$lib -name "*.32.a" -type f -exec ln -t src -nsf {} \;
|
||||
|
||||
# Copy all .32.a files
|
||||
find $BSIM_OUT_PATH/lib/$lib -name "*.32.a" -type f -exec cp -t src -f {} \;
|
||||
mkdir -p ./src/
|
||||
cp "${BSIM_OUT_PATH}"/lib/*.32.a ./src/
|
||||
|
||||
# XXX: Workaround for bad linking by newt. Sometimes newt will link
|
||||
# nrf weak functions from nrf_hal_originals.o instead of their BabbleSim
|
||||
# replacements inside libNRF52_hw_models.32.a. But as long as the other
|
||||
# weak functions, that do not have their replacements, are not used,
|
||||
# we can just remove the file from the .a library here.
|
||||
ar d src/libNRF52_hw_models.32.a nrf_hal_originals.o
|
||||
ar d ./src/libNRF52_hw_models.32.a nrf_hal_originals.o
|
||||
@@ -18,7 +18,4 @@
|
||||
# under the License.
|
||||
#
|
||||
|
||||
mkdir -p ./src/
|
||||
for f in nrfx.h drivers hal mdk; do
|
||||
ln -sfn ${NRFX_BASE}/${f} ./src/${f}
|
||||
done
|
||||
ln -sfn ${NRFX_BASE} ./nrfx
|
||||
Reference in New Issue
Block a user