micropython/ports/nrf/drivers/bluetooth/download_ble_stack.sh
robert-hh 564945a2a0 nrf/boards/seeed_xiao_nrf52: Add defn for Seeed XIAO NRF52840 Sense.
It keeps compatibility with the XIAO bootloader by:
- using Soft Device 7.3.0
- reserving 48k memory for the bootloader.

So on double reset a drive pops for uploading an uf2 image or a nrfutil zip
pkg file.  Instructions to create it from a hex file are included.  The
bootloader can as well be activated with the touch 1200 option of nrfutil.

The script download_ble_stack.sh has been adapted to get the version 7.3.0
soft device files.  It may have to be executed once before building.

The file system is set to 256k and the pin definitions are adapted.
Besides that, it has the common functionality and omissions.  The on-board
sensors and additional flash can be supported by Python scripts.
2022-12-15 14:27:08 +11:00

101 lines
2.9 KiB
Bash
Executable File

#!/bin/bash
function download_s110_nrf51_8_0_0
{
echo ""
echo "####################################"
echo "### Downloading s110_nrf51_8.0.0 ###"
echo "####################################"
echo ""
mkdir -p $1/s110_nrf51_8.0.0
cd $1/s110_nrf51_8.0.0
wget --post-data="fileName=DeviceDownload&ids=DBBEB2467E4A4EBCB791C2E7BE3FC7A8" https://www.nordicsemi.com/api/sitecore/Products/MedialibraryZipDownload2
mv MedialibraryZipDownload2 temp.zip
unzip -u temp.zip
unzip -u s110nrf51800.zip
rm s110nrf51800.zip
rm temp.zip
cd -
}
function download_s132_nrf52_6_1_1
{
echo ""
echo "####################################"
echo "### Downloading s132_nrf52_6.1.1 ###"
echo "####################################"
echo ""
mkdir -p $1/s132_nrf52_6.1.1
cd $1/s132_nrf52_6.1.1
wget --post-data="fileName=DeviceDownload&ids=3AB3E86666FE4361A4A3B7E0D1CBB9B9" https://www.nordicsemi.com/api/sitecore/Products/MedialibraryZipDownload2
mv MedialibraryZipDownload2 temp.zip
unzip -u temp.zip
unzip -u s132nrf52611.zip
rm s132nrf52611.zip
rm temp.zip
cd -
}
function download_s140_nrf52_6_1_1
{
echo ""
echo "####################################"
echo "### Downloading s140_nrf52_6.1.1 ###"
echo "####################################"
echo ""
mkdir -p $1/s140_nrf52_6.1.1
cd $1/s140_nrf52_6.1.1
wget --post-data="fileName=DeviceDownload&ids=CE89BA7633C540AFA48AB88E934DBF05" https://www.nordicsemi.com/api/sitecore/Products/MedialibraryZipDownload2
mv MedialibraryZipDownload2 temp.zip
unzip -u temp.zip
unzip -u s140nrf52611.zip
rm s140nrf52611.zip
rm temp.zip
cd -
}
function download_s140_nrf52_7_3_0
{
echo ""
echo "####################################"
echo "### Downloading s140_nrf52_7.3.0 ###"
echo "####################################"
echo ""
mkdir -p $1/s140_nrf52_7.3.0
cd $1/s140_nrf52_7.3.0
wget --post-data="fileName=DeviceDownload&ids=59452FDD13BA46EEAD0810A57359F294" https://www.nordicsemi.com/api/sitecore/Products/MedialibraryZipDownload2
mv MedialibraryZipDownload2 temp.zip
unzip -u temp.zip
unzip -u s140_nrf52_7.3.0.zip
rm s140_nrf52_7.3.0.zip
rm temp.zip
cd -
}
SCRIPT_DIR="$(cd -P "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
if [ $# -eq 0 ]; then
echo "No Bluetooth LE stack defined, downloading all."
download_s110_nrf51_8_0_0 ${SCRIPT_DIR}
download_s132_nrf52_6_1_1 ${SCRIPT_DIR}
download_s140_nrf52_6_1_1 ${SCRIPT_DIR}
download_s140_nrf52_7_3_0 ${SCRIPT_DIR}
else
case $1 in
"s110_nrf51" )
download_s110_nrf51_8_0_0 ${SCRIPT_DIR} ;;
"s132_nrf52_6_1_1" )
download_s132_nrf52_6_1_1 ${SCRIPT_DIR} ;;
"s140_nrf52_6_1_1" )
download_s140_nrf52_6_1_1 ${SCRIPT_DIR} ;;
"s140_nrf52_7_3_0" )
download_s140_nrf52_7_3_0 ${SCRIPT_DIR} ;;
esac
fi
exit 0