├── lora_basics_modem ├── lora_basics_modem │ ├── smtc_modem_core │ │ ├── radio_drivers │ │ │ ├── sx128x_driver │ │ │ │ ├── readme.md │ │ │ │ └── LICENSE.txt │ │ │ ├── sx126x_driver │ │ │ │ ├── README.md │ │ │ │ ├── CHANGELOG.md │ │ │ │ └── LICENSE.txt │ │ │ └── lr11xx_driver │ │ │ │ ├── CHANGELOG.md │ │ │ │ ├── LICENSE.txt │ │ │ │ └── src │ │ │ │ └── lr11xx_driver_module.cmake │ │ ├── README.md │ │ ├── smtc_ralf │ │ │ └── license.md │ │ ├── lr1mac │ │ │ └── license.md │ │ ├── radio_planner │ │ │ └── license.md │ │ ├── smtc_ral │ │ │ └── license.md │ │ └── smtc_modem_services │ │ │ └── src │ │ │ └── stream │ │ │ └── lmic_defines.h │ ├── smtc_modem_api │ │ ├── Makefile │ │ └── CHANGELOG.md │ ├── utilities │ │ ├── user_app │ │ │ └── mcu_drivers │ │ │ │ ├── STM32L4xx_HAL_Driver │ │ │ │ ├── _htmresc │ │ │ │ │ └── st_logo.png │ │ │ │ ├── Src │ │ │ │ │ ├── stm32l4xx_hal_cryp.c │ │ │ │ │ ├── stm32l4xx_hal_swpmi.c │ │ │ │ │ ├── stm32l4xx_hal_wwdg.c │ │ │ │ │ ├── stm32l4xx_ll_crs.c │ │ │ │ │ └── stm32l4xx_ll_pwr.c │ │ │ │ ├── License.md │ │ │ │ └── Inc │ │ │ │ │ ├── stm32l4xx_hal_spi_ex.h │ │ │ │ │ ├── stm32_assert_template.h │ │ │ │ │ └── stm32l4xx_hal_flash_ramfunc.h │ │ │ │ ├── cmsis │ │ │ │ ├── Device │ │ │ │ │ └── ST │ │ │ │ │ │ └── STM32L4xx │ │ │ │ │ │ ├── _htmresc │ │ │ │ │ │ └── st_logo.png │ │ │ │ │ │ └── Include │ │ │ │ │ │ └── stm32l476xx.h │ │ │ │ └── Core │ │ │ │ │ └── Include │ │ │ │ │ └── cmsis_version.h │ │ │ │ └── core │ │ │ │ └── stm32_assert.h │ │ ├── README.md │ │ └── makefiles │ │ │ ├── sx128x.mk │ │ │ ├── sx126x.mk │ │ │ └── lr11xx.mk │ ├── smtc_modem_hal │ │ └── CHANGELOG.md │ ├── makefiles │ │ ├── printing.mk │ │ ├── sx128x.mk │ │ └── sx126x.mk │ └── LICENSE.txt └── makefiles │ ├── common.mk │ └── printing.mk ├── host_driver ├── STMicroelectronics │ └── STM32L4xx │ │ ├── Drivers │ │ ├── CMSIS │ │ │ ├── Device │ │ │ │ └── ST │ │ │ │ │ └── STM32L4xx │ │ │ │ │ ├── Include │ │ │ │ │ ├── stm32l4xx.h │ │ │ │ │ ├── stm32l412xx.h │ │ │ │ │ ├── stm32l422xx.h │ │ │ │ │ ├── stm32l431xx.h │ │ │ │ │ ├── stm32l432xx.h │ │ │ │ │ ├── stm32l433xx.h │ │ │ │ │ ├── stm32l442xx.h │ │ │ │ │ ├── stm32l443xx.h │ │ │ │ │ ├── stm32l451xx.h │ │ │ │ │ ├── stm32l452xx.h │ │ │ │ │ ├── stm32l462xx.h │ │ │ │ │ ├── stm32l471xx.h │ │ │ │ │ ├── stm32l475xx.h │ │ │ │ │ ├── stm32l476xx.h │ │ │ │ │ ├── stm32l485xx.h │ │ │ │ │ ├── stm32l486xx.h │ │ │ │ │ ├── stm32l496xx.h │ │ │ │ │ ├── stm32l4a6xx.h │ │ │ │ │ ├── stm32l4p5xx.h │ │ │ │ │ ├── stm32l4q5xx.h │ │ │ │ │ ├── stm32l4r5xx.h │ │ │ │ │ ├── stm32l4r7xx.h │ │ │ │ │ ├── stm32l4r9xx.h │ │ │ │ │ ├── stm32l4s5xx.h │ │ │ │ │ ├── stm32l4s7xx.h │ │ │ │ │ └── stm32l4s9xx.h │ │ │ │ │ └── Source │ │ │ │ │ └── Templates │ │ │ │ │ └── iar │ │ │ │ │ └── linker │ │ │ │ │ ├── stm32l471xx_sram.icf │ │ │ │ │ ├── stm32l475xx_sram.icf │ │ │ │ │ ├── stm32l476xx_sram.icf │ │ │ │ │ ├── stm32l485xx_sram.icf │ │ │ │ │ ├── stm32l486xx_sram.icf │ │ │ │ │ ├── stm32l412xx_sram.icf │ │ │ │ │ ├── stm32l422xx_sram.icf │ │ │ │ │ ├── stm32l431xx_sram.icf │ │ │ │ │ ├── stm32l432xx_sram.icf │ │ │ │ │ ├── stm32l433xx_sram.icf │ │ │ │ │ ├── stm32l442xx_sram.icf │ │ │ │ │ ├── stm32l443xx_sram.icf │ │ │ │ │ ├── stm32l451xx_sram.icf │ │ │ │ │ ├── stm32l452xx_sram.icf │ │ │ │ │ ├── stm32l462xx_sram.icf │ │ │ │ │ ├── stm32l451xx_flash.icf │ │ │ │ │ ├── stm32l452xx_flash.icf │ │ │ │ │ ├── stm32l462xx_flash.icf │ │ │ │ │ ├── stm32l412xx_flash.icf │ │ │ │ │ ├── stm32l422xx_flash.icf │ │ │ │ │ ├── stm32l471xx_flash.icf │ │ │ │ │ ├── stm32l475xx_flash.icf │ │ │ │ │ ├── stm32l476xx_flash.icf │ │ │ │ │ ├── stm32l485xx_flash.icf │ │ │ │ │ ├── stm32l486xx_flash.icf │ │ │ │ │ ├── stm32l496xx_flash.icf │ │ │ │ │ ├── stm32l496xx_sram.icf │ │ │ │ │ ├── stm32l4a6xx_flash.icf │ │ │ │ │ ├── stm32l4a6xx_sram.icf │ │ │ │ │ ├── stm32l431xx_flash.icf │ │ │ │ │ ├── stm32l432xx_flash.icf │ │ │ │ │ ├── stm32l433xx_flash.icf │ │ │ │ │ ├── stm32l442xx_flash.icf │ │ │ │ │ ├── stm32l443xx_flash.icf │ │ │ │ │ ├── stm32l4p5xx_flash.icf │ │ │ │ │ ├── stm32l4p5xx_sram.icf │ │ │ │ │ ├── stm32l4q5xx_flash.icf │ │ │ │ │ ├── stm32l4q5xx_sram.icf │ │ │ │ │ ├── stm32l4r5xx_flash.icf │ │ │ │ │ ├── stm32l4r5xx_sram.icf │ │ │ │ │ ├── stm32l4r7xx_flash.icf │ │ │ │ │ ├── stm32l4r7xx_sram.icf │ │ │ │ │ ├── stm32l4r9xx_flash.icf │ │ │ │ │ ├── stm32l4r9xx_sram.icf │ │ │ │ │ ├── stm32l4s5xx_flash.icf │ │ │ │ │ ├── stm32l4s5xx_sram.icf │ │ │ │ │ ├── stm32l4s7xx_flash.icf │ │ │ │ │ ├── stm32l4s7xx_sram.icf │ │ │ │ │ ├── stm32l4s9xx_flash.icf │ │ │ │ │ └── stm32l4s9xx_sram.icf │ │ │ └── Include │ │ │ │ └── cmsis_version.h │ │ └── STM32L4xx_HAL_Driver │ │ │ ├── Src │ │ │ ├── stm32l4xx_hal_cryp.c │ │ │ ├── stm32l4xx_hal_swpmi.c │ │ │ ├── stm32l4xx_ll_crs.c │ │ │ └── stm32l4xx_ll_pwr.c │ │ │ ├── License.md │ │ │ └── Inc │ │ │ ├── stm32l4xx_hal_spi_ex.h │ │ │ ├── stm32_assert_template.h │ │ │ └── stm32l4xx_hal_flash_ramfunc.h │ │ └── License.md └── target.mk ├── shields ├── SX128X │ ├── smtc_shield_sx128x │ │ ├── README.md │ │ └── smtc_shield_sx128x.mk │ └── sx128x.mk ├── LR11XX │ └── smtc_shield_lr11xx │ │ ├── README.md │ │ └── LR1121 │ │ └── smtc_shield_lr1121.mk ├── SX126X │ ├── smtc_shield_sx126x │ │ └── README.md │ └── sx126x.mk └── radio_shield.mk ├── LICENSE.txt ├── CHANGELOG.md └── apps └── examples ├── full_almanac_update └── README.md └── application_server └── README.md /lora_basics_modem/lora_basics_modem/smtc_modem_core/radio_drivers/sx128x_driver/readme.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lora_basics_modem/lora_basics_modem/smtc_modem_api/Makefile: -------------------------------------------------------------------------------- 1 | all: docs 2 | 3 | docs: *.h ./doxygen.config 4 | @doxygen ./doxygen.config 5 | 6 | clean: 7 | rm -rf build_doc -------------------------------------------------------------------------------- /host_driver/STMicroelectronics/STM32L4xx/Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lora-net/SWSD001/HEAD/host_driver/STMicroelectronics/STM32L4xx/Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h -------------------------------------------------------------------------------- /host_driver/STMicroelectronics/STM32L4xx/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cryp.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lora-net/SWSD001/HEAD/host_driver/STMicroelectronics/STM32L4xx/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cryp.c -------------------------------------------------------------------------------- /host_driver/STMicroelectronics/STM32L4xx/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_swpmi.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lora-net/SWSD001/HEAD/host_driver/STMicroelectronics/STM32L4xx/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_swpmi.c -------------------------------------------------------------------------------- /host_driver/STMicroelectronics/STM32L4xx/Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l412xx.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lora-net/SWSD001/HEAD/host_driver/STMicroelectronics/STM32L4xx/Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l412xx.h -------------------------------------------------------------------------------- /host_driver/STMicroelectronics/STM32L4xx/Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l422xx.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lora-net/SWSD001/HEAD/host_driver/STMicroelectronics/STM32L4xx/Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l422xx.h -------------------------------------------------------------------------------- /host_driver/STMicroelectronics/STM32L4xx/Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l431xx.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lora-net/SWSD001/HEAD/host_driver/STMicroelectronics/STM32L4xx/Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l431xx.h -------------------------------------------------------------------------------- /host_driver/STMicroelectronics/STM32L4xx/Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l432xx.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lora-net/SWSD001/HEAD/host_driver/STMicroelectronics/STM32L4xx/Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l432xx.h -------------------------------------------------------------------------------- /host_driver/STMicroelectronics/STM32L4xx/Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l433xx.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lora-net/SWSD001/HEAD/host_driver/STMicroelectronics/STM32L4xx/Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l433xx.h -------------------------------------------------------------------------------- /host_driver/STMicroelectronics/STM32L4xx/Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l442xx.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lora-net/SWSD001/HEAD/host_driver/STMicroelectronics/STM32L4xx/Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l442xx.h -------------------------------------------------------------------------------- /host_driver/STMicroelectronics/STM32L4xx/Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l443xx.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lora-net/SWSD001/HEAD/host_driver/STMicroelectronics/STM32L4xx/Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l443xx.h -------------------------------------------------------------------------------- /host_driver/STMicroelectronics/STM32L4xx/Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l451xx.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lora-net/SWSD001/HEAD/host_driver/STMicroelectronics/STM32L4xx/Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l451xx.h -------------------------------------------------------------------------------- /host_driver/STMicroelectronics/STM32L4xx/Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l452xx.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lora-net/SWSD001/HEAD/host_driver/STMicroelectronics/STM32L4xx/Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l452xx.h -------------------------------------------------------------------------------- /host_driver/STMicroelectronics/STM32L4xx/Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l462xx.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lora-net/SWSD001/HEAD/host_driver/STMicroelectronics/STM32L4xx/Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l462xx.h -------------------------------------------------------------------------------- /host_driver/STMicroelectronics/STM32L4xx/Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l471xx.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lora-net/SWSD001/HEAD/host_driver/STMicroelectronics/STM32L4xx/Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l471xx.h -------------------------------------------------------------------------------- /host_driver/STMicroelectronics/STM32L4xx/Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l475xx.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lora-net/SWSD001/HEAD/host_driver/STMicroelectronics/STM32L4xx/Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l475xx.h -------------------------------------------------------------------------------- /host_driver/STMicroelectronics/STM32L4xx/Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l476xx.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lora-net/SWSD001/HEAD/host_driver/STMicroelectronics/STM32L4xx/Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l476xx.h -------------------------------------------------------------------------------- /host_driver/STMicroelectronics/STM32L4xx/Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l485xx.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lora-net/SWSD001/HEAD/host_driver/STMicroelectronics/STM32L4xx/Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l485xx.h -------------------------------------------------------------------------------- /host_driver/STMicroelectronics/STM32L4xx/Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l486xx.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lora-net/SWSD001/HEAD/host_driver/STMicroelectronics/STM32L4xx/Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l486xx.h -------------------------------------------------------------------------------- /host_driver/STMicroelectronics/STM32L4xx/Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l496xx.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lora-net/SWSD001/HEAD/host_driver/STMicroelectronics/STM32L4xx/Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l496xx.h -------------------------------------------------------------------------------- /host_driver/STMicroelectronics/STM32L4xx/Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4a6xx.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lora-net/SWSD001/HEAD/host_driver/STMicroelectronics/STM32L4xx/Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4a6xx.h -------------------------------------------------------------------------------- /host_driver/STMicroelectronics/STM32L4xx/Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4p5xx.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lora-net/SWSD001/HEAD/host_driver/STMicroelectronics/STM32L4xx/Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4p5xx.h -------------------------------------------------------------------------------- /host_driver/STMicroelectronics/STM32L4xx/Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4q5xx.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lora-net/SWSD001/HEAD/host_driver/STMicroelectronics/STM32L4xx/Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4q5xx.h -------------------------------------------------------------------------------- /host_driver/STMicroelectronics/STM32L4xx/Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4r5xx.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lora-net/SWSD001/HEAD/host_driver/STMicroelectronics/STM32L4xx/Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4r5xx.h -------------------------------------------------------------------------------- /host_driver/STMicroelectronics/STM32L4xx/Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4r7xx.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lora-net/SWSD001/HEAD/host_driver/STMicroelectronics/STM32L4xx/Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4r7xx.h -------------------------------------------------------------------------------- /host_driver/STMicroelectronics/STM32L4xx/Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4r9xx.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lora-net/SWSD001/HEAD/host_driver/STMicroelectronics/STM32L4xx/Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4r9xx.h -------------------------------------------------------------------------------- /host_driver/STMicroelectronics/STM32L4xx/Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4s5xx.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lora-net/SWSD001/HEAD/host_driver/STMicroelectronics/STM32L4xx/Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4s5xx.h -------------------------------------------------------------------------------- /host_driver/STMicroelectronics/STM32L4xx/Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4s7xx.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lora-net/SWSD001/HEAD/host_driver/STMicroelectronics/STM32L4xx/Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4s7xx.h -------------------------------------------------------------------------------- /host_driver/STMicroelectronics/STM32L4xx/Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4s9xx.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lora-net/SWSD001/HEAD/host_driver/STMicroelectronics/STM32L4xx/Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4s9xx.h -------------------------------------------------------------------------------- /lora_basics_modem/lora_basics_modem/utilities/user_app/mcu_drivers/STM32L4xx_HAL_Driver/_htmresc/st_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lora-net/SWSD001/HEAD/lora_basics_modem/lora_basics_modem/utilities/user_app/mcu_drivers/STM32L4xx_HAL_Driver/_htmresc/st_logo.png -------------------------------------------------------------------------------- /lora_basics_modem/lora_basics_modem/utilities/user_app/mcu_drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cryp.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lora-net/SWSD001/HEAD/lora_basics_modem/lora_basics_modem/utilities/user_app/mcu_drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cryp.c -------------------------------------------------------------------------------- /lora_basics_modem/lora_basics_modem/utilities/user_app/mcu_drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_swpmi.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lora-net/SWSD001/HEAD/lora_basics_modem/lora_basics_modem/utilities/user_app/mcu_drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_swpmi.c -------------------------------------------------------------------------------- /lora_basics_modem/lora_basics_modem/utilities/user_app/mcu_drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_wwdg.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lora-net/SWSD001/HEAD/lora_basics_modem/lora_basics_modem/utilities/user_app/mcu_drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_wwdg.c -------------------------------------------------------------------------------- /lora_basics_modem/lora_basics_modem/utilities/user_app/mcu_drivers/cmsis/Device/ST/STM32L4xx/_htmresc/st_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lora-net/SWSD001/HEAD/lora_basics_modem/lora_basics_modem/utilities/user_app/mcu_drivers/cmsis/Device/ST/STM32L4xx/_htmresc/st_logo.png -------------------------------------------------------------------------------- /lora_basics_modem/lora_basics_modem/utilities/user_app/mcu_drivers/cmsis/Device/ST/STM32L4xx/Include/stm32l476xx.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lora-net/SWSD001/HEAD/lora_basics_modem/lora_basics_modem/utilities/user_app/mcu_drivers/cmsis/Device/ST/STM32L4xx/Include/stm32l476xx.h -------------------------------------------------------------------------------- /host_driver/STMicroelectronics/STM32L4xx/Drivers/STM32L4xx_HAL_Driver/License.md: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2017 STMicroelectronics 2 | 3 | This software component is licensed by STMicroelectronics under the **BSD 3-Clause** license. You may not use this file except in compliance with this license. You may obtain a copy of the license [here](https://opensource.org/licenses/BSD-3-Clause). -------------------------------------------------------------------------------- /lora_basics_modem/lora_basics_modem/utilities/user_app/mcu_drivers/STM32L4xx_HAL_Driver/License.md: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2017 STMicroelectronics 2 | 3 | This software component is licensed by STMicroelectronics under the **BSD 3-Clause** license. You may not use this file except in compliance with this license. You may obtain a copy of the license [here](https://opensource.org/licenses/BSD-3-Clause). -------------------------------------------------------------------------------- /shields/SX128X/smtc_shield_sx128x/README.md: -------------------------------------------------------------------------------- 1 | # SX128x shields 2 | 3 | ## List 4 | 5 | The list of compatible Semtech SX1280 shields is: 6 | 7 | | Shield | PCB | Frequency matching | Characteristics | 8 | | ------------ | --- | ------------------ | --------------------------------- | 9 | | SX1280RF1ZHP | E394V02A | 2.4 GHz | XTAL / RF switch / Rx and Tx LEDs | 10 | -------------------------------------------------------------------------------- /lora_basics_modem/lora_basics_modem/utilities/README.md: -------------------------------------------------------------------------------- 1 | # Utilities 2 | 3 | Simple application example using lora_basics_modem 4 | 5 | ## Demo Board 6 | 7 | Nucleo L476RG board ( with stm32l476 MCU) 8 | And 9 | Semtech chosen radio board: 10 | - lr1110 (EVK board) 11 | - sx1261 (SX1261MB2xAS) 12 | - sx1262 (SX1262MB2xAS) 13 | - sx1280 (EVK board) 14 | - lr1120 (EVK board) 15 | 16 | ## Build process 17 | 18 | Please use `make help` to see all make options 19 | 20 | ## Example EXTI 21 | 22 | This simple example joins LoRaWAN network and then send uplink when nucleo blue button is pushed -------------------------------------------------------------------------------- /lora_basics_modem/lora_basics_modem/smtc_modem_core/README.md: -------------------------------------------------------------------------------- 1 | This is the soft modem core code that can be embedded in several top projects. 2 | 3 | In this repository you will find 5 subfolders: 4 | * device_management: 5 | Functions and helpers that handle downlink from LoraCloud and all that is related with the soft modem context 6 | 7 | * lorawan_api: 8 | Soft layer that is used to abstract the LoRaWAN stack that is used below 9 | 10 | * modem_services: 11 | All services supported by the modem and the LoRaCloud (file upload, streaming, alc_sync) 12 | 13 | * modem_supervisor: 14 | The soft modem task scheduler 15 | 16 | * test_modem: 17 | Here is handled the soft modem test mode 18 | -------------------------------------------------------------------------------- /lora_basics_modem/lora_basics_modem/smtc_modem_hal/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Lora Basics Modem HAL changelog 2 | 3 | All notable changes to this project will be documented in this file. 4 | 5 | The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). 6 | 7 | ## [v3.0.0] Unreleased 8 | 9 | ### Added 10 | 11 | * [assert] `smtc_modem_hal_assert(expr)` macro 12 | * [assert] `smtc_modem_hal_assert_fail()` function 13 | * [time] `smtc_modem_hal_get_time_in_100us()` function 14 | * [radio_irq] `smtc_modem_hal_get_radio_irq_timestamp_in_100us()` function 15 | 16 | ### Changed 17 | 18 | * [radio_irq] `smtc_modem_hal_irq_is_radio_irq_pending()` function has been replaced with `smtc_modem_hal_radio_irq_clear_pending()`. Now modem only asks to clear radio pending irq 19 | 20 | ### Fixed 21 | 22 | ### Removed 23 | 24 | 25 | ## [v2.1.0] 2021-09-24 26 | 27 | ### Added 28 | 29 | * [all] Initial version 30 | -------------------------------------------------------------------------------- /lora_basics_modem/lora_basics_modem/utilities/makefiles/sx128x.mk: -------------------------------------------------------------------------------- 1 | ############################################################################## 2 | # Definitions for the SX128x tranceiver 3 | ############################################################################## 4 | TARGET = sx128x 5 | 6 | RADIO_HAL_C_SOURCES += \ 7 | user_app/radio_hal/sx128x_hal.c\ 8 | user_app/radio_hal/ral_sx128x_bsp.c 9 | 10 | #----------------------------------------------------------------------------- 11 | # Includes 12 | #----------------------------------------------------------------------------- 13 | MODEM_C_INCLUDES = \ 14 | -I$(LORA_BASICS_MODEM)/smtc_modem_core/radio_drivers/sx128x_driver/src\ 15 | -I$(LORA_BASICS_MODEM)/smtc_modem_core/smtc_ralf/src \ 16 | -I$(LORA_BASICS_MODEM)/smtc_modem_core/smtc_ral/src 17 | 18 | #----------------------------------------------------------------------------- 19 | # Radio specific compilation flags 20 | #----------------------------------------------------------------------------- 21 | MODEM_C_DEFS += \ 22 | -DSX128X 23 | -------------------------------------------------------------------------------- /lora_basics_modem/lora_basics_modem/smtc_modem_core/radio_drivers/sx126x_driver/README.md: -------------------------------------------------------------------------------- 1 | # SX126X driver 2 | 3 | This package proposes an implementation in C of the driver for **SX126X** radio component. 4 | Please see the [changelog](CHANGELOG.md) for more information. 5 | 6 | ## Structure 7 | 8 | The driver is defined as follows: 9 | 10 | - sx126x.c: implementation of the driver functions 11 | - sx126x.h: declarations of the driver functions 12 | - sx126x_regs.h: definitions of all useful registers (address and fields) 13 | - sx126x_hal.h: declarations of the HAL functions (to be implemented by the user - see below) 14 | - lr_fhss_mac.c: Transceiver-independent LR-FHSS implementation 15 | - sx126x_lr_fhss.c: Transceiver-dependent LR-FHSS implementation 16 | - lr_fhss_mac.h: Transceiver-independent LR-FHSS declarations 17 | - sx126x_lr_fhss.h: Transceiver-dependent LR-FHSS declarations 18 | - lr_fhss_v1_base_types.h: LR-FHSS type interface 19 | 20 | ## HAL 21 | 22 | The HAL (Hardware Abstraction Layer) is a collection of functions the user shall implement to write platform-dependant calls to the host. The list of functions is the following: 23 | 24 | - sx126x_hal_reset 25 | - sx126x_hal_wakeup 26 | - sx126x_hal_write 27 | - sx126x_hal_read 28 | -------------------------------------------------------------------------------- /shields/LR11XX/smtc_shield_lr11xx/README.md: -------------------------------------------------------------------------------- 1 | # LR11xx shields 2 | 3 | ## List 4 | 5 | The list of compatible Semtech LR1110 shields is: 6 | 7 | | Shield | PCB | Frequency matching | Characteristics | 8 | | ------------ | -------- | ------------------ | -------------------------------------- | 9 | | LR1110MB1DIS | E516V02B | 868/915 MHz | GNSS with LNA for Passive GNSS Antenna | 10 | | LR1110MB1DJS | E592V01B | 868/915 MHz | GNSS without LNA | 11 | | LR1110MB1GIS | E516V02B | 490 MHz | GNSS with LNA for Passive GNSS Antenna | 12 | | LR1110MB1GJS | E592V01B | 490 MHz | GNSS without LNA | 13 | 14 | The list of compatible Semtech LR1120 shields is: 15 | 16 | | Shield | PCB | Frequency matching | Characteristics | 17 | | ------------ | -------- | ------------------ | -------------------------------------- | 18 | | LR1120MB1DIS | E655V01A | 868/915 MHz | GNSS with LNA for Passive GNSS Antenna | 19 | | LR1120MB1DJS | E656V01A | 868/915 MHz | GNSS without LNA | 20 | | LR1120MB1GIS | E655V01A | 490 MHz | GNSS with LNA for Passive GNSS Antenna | 21 | | LR1120MB1GJS | E656V01A | 490 MHz | GNSS without LNA | 22 | -------------------------------------------------------------------------------- /lora_basics_modem/makefiles/common.mk: -------------------------------------------------------------------------------- 1 | #----------------------------------------------------------------------------- 2 | # Indicates library location 3 | #----------------------------------------------------------------------------- 4 | 5 | C_INCLUDES += \ 6 | -I$(LORA_BASICS_MODEM)/smtc_modem_api/ \ 7 | -I$(LORA_BASICS_MODEM)/smtc_modem_hal/ \ 8 | -I$(LORA_BASICS_MODEM)/smtc_modem_core/smtc_ralf/src \ 9 | -I$(LORA_BASICS_MODEM)/smtc_modem_core/smtc_ral/src 10 | 11 | 12 | # Add printers 13 | C_INCLUDES += -I$(TOP_DIR)/lora_basics_modem/printers/\ 14 | 15 | 16 | C_SOURCES += \ 17 | $(TOP_DIR)/lora_basics_modem/printers/smtc_modem_api_str.c 18 | 19 | #----------------------------------------------------------------------------- 20 | # Buid targets 21 | #----------------------------------------------------------------------------- 22 | .PHONY: build_basic_modem 23 | 24 | build_basic_modem: 25 | $(MAKE) -C $(LORA_BASICS_MODEM) basic_modem MCU_FLAGS="$(MCU)" RADIO=$(RADIO) RP_VERSION=$(RP_VERSION) MODEM_TRACE=$(MODEM_TRACE) CRYPTO=$(CRYPTO) MIDDLEWARE=$(MIDDLEWARE) DEBUG=$(DEBUG) 26 | 27 | #----------------------------------------------------------------------------- 28 | # Clean targets 29 | #----------------------------------------------------------------------------- 30 | 31 | .PHONY: clean_lbm 32 | clean_lbm: 33 | $(MAKE) -C $(LORA_BASICS_MODEM) clean_all 34 | -------------------------------------------------------------------------------- /lora_basics_modem/makefiles/printing.mk: -------------------------------------------------------------------------------- 1 | ###################################### 2 | # Some pretty colors and printing 3 | ###################################### 4 | 5 | ###################################### 6 | # Verbose build 7 | ###################################### 8 | ifdef VERBOSE 9 | SILENT = 10 | else 11 | SILENT = @ 12 | endif 13 | 14 | # Shell colors 15 | BOLD_RED := '\033[1;31m' 16 | BOLD_CYAN := '\033[1;36m' 17 | BOLD_GREEN := '\033[1;32m' 18 | BOLD_PURPLE := '\033[1;35m' 19 | BOLD_YELLOW:= '\033[1;33m' 20 | IPURPLE:= '\033[0;95m' 21 | BIPURPLE:= '\033[1;95m' 22 | 23 | NC := '\033[0m' # no color 24 | ECHO = @echo -e $(LIGHT_CYAN) 25 | ECHO_OK = @echo -e $(LIGHT_GREEN) 26 | ECHO_CMD = /bin/echo 27 | 28 | define echo 29 | @$(ECHO_CMD) -e $(BOLD_CYAN)$(1)$(NC) 30 | endef 31 | 32 | define echo_error 33 | @$(ECHO_CMD) -e $(BOLD_RED)'! '$(1)$(NC) 34 | endef 35 | 36 | define build 37 | @echo -e $(BOLD_CYAN)'['$(1)'] Building '$(2)$(NC) 38 | endef 39 | 40 | define success 41 | @echo -e $(BOLD_GREEN)'+ '$(1)' [SUCCESS]'$(NC) 42 | endef 43 | 44 | define warn 45 | @$(ECHO_CMD) -e $(BOLD_PURPLE)'! '$(1)$(NC) 46 | endef 47 | 48 | define echo_help 49 | @$(ECHO_CMD) -e $(IPURPLE)'| '$(1)$(NC) 50 | endef 51 | 52 | define echo_help_b 53 | @$(ECHO_CMD) -e $(BIPURPLE)' '$(1)$(NC) 54 | endef 55 | 56 | define echo_build 57 | @$(ECHO_CMD) -e $(BOLD_YELLOW)$(1)$(NC) 58 | endef 59 | -------------------------------------------------------------------------------- /lora_basics_modem/lora_basics_modem/makefiles/printing.mk: -------------------------------------------------------------------------------- 1 | ###################################### 2 | # Some pretty colors and printing 3 | ###################################### 4 | 5 | ###################################### 6 | # Verbose build 7 | ###################################### 8 | ifdef VERBOSE 9 | SILENT = 10 | else 11 | SILENT = @ 12 | endif 13 | 14 | # Shell colors 15 | BOLD_RED := '\033[1;31m' 16 | BOLD_CYAN := '\033[1;36m' 17 | BOLD_GREEN := '\033[1;32m' 18 | BOLD_PURPLE := '\033[1;35m' 19 | BOLD_YELLOW:= '\033[1;33m' 20 | IPURPLE:= '\033[0;95m' 21 | BIPURPLE:= '\033[1;95m' 22 | 23 | NC := '\033[0m' # no color 24 | ECHO = @echo -e $(LIGHT_CYAN) 25 | ECHO_OK = @echo -e $(LIGHT_GREEN) 26 | ECHO_CMD = /bin/echo 27 | 28 | define echo 29 | @$(ECHO_CMD) -e $(BOLD_CYAN)$(1)$(NC) 30 | endef 31 | 32 | define echo_error 33 | @$(ECHO_CMD) -e $(BOLD_RED)'! '$(1)$(NC) 34 | endef 35 | 36 | define build 37 | @echo -e $(BOLD_CYAN)'['$(1)'] Building '$(2)$(NC) 38 | endef 39 | 40 | define success 41 | @echo -e $(BOLD_GREEN)'+ '$(1)' [SUCCESS]'$(NC) 42 | endef 43 | 44 | define warn 45 | @$(ECHO_CMD) -e $(BOLD_PURPLE)'! '$(1)$(NC) 46 | endef 47 | 48 | define echo_help 49 | @$(ECHO_CMD) -e $(IPURPLE)'| '$(1)$(NC) 50 | endef 51 | 52 | define echo_help_b 53 | @$(ECHO_CMD) -e $(BIPURPLE)' '$(1)$(NC) 54 | endef 55 | 56 | define echo_build 57 | @$(ECHO_CMD) -e $(BOLD_YELLOW)$(1)$(NC) 58 | endef 59 | -------------------------------------------------------------------------------- /lora_basics_modem/lora_basics_modem/makefiles/sx128x.mk: -------------------------------------------------------------------------------- 1 | ############################################################################## 2 | # Definitions for the SX128x tranceiver 3 | ############################################################################## 4 | TARGET = sx128x 5 | 6 | RADIO_DRIVER_C_SOURCES += \ 7 | smtc_modem_core/radio_drivers/sx128x_driver/src/sx128x.c 8 | 9 | SMTC_RAL_C_SOURCES += \ 10 | smtc_modem_core/smtc_ral/src/ral_sx128x.c 11 | 12 | SMTC_RALF_C_SOURCES += \ 13 | smtc_modem_core/smtc_ralf/src/ralf_sx128x.c 14 | 15 | LR1MAC_C_SOURCES += \ 16 | smtc_modem_core/lr1mac/src/smtc_real/src/region_ww2g4.c 17 | 18 | SMTC_MODEM_CRYPTO_C_SOURCES += \ 19 | smtc_modem_core/smtc_modem_crypto/soft_secure_element/aes.c\ 20 | smtc_modem_core/smtc_modem_crypto/soft_secure_element/cmac.c\ 21 | smtc_modem_core/smtc_modem_crypto/soft_secure_element/soft_se.c 22 | 23 | #----------------------------------------------------------------------------- 24 | # Includes 25 | #----------------------------------------------------------------------------- 26 | MODEM_C_INCLUDES = \ 27 | -Ismtc_modem_core/radio_drivers/sx128x_driver/src\ 28 | -Ismtc_modem_core/smtc_modem_crypto/soft_secure_element 29 | 30 | #----------------------------------------------------------------------------- 31 | # Radio specific compilation flags 32 | #----------------------------------------------------------------------------- 33 | MODEM_C_DEFS += \ 34 | -DSX128X 35 | -------------------------------------------------------------------------------- /shields/SX126X/smtc_shield_sx126x/README.md: -------------------------------------------------------------------------------- 1 | # SX126x shields 2 | 3 | ## List 4 | 5 | The list of compatible Semtech SX1261 shields is: 6 | 7 | | Shield | PCB | Frequency matching | Characteristics | 8 | | ------------ | -------- | ------------------ | --------------------------------- | 9 | | SX1261MB1BAS | E406V03A | 868 MHz | XTAL / RF switch / Rx and Tx LEDs | 10 | | SX1261MB1CAS | E449V01A | 923 MHz | TCXO / RF switch / Rx and Tx LEDs | 11 | | SX1261MB2BAS | E498V01A | 868 MHz | XTAL / RF switch | 12 | 13 | The list of compatible Semtech SX1262 shields is: 14 | 15 | | Shield | PCB | Frequency matching | Characteristics | 16 | | ------------ | -------- | ------------------ | --------------------------------- | 17 | | SX1262MB1CAS | E428V03A | 915 MHz | XTAL / RF switch / Rx and Tx LEDs | 18 | | SX1262MB1CBS | E449V01A | 923 MHz | TCXO / RF switch / Rx and Tx LEDs | 19 | | SX1262MB1DAS | E449V01A | 866 MHz | TCXO / RF switch / Rx and Tx LEDs | 20 | | SX1262MB1PAS | E449V01A | 923/915 MHz | TCXO / RF switch / Rx and Tx LEDs | 21 | | SX1262MB2CAS | E499V01B | 915 MHz | XTAL / RF switch | 22 | 23 | The list of compatible Semtech SX1268 shields is: 24 | 25 | | Shield | PCB | Frequency matching | Characteristics | 26 | | ------------ | -------- | ------------------ | --------------------------------- | 27 | | SX1268MB1GAS | E512V01A | 490 MHz | XTAL / RF switch / Rx and Tx LEDs | 28 | -------------------------------------------------------------------------------- /lora_basics_modem/lora_basics_modem/smtc_modem_core/radio_drivers/sx126x_driver/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Changelog 2 | 3 | All notable changes to this project will be documented in this file. 4 | 5 | The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). 6 | 7 | ## [2.1.0] - 2022-05-18 8 | 9 | ### Added 10 | 11 | - `sx126x_set_gfsk_pkt_address()` function - configure both GFSK node and brodcast filtering addresses 12 | - `sx126x_handle_rx_done()` function - perform all requested actions when the chip leaves the Rx mode 13 | 14 | ## [2.0.1] - 2021-11-23 15 | 16 | ### Added 17 | 18 | - Support of LR-FHSS (see `sx126x_lr_fhss.c` and `sx126x_lr_fhss.h`) 19 | - `sx126x_get_lora_params_from_header()` function - extracts the LoRa coding rate and CRC configuration from the packet header 20 | - `sx126x_add_registers_to_retention_list()` function - allows to add up to 4 registers to the retention list 21 | - `sx126x_init_retention_list()` - add registers used by workarounds in the driver to the retention list 22 | - `sx126x_cal_img_in_mhz()` - takes frequency interval bounds in MHz for calibration 23 | 24 | ### Changed 25 | 26 | - Revised BSD License changed to the Clear BSD License 27 | - `sx126x_set_lora_symb_nb_timeout` now rounds up to nearest possible number of symbol 28 | - `SX126X_REG_IRQ_POLARITY` is renamed `SX126X_REG_IQ_POLARITY` 29 | - `sx126x_cal_img()` function - takes frequency interval bounds in raw steps 30 | 31 | ## [1.0.0] - 2020-09-24 32 | 33 | ### General 34 | 35 | - Initial version 36 | -------------------------------------------------------------------------------- /lora_basics_modem/lora_basics_modem/smtc_modem_core/smtc_ralf/license.md: -------------------------------------------------------------------------------- 1 | Revised BSD License 2 | Copyright Semtech Corporation 2020. All rights reserved. 3 | 4 | Redistribution and use in source and binary forms, with or without 5 | modification, are permitted provided that the following conditions are met: 6 | * Redistributions of source code must retain the above copyright 7 | notice, this list of conditions and the following disclaimer. 8 | * Redistributions in binary form must reproduce the above copyright 9 | notice, this list of conditions and the following disclaimer in the 10 | documentation and/or other materials provided with the distribution. 11 | * Neither the name of the Semtech corporation nor the 12 | names of its contributors may be used to endorse or promote products 13 | derived from this software without specific prior written permission. 14 | 15 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 16 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18 | ARE DISCLAIMED. IN NO EVENT SHALL SEMTECH CORPORATION BE LIABLE FOR ANY 19 | DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 20 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 21 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 22 | ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 23 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 24 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 25 | -------------------------------------------------------------------------------- /lora_basics_modem/lora_basics_modem/smtc_modem_core/lr1mac/license.md: -------------------------------------------------------------------------------- 1 | --- Revised BSD License --- 2 | Copyright (c) 2020, SEMTECH CORPORATION 3 | All rights reserved. 4 | 5 | Redistribution and use in source and binary forms, with or without 6 | modification, are permitted provided that the following conditions are met: 7 | * Redistributions of source code must retain the above copyright 8 | notice, this list of conditions and the following disclaimer. 9 | * Redistributions in binary form must reproduce the above copyright 10 | notice, this list of conditions and the following disclaimer in the 11 | documentation and/or other materials provided with the distribution. 12 | * Neither the name of the Semtech corporation nor the 13 | names of its contributors may be used to endorse or promote products 14 | derived from this software without specific prior written permission. 15 | 16 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 17 | ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 18 | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 19 | DISCLAIMED. IN NO EVENT SHALL SEMTECH CORPORATION BE LIABLE FOR ANY 20 | DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 21 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 22 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 23 | ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 24 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 25 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- /lora_basics_modem/lora_basics_modem/smtc_modem_core/radio_planner/license.md: -------------------------------------------------------------------------------- 1 | --- Revised BSD License --- 2 | Copyright (c) 2020, SEMTECH CORPORATION 3 | All rights reserved. 4 | 5 | Redistribution and use in source and binary forms, with or without 6 | modification, are permitted provided that the following conditions are met: 7 | * Redistributions of source code must retain the above copyright 8 | notice, this list of conditions and the following disclaimer. 9 | * Redistributions in binary form must reproduce the above copyright 10 | notice, this list of conditions and the following disclaimer in the 11 | documentation and/or other materials provided with the distribution. 12 | * Neither the name of the Semtech corporation nor the 13 | names of its contributors may be used to endorse or promote products 14 | derived from this software without specific prior written permission. 15 | 16 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 17 | ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 18 | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 19 | DISCLAIMED. IN NO EVENT SHALL SEMTECH CORPORATION BE LIABLE FOR ANY 20 | DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 21 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 22 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 23 | ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 24 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 25 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- /lora_basics_modem/lora_basics_modem/utilities/makefiles/sx126x.mk: -------------------------------------------------------------------------------- 1 | ############################################################################## 2 | # Definitions for the SX128x tranceiver 3 | ############################################################################## 4 | ifeq ($(RADIO),sx1261) 5 | TARGET = sx1261 6 | endif 7 | ifeq ($(RADIO),sx1262) 8 | TARGET = sx1262 9 | endif 10 | ifeq ($(RADIO),sx1268) 11 | TARGET = sx1268 12 | endif 13 | 14 | #----------------------------------------------------------------------------- 15 | # Common sources 16 | #----------------------------------------------------------------------------- 17 | 18 | RADIO_HAL_C_SOURCES += \ 19 | user_app/radio_hal/sx126x_hal.c \ 20 | user_app/radio_hal/ral_sx126x_bsp.c 21 | 22 | #----------------------------------------------------------------------------- 23 | # Includes 24 | #----------------------------------------------------------------------------- 25 | MODEM_C_INCLUDES = \ 26 | -I$(LORA_BASICS_MODEM)/smtc_modem_core/radio_drivers/sx126x_driver/src\ 27 | -I$(LORA_BASICS_MODEM)/smtc_modem_core/smtc_ralf/src \ 28 | -I$(LORA_BASICS_MODEM)/smtc_modem_core/smtc_ral/src 29 | 30 | #----------------------------------------------------------------------------- 31 | # Region 32 | #----------------------------------------------------------------------------- 33 | 34 | #----------------------------------------------------------------------------- 35 | # Radio specific compilation flags 36 | #----------------------------------------------------------------------------- 37 | MODEM_C_DEFS += \ 38 | -DSX126X 39 | 40 | ifeq ($(RADIO),sx1262) 41 | MODEM_C_DEFS += \ 42 | -DSX1262 43 | endif 44 | 45 | ifeq ($(RADIO),sx1268) 46 | MODEM_C_DEFS += \ 47 | -DSX1268 48 | endif 49 | -------------------------------------------------------------------------------- /lora_basics_modem/lora_basics_modem/smtc_modem_api/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Lora Basics Modem API changelog 2 | 3 | All notable changes to this project will be documented in this file. 4 | 5 | The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). 6 | 7 | ## [v3.0.0] Unreleased 8 | 9 | ### Added 10 | 11 | * [class_b] `smtc_modem_lorawan_class_b_request_ping_slot_info()` function 12 | * [class_b] `smtc_modem_class_b_set_ping_slot_periodicity()` function 13 | * [class_b] `smtc_modem_class_b_get_ping_slot_periodicity()` function 14 | * [multicast] `smtc_modem_multicast_class_b_start_session()` function 15 | * [multicast] `smtc_modem_multicast_class_b_get_session_status()` function 16 | * [multicast] `smtc_modem_multicast_class_b_stop_all_sessions()` function 17 | * [LoRaWAN] `smtc_modem_lorawan_get_lost_connection_counter()` function 18 | 19 | ### Changed 20 | 21 | * [multicast] `smtc_modem_multicast_start_session()` function is renamed `smtc_modem_multicast_class_c_start_session()` 22 | * [multicast] `smtc_modem_multicast_get_session_status()` function is renamed `smtc_modem_multicast_class_c_get_session_status()` 23 | * [multicast] `smtc_modem_multicast_stop_session()` function is renamed `smtc_modem_multicast_class_c_stop_session()` 24 | * [multicast] `smtc_modem_multicast_stop_all_sessions()` function is renamed `smtc_modem_multicast_class_c_stop_all_sessions()` 25 | * [time_sync] `smtc_modem_time_trigger_sync_request` function does not take `sync_service` parameter anymore and will use the current enabled time synchronization service 26 | 27 | ### Fixed 28 | 29 | ### Removed 30 | 31 | 32 | ## [v2.1.0] 2021-09-24 33 | 34 | ### Added 35 | 36 | * [all] Initial version 37 | -------------------------------------------------------------------------------- /lora_basics_modem/lora_basics_modem/LICENSE.txt: -------------------------------------------------------------------------------- 1 | The Clear BSD License 2 | Copyright Semtech Corporation 2022. All rights reserved. 3 | 4 | Redistribution and use in source and binary forms, with or without 5 | modification, are permitted (subject to the limitations in the disclaimer 6 | below) provided that the following conditions are met: 7 | * Redistributions of source code must retain the above copyright 8 | notice, this list of conditions and the following disclaimer. 9 | * Redistributions in binary form must reproduce the above copyright 10 | notice, this list of conditions and the following disclaimer in the 11 | documentation and/or other materials provided with the distribution. 12 | * Neither the name of the Semtech corporation nor the 13 | names of its contributors may be used to endorse or promote products 14 | derived from this software without specific prior written permission. 15 | 16 | NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY 17 | THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 18 | CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT 19 | NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A 20 | PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SEMTECH CORPORATION BE 21 | LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 22 | CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 23 | SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 24 | INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 25 | CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 26 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 27 | POSSIBILITY OF SUCH DAMAGE. 28 | -------------------------------------------------------------------------------- /lora_basics_modem/lora_basics_modem/smtc_modem_core/smtc_ral/license.md: -------------------------------------------------------------------------------- 1 | The Clear BSD License 2 | Copyright Semtech Corporation 2021. All rights reserved. 3 | 4 | Redistribution and use in source and binary forms, with or without 5 | modification, are permitted (subject to the limitations in the disclaimer 6 | below) provided that the following conditions are met: 7 | * Redistributions of source code must retain the above copyright 8 | notice, this list of conditions and the following disclaimer. 9 | * Redistributions in binary form must reproduce the above copyright 10 | notice, this list of conditions and the following disclaimer in the 11 | documentation and/or other materials provided with the distribution. 12 | * Neither the name of the Semtech corporation nor the 13 | names of its contributors may be used to endorse or promote products 14 | derived from this software without specific prior written permission. 15 | 16 | NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY 17 | THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 18 | CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT 19 | NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A 20 | PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SEMTECH CORPORATION BE 21 | LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 22 | CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 23 | SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 24 | INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 25 | CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 26 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 27 | POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- /lora_basics_modem/lora_basics_modem/smtc_modem_core/radio_drivers/sx126x_driver/LICENSE.txt: -------------------------------------------------------------------------------- 1 | The Clear BSD License 2 | Copyright Semtech Corporation 2021. All rights reserved. 3 | 4 | Redistribution and use in source and binary forms, with or without 5 | modification, are permitted (subject to the limitations in the disclaimer 6 | below) provided that the following conditions are met: 7 | * Redistributions of source code must retain the above copyright 8 | notice, this list of conditions and the following disclaimer. 9 | * Redistributions in binary form must reproduce the above copyright 10 | notice, this list of conditions and the following disclaimer in the 11 | documentation and/or other materials provided with the distribution. 12 | * Neither the name of the Semtech corporation nor the 13 | names of its contributors may be used to endorse or promote products 14 | derived from this software without specific prior written permission. 15 | 16 | NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY 17 | THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 18 | CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT 19 | NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A 20 | PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SEMTECH CORPORATION BE 21 | LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 22 | CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 23 | SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 24 | INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 25 | CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 26 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 27 | POSSIBILITY OF SUCH DAMAGE. 28 | -------------------------------------------------------------------------------- /lora_basics_modem/lora_basics_modem/smtc_modem_core/radio_drivers/sx128x_driver/LICENSE.txt: -------------------------------------------------------------------------------- 1 | The Clear BSD License 2 | Copyright Semtech Corporation 2021. All rights reserved. 3 | 4 | Redistribution and use in source and binary forms, with or without 5 | modification, are permitted (subject to the limitations in the disclaimer 6 | below) provided that the following conditions are met: 7 | * Redistributions of source code must retain the above copyright 8 | notice, this list of conditions and the following disclaimer. 9 | * Redistributions in binary form must reproduce the above copyright 10 | notice, this list of conditions and the following disclaimer in the 11 | documentation and/or other materials provided with the distribution. 12 | * Neither the name of the Semtech corporation nor the 13 | names of its contributors may be used to endorse or promote products 14 | derived from this software without specific prior written permission. 15 | 16 | NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY 17 | THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 18 | CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT 19 | NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A 20 | PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SEMTECH CORPORATION BE 21 | LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 22 | CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 23 | SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 24 | INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 25 | CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 26 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 27 | POSSIBILITY OF SUCH DAMAGE. 28 | -------------------------------------------------------------------------------- /host_driver/STMicroelectronics/STM32L4xx/Drivers/CMSIS/Include/cmsis_version.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************//** 2 | * @file cmsis_version.h 3 | * @brief CMSIS Core(M) Version definitions 4 | * @version V5.0.3 5 | * @date 24. June 2019 6 | ******************************************************************************/ 7 | /* 8 | * Copyright (c) 2009-2019 ARM Limited. All rights reserved. 9 | * 10 | * SPDX-License-Identifier: Apache-2.0 11 | * 12 | * Licensed under the Apache License, Version 2.0 (the License); you may 13 | * not use this file except in compliance with the License. 14 | * You may obtain a copy of the License at 15 | * 16 | * www.apache.org/licenses/LICENSE-2.0 17 | * 18 | * Unless required by applicable law or agreed to in writing, software 19 | * distributed under the License is distributed on an AS IS BASIS, WITHOUT 20 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 21 | * See the License for the specific language governing permissions and 22 | * limitations under the License. 23 | */ 24 | 25 | #if defined ( __ICCARM__ ) 26 | #pragma system_include /* treat file as system include file for MISRA check */ 27 | #elif defined (__clang__) 28 | #pragma clang system_header /* treat file as system include file */ 29 | #endif 30 | 31 | #ifndef __CMSIS_VERSION_H 32 | #define __CMSIS_VERSION_H 33 | 34 | /* CMSIS Version definitions */ 35 | #define __CM_CMSIS_VERSION_MAIN ( 5U) /*!< [31:16] CMSIS Core(M) main version */ 36 | #define __CM_CMSIS_VERSION_SUB ( 3U) /*!< [15:0] CMSIS Core(M) sub version */ 37 | #define __CM_CMSIS_VERSION ((__CM_CMSIS_VERSION_MAIN << 16U) | \ 38 | __CM_CMSIS_VERSION_SUB ) /*!< CMSIS Core(M) version number */ 39 | #endif 40 | -------------------------------------------------------------------------------- /lora_basics_modem/lora_basics_modem/utilities/makefiles/lr11xx.mk: -------------------------------------------------------------------------------- 1 | ############################################################################## 2 | # Definitions for the LR11XX tranceiver 3 | ############################################################################## 4 | ifeq ($(RADIO),lr1110) 5 | TARGET = lr1110 6 | endif 7 | ifeq ($(RADIO),lr1120) 8 | TARGET = lr1120 9 | endif 10 | 11 | #----------------------------------------------------------------------------- 12 | # User application sources 13 | #----------------------------------------------------------------------------- 14 | 15 | #----------------------------------------------------------------------------- 16 | # Common sources 17 | #----------------------------------------------------------------------------- 18 | 19 | 20 | RADIO_HAL_C_SOURCES += \ 21 | user_app/radio_hal/lr11xx_hal.c\ 22 | user_app/radio_hal/ral_lr11xx_bsp.c 23 | 24 | #----------------------------------------------------------------------------- 25 | # Includes 26 | #----------------------------------------------------------------------------- 27 | # XXX This is needed for the following: 28 | # - lr11xx_hal.h 29 | # - ral_defs.f 30 | # - ralf_defs.f 31 | MODEM_C_INCLUDES = \ 32 | -I$(LORA_BASICS_MODEM)/smtc_modem_core/radio_drivers/lr11xx_driver/src \ 33 | -I$(LORA_BASICS_MODEM)/smtc_modem_core/smtc_ralf/src \ 34 | -I$(LORA_BASICS_MODEM)/smtc_modem_core/smtc_ral/src 35 | 36 | #----------------------------------------------------------------------------- 37 | # Radio specific compilation flags 38 | #----------------------------------------------------------------------------- 39 | MODEM_C_DEFS += \ 40 | -DLR11XX\ 41 | -DLR11XX_TRANSCEIVER 42 | 43 | ifeq ($(USE_LR11XX_CRC_SPI),yes) 44 | MODEM_C_DEFS += \ 45 | -DUSE_LR11XX_CRC_OVER_SPI 46 | endif 47 | 48 | # GNSS USE 49 | ifeq ($(USE_GNSS),yes) 50 | MODEM_C_DEFS += \ 51 | -DENABLE_MODEM_GNSS_FEATURE 52 | endif 53 | -------------------------------------------------------------------------------- /lora_basics_modem/lora_basics_modem/smtc_modem_core/radio_drivers/lr11xx_driver/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # LR11xx driver changelog 2 | 3 | All notable changes to this project will be documented in this file. 4 | 5 | The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). 6 | 7 | ## [v2.1.1] 2022-04-06 8 | 9 | ### Fixed 10 | 11 | * [radio] Order of the parameters in `lr11xx_radio_set_rssi_calibration()` function 12 | 13 | ## [v2.1.0] 2022-03-28 14 | 15 | ### Added 16 | 17 | * [radio] `lr11xx_radio_apply_high_acp_workaround()` function 18 | * [radio] `lr11xx_radio_set_rssi_calibration()` function 19 | * [radio] `LR11XX_RADIO_LORA_BW_200`, `LR11XX_RADIO_LORA_BW_400` and `LR11XX_RADIO_LORA_BW_800` entries to `lr11xx_radio_lora_bw_t` 20 | * [radio] `LR11XX_RADIO_GFSK_PKT_VAR_LEN_SX128X_COMP` entry in `lr11xx_radio_gfsk_pkt_len_modes_t` to support compatibility with SX128x 21 | * [radio] `LR11XX_RADIO_GFSK_DC_FREE_WHITENING_SX128X_COMP` entry in `lr11xx_radio_gfsk_dc_free_t` to support compatibility with SX128x 22 | * [GNSS] `lr1110_gnss_get_consumption` function 23 | * [Wi-Fi] `lr1110_wifi_get_consumption` function 24 | * [Wi-Fi] `lr11xx_wifi_are_scan_mode_result_format_compatible` function 25 | 26 | ### Changed 27 | 28 | * [radio] Call to `lr11xx_radio_apply_high_acp_workaround()` in `lr11xx_radio_set_tx_with_timeout_in_rtc_step()`, `lr11xx_radio_set_rx_with_timeout_in_rtc_step()`, `lr11xx_radio_set_cad()` and `lr11xx_radio_set_tx_infinite_preamble()` (can be removed by defining `LR11XX_DISABLE_HIGH_ACP_WORKAROUND`) 29 | * [Wi-Fi] Define type `lr11xx_wifi_country_code_str_t` for Wi-Fi country code data and update `lr11xx_wifi_extended_full_result_t` and `lr11xx_wifi_country_code_t` to use it. 30 | 31 | ## [v1.0.0] Unreleased 32 | 33 | ### Added 34 | 35 | * [all] Initial version - based on LR1110 driver v7.0.0 36 | -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- 1 | License for the code produced by Semtech contained in this project 2 | ------------------------------------------------------------------ 3 | 4 | The Clear BSD License 5 | Copyright Semtech Corporation 2022. All rights reserved. 6 | 7 | Redistribution and use in source and binary forms, with or without 8 | modification, are permitted (subject to the limitations in the disclaimer 9 | below) provided that the following conditions are met: 10 | * Redistributions of source code must retain the above copyright 11 | notice, this list of conditions and the following disclaimer. 12 | * Redistributions in binary form must reproduce the above copyright 13 | notice, this list of conditions and the following disclaimer in the 14 | documentation and/or other materials provided with the distribution. 15 | * Neither the name of the Semtech corporation nor the 16 | names of its contributors may be used to endorse or promote products 17 | derived from this software without specific prior written permission. 18 | 19 | NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY 20 | THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 21 | CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT 22 | NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A 23 | PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SEMTECH CORPORATION BE 24 | LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 25 | CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 26 | SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 27 | INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 28 | CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 29 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 30 | POSSIBILITY OF SUCH DAMAGE. 31 | -------------------------------------------------------------------------------- /lora_basics_modem/lora_basics_modem/utilities/user_app/mcu_drivers/cmsis/Core/Include/cmsis_version.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************//** 2 | * @file cmsis_version.h 3 | * @brief CMSIS Core(M) Version definitions 4 | * @version V5.0.3 5 | * @date 24. June 2019 6 | ******************************************************************************/ 7 | /* 8 | * Copyright (c) 2009-2019 ARM Limited. All rights reserved. 9 | * 10 | * SPDX-License-Identifier: Apache-2.0 11 | * 12 | * Licensed under the Apache License, Version 2.0 (the License); you may 13 | * not use this file except in compliance with the License. 14 | * You may obtain a copy of the License at 15 | * 16 | * www.apache.org/licenses/LICENSE-2.0 17 | * 18 | * Unless required by applicable law or agreed to in writing, software 19 | * distributed under the License is distributed on an AS IS BASIS, WITHOUT 20 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 21 | * See the License for the specific language governing permissions and 22 | * limitations under the License. 23 | */ 24 | 25 | #if defined ( __ICCARM__ ) 26 | #pragma system_include /* treat file as system include file for MISRA check */ 27 | #elif defined (__clang__) 28 | #pragma clang system_header /* treat file as system include file */ 29 | #endif 30 | 31 | #ifndef __CMSIS_VERSION_H 32 | #define __CMSIS_VERSION_H 33 | 34 | /* CMSIS Version definitions */ 35 | #define __CM_CMSIS_VERSION_MAIN ( 5U) /*!< [31:16] CMSIS Core(M) main version */ 36 | #define __CM_CMSIS_VERSION_SUB ( 3U) /*!< [15:0] CMSIS Core(M) sub version */ 37 | #define __CM_CMSIS_VERSION ((__CM_CMSIS_VERSION_MAIN << 16U) | \ 38 | __CM_CMSIS_VERSION_SUB ) /*!< CMSIS Core(M) version number */ 39 | #endif 40 | -------------------------------------------------------------------------------- /lora_basics_modem/lora_basics_modem/smtc_modem_core/radio_drivers/lr11xx_driver/LICENSE.txt: -------------------------------------------------------------------------------- 1 | License for the code produced by Semtech contained in this project 2 | ------------------------------------------------------------------ 3 | 4 | The Clear BSD License 5 | Copyright Semtech Corporation 2022. All rights reserved. 6 | 7 | Redistribution and use in source and binary forms, with or without 8 | modification, are permitted (subject to the limitations in the disclaimer 9 | below) provided that the following conditions are met: 10 | * Redistributions of source code must retain the above copyright 11 | notice, this list of conditions and the following disclaimer. 12 | * Redistributions in binary form must reproduce the above copyright 13 | notice, this list of conditions and the following disclaimer in the 14 | documentation and/or other materials provided with the distribution. 15 | * Neither the name of the Semtech corporation nor the 16 | names of its contributors may be used to endorse or promote products 17 | derived from this software without specific prior written permission. 18 | 19 | NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY 20 | THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 21 | CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT 22 | NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A 23 | PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SEMTECH CORPORATION BE 24 | LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 25 | CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 26 | SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 27 | INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 28 | CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 29 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 30 | POSSIBILITY OF SUCH DAMAGE. 31 | -------------------------------------------------------------------------------- /lora_basics_modem/lora_basics_modem/makefiles/sx126x.mk: -------------------------------------------------------------------------------- 1 | ############################################################################## 2 | # Definitions for the SX128x tranceiver 3 | ############################################################################## 4 | ifeq ($(RADIO),sx1261) 5 | TARGET = sx1261 6 | endif 7 | ifeq ($(RADIO),sx1262) 8 | TARGET = sx1262 9 | endif 10 | ifeq ($(RADIO),sx1268) 11 | TARGET = sx1268 12 | endif 13 | 14 | RADIO_DRIVER_C_SOURCES += \ 15 | smtc_modem_core/radio_drivers/sx126x_driver/src/sx126x.c\ 16 | smtc_modem_core/radio_drivers/sx126x_driver/src/sx126x_lr_fhss.c\ 17 | smtc_modem_core/radio_drivers/sx126x_driver/src/lr_fhss_mac.c 18 | 19 | SMTC_RAL_C_SOURCES += \ 20 | smtc_modem_core/smtc_ral/src/ral_sx126x.c 21 | 22 | SMTC_RALF_C_SOURCES += \ 23 | smtc_modem_core/smtc_ralf/src/ralf_sx126x.c 24 | 25 | SMTC_MODEM_CRYPTO_C_SOURCES += \ 26 | smtc_modem_core/smtc_modem_crypto/soft_secure_element/aes.c\ 27 | smtc_modem_core/smtc_modem_crypto/soft_secure_element/cmac.c\ 28 | smtc_modem_core/smtc_modem_crypto/soft_secure_element/soft_se.c 29 | 30 | #----------------------------------------------------------------------------- 31 | # Includes 32 | #----------------------------------------------------------------------------- 33 | MODEM_C_INCLUDES = \ 34 | -Ismtc_modem_core/radio_drivers/sx126x_driver/src\ 35 | -Ismtc_modem_core/smtc_modem_crypto/soft_secure_element 36 | 37 | #----------------------------------------------------------------------------- 38 | # Region 39 | #----------------------------------------------------------------------------- 40 | 41 | #----------------------------------------------------------------------------- 42 | # Radio specific compilation flags 43 | #----------------------------------------------------------------------------- 44 | MODEM_C_DEFS += \ 45 | -DSX126X 46 | 47 | ifeq ($(RADIO),sx1262) 48 | MODEM_C_DEFS += \ 49 | -DSX1262 50 | endif 51 | 52 | ifeq ($(RADIO),sx1268) 53 | MODEM_C_DEFS += \ 54 | -DSX1268 55 | endif 56 | -------------------------------------------------------------------------------- /host_driver/STMicroelectronics/STM32L4xx/Drivers/CMSIS/Device/ST/STM32L4xx/Source/Templates/iar/linker/stm32l471xx_sram.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x20000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x20000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x2000FFFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20010000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20017FFF; 11 | 12 | /*-Sizes-*/ 13 | define symbol __ICFEDIT_size_cstack__ = 0x400; 14 | define symbol __ICFEDIT_size_heap__ = 0x200; 15 | /**** End of ICF editor section. ###ICF###*/ 16 | 17 | define symbol __region_SRAM1_start__ = 0x20010000; 18 | define symbol __region_SRAM1_end__ = 0x20017FFF; 19 | define symbol __region_SRAM2_start__ = 0x10000000; 20 | define symbol __region_SRAM2_end__ = 0x10007FFF; 21 | 22 | define memory mem with size = 4G; 23 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 24 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 25 | define region SRAM1_region = mem:[from __region_SRAM1_start__ to __region_SRAM1_end__]; 26 | define region SRAM2_region = mem:[from __region_SRAM2_start__ to __region_SRAM2_end__]; 27 | 28 | 29 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 30 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 31 | 32 | initialize by copy { readwrite }; 33 | do not initialize { section .noinit }; 34 | 35 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 36 | 37 | place in ROM_region { readonly }; 38 | place in RAM_region { readwrite, 39 | block CSTACK, block HEAP }; 40 | place in SRAM1_region { }; 41 | place in SRAM2_region { }; -------------------------------------------------------------------------------- /host_driver/STMicroelectronics/STM32L4xx/Drivers/CMSIS/Device/ST/STM32L4xx/Source/Templates/iar/linker/stm32l475xx_sram.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x20000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x20000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x2000FFFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20010000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20017FFF; 11 | 12 | /*-Sizes-*/ 13 | define symbol __ICFEDIT_size_cstack__ = 0x400; 14 | define symbol __ICFEDIT_size_heap__ = 0x200; 15 | /**** End of ICF editor section. ###ICF###*/ 16 | 17 | define symbol __region_SRAM1_start__ = 0x20010000; 18 | define symbol __region_SRAM1_end__ = 0x20017FFF; 19 | define symbol __region_SRAM2_start__ = 0x10000000; 20 | define symbol __region_SRAM2_end__ = 0x10007FFF; 21 | 22 | define memory mem with size = 4G; 23 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 24 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 25 | define region SRAM1_region = mem:[from __region_SRAM1_start__ to __region_SRAM1_end__]; 26 | define region SRAM2_region = mem:[from __region_SRAM2_start__ to __region_SRAM2_end__]; 27 | 28 | 29 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 30 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 31 | 32 | initialize by copy { readwrite }; 33 | do not initialize { section .noinit }; 34 | 35 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 36 | 37 | place in ROM_region { readonly }; 38 | place in RAM_region { readwrite, 39 | block CSTACK, block HEAP }; 40 | place in SRAM1_region { }; 41 | place in SRAM2_region { }; -------------------------------------------------------------------------------- /host_driver/STMicroelectronics/STM32L4xx/Drivers/CMSIS/Device/ST/STM32L4xx/Source/Templates/iar/linker/stm32l476xx_sram.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x20000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x20000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x2000FFFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20010000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20017FFF; 11 | 12 | /*-Sizes-*/ 13 | define symbol __ICFEDIT_size_cstack__ = 0x400; 14 | define symbol __ICFEDIT_size_heap__ = 0x200; 15 | /**** End of ICF editor section. ###ICF###*/ 16 | 17 | define symbol __region_SRAM1_start__ = 0x20010000; 18 | define symbol __region_SRAM1_end__ = 0x20017FFF; 19 | define symbol __region_SRAM2_start__ = 0x10000000; 20 | define symbol __region_SRAM2_end__ = 0x10007FFF; 21 | 22 | define memory mem with size = 4G; 23 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 24 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 25 | define region SRAM1_region = mem:[from __region_SRAM1_start__ to __region_SRAM1_end__]; 26 | define region SRAM2_region = mem:[from __region_SRAM2_start__ to __region_SRAM2_end__]; 27 | 28 | 29 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 30 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 31 | 32 | initialize by copy { readwrite }; 33 | do not initialize { section .noinit }; 34 | 35 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 36 | 37 | place in ROM_region { readonly }; 38 | place in RAM_region { readwrite, 39 | block CSTACK, block HEAP }; 40 | place in SRAM1_region { }; 41 | place in SRAM2_region { }; -------------------------------------------------------------------------------- /host_driver/STMicroelectronics/STM32L4xx/Drivers/CMSIS/Device/ST/STM32L4xx/Source/Templates/iar/linker/stm32l485xx_sram.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x20000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x20000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x2000FFFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20010000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20017FFF; 11 | 12 | /*-Sizes-*/ 13 | define symbol __ICFEDIT_size_cstack__ = 0x400; 14 | define symbol __ICFEDIT_size_heap__ = 0x200; 15 | /**** End of ICF editor section. ###ICF###*/ 16 | 17 | define symbol __region_SRAM1_start__ = 0x20010000; 18 | define symbol __region_SRAM1_end__ = 0x20017FFF; 19 | define symbol __region_SRAM2_start__ = 0x10000000; 20 | define symbol __region_SRAM2_end__ = 0x10007FFF; 21 | 22 | define memory mem with size = 4G; 23 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 24 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 25 | define region SRAM1_region = mem:[from __region_SRAM1_start__ to __region_SRAM1_end__]; 26 | define region SRAM2_region = mem:[from __region_SRAM2_start__ to __region_SRAM2_end__]; 27 | 28 | 29 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 30 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 31 | 32 | initialize by copy { readwrite }; 33 | do not initialize { section .noinit }; 34 | 35 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 36 | 37 | place in ROM_region { readonly }; 38 | place in RAM_region { readwrite, 39 | block CSTACK, block HEAP }; 40 | place in SRAM1_region { }; 41 | place in SRAM2_region { }; -------------------------------------------------------------------------------- /host_driver/STMicroelectronics/STM32L4xx/Drivers/CMSIS/Device/ST/STM32L4xx/Source/Templates/iar/linker/stm32l486xx_sram.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x20000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x20000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x2000FFFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20010000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20017FFF; 11 | 12 | /*-Sizes-*/ 13 | define symbol __ICFEDIT_size_cstack__ = 0x400; 14 | define symbol __ICFEDIT_size_heap__ = 0x200; 15 | /**** End of ICF editor section. ###ICF###*/ 16 | 17 | define symbol __region_SRAM1_start__ = 0x20010000; 18 | define symbol __region_SRAM1_end__ = 0x20017FFF; 19 | define symbol __region_SRAM2_start__ = 0x10000000; 20 | define symbol __region_SRAM2_end__ = 0x10007FFF; 21 | 22 | define memory mem with size = 4G; 23 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 24 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 25 | define region SRAM1_region = mem:[from __region_SRAM1_start__ to __region_SRAM1_end__]; 26 | define region SRAM2_region = mem:[from __region_SRAM2_start__ to __region_SRAM2_end__]; 27 | 28 | 29 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 30 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 31 | 32 | initialize by copy { readwrite }; 33 | do not initialize { section .noinit }; 34 | 35 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 36 | 37 | place in ROM_region { readonly }; 38 | place in RAM_region { readwrite, 39 | block CSTACK, block HEAP }; 40 | place in SRAM1_region { }; 41 | place in SRAM2_region { }; -------------------------------------------------------------------------------- /host_driver/STMicroelectronics/STM32L4xx/Drivers/CMSIS/Device/ST/STM32L4xx/Source/Templates/iar/linker/stm32l412xx_sram.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x20000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x20000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x20005FFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20006000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20007FFF; 11 | 12 | /*-Sizes-*/ 13 | define symbol __ICFEDIT_size_cstack__ = 0x400; 14 | define symbol __ICFEDIT_size_heap__ = 0x200; 15 | /**** End of ICF editor section. ###ICF###*/ 16 | 17 | define symbol __region_SRAM1_start__ = 0x20006000; 18 | define symbol __region_SRAM1_end__ = 0x20007FFF; 19 | define symbol __region_SRAM2_start__ = 0x20008000; 20 | define symbol __region_SRAM2_end__ = 0x20009FFF; 21 | 22 | define memory mem with size = 4G; 23 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 24 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 25 | define region SRAM1_region = mem:[from __region_SRAM1_start__ to __region_SRAM1_end__]; 26 | define region SRAM2_region = mem:[from __region_SRAM2_start__ to __region_SRAM2_end__]; 27 | 28 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 29 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 30 | 31 | initialize by copy { readwrite }; 32 | do not initialize { section .noinit }; 33 | 34 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 35 | 36 | place in ROM_region { readonly }; 37 | place in RAM_region { readwrite, 38 | block CSTACK, block HEAP }; 39 | place in SRAM1_region { }; 40 | place in SRAM2_region { }; -------------------------------------------------------------------------------- /host_driver/STMicroelectronics/STM32L4xx/Drivers/CMSIS/Device/ST/STM32L4xx/Source/Templates/iar/linker/stm32l422xx_sram.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x20000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x20000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x20005FFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20006000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20007FFF; 11 | 12 | /*-Sizes-*/ 13 | define symbol __ICFEDIT_size_cstack__ = 0x400; 14 | define symbol __ICFEDIT_size_heap__ = 0x200; 15 | /**** End of ICF editor section. ###ICF###*/ 16 | 17 | define symbol __region_SRAM1_start__ = 0x20006000; 18 | define symbol __region_SRAM1_end__ = 0x20007FFF; 19 | define symbol __region_SRAM2_start__ = 0x20008000; 20 | define symbol __region_SRAM2_end__ = 0x20009FFF; 21 | 22 | define memory mem with size = 4G; 23 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 24 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 25 | define region SRAM1_region = mem:[from __region_SRAM1_start__ to __region_SRAM1_end__]; 26 | define region SRAM2_region = mem:[from __region_SRAM2_start__ to __region_SRAM2_end__]; 27 | 28 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 29 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 30 | 31 | initialize by copy { readwrite }; 32 | do not initialize { section .noinit }; 33 | 34 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 35 | 36 | place in ROM_region { readonly }; 37 | place in RAM_region { readwrite, 38 | block CSTACK, block HEAP }; 39 | place in SRAM1_region { }; 40 | place in SRAM2_region { }; -------------------------------------------------------------------------------- /host_driver/STMicroelectronics/STM32L4xx/Drivers/CMSIS/Device/ST/STM32L4xx/Source/Templates/iar/linker/stm32l431xx_sram.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x20000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x20000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x20007FFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20008000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x2000BFFF; 11 | 12 | /*-Sizes-*/ 13 | define symbol __ICFEDIT_size_cstack__ = 0x400; 14 | define symbol __ICFEDIT_size_heap__ = 0x200; 15 | /**** End of ICF editor section. ###ICF###*/ 16 | 17 | define symbol __region_SRAM1_start__ = 0x20008000; 18 | define symbol __region_SRAM1_end__ = 0x2000BFFF; 19 | define symbol __region_SRAM2_start__ = 0x2000C000; 20 | define symbol __region_SRAM2_end__ = 0x2000FFFF; 21 | 22 | define memory mem with size = 4G; 23 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 24 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 25 | define region SRAM1_region = mem:[from __region_SRAM1_start__ to __region_SRAM1_end__]; 26 | define region SRAM2_region = mem:[from __region_SRAM2_start__ to __region_SRAM2_end__]; 27 | 28 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 29 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 30 | 31 | initialize by copy { readwrite }; 32 | do not initialize { section .noinit }; 33 | 34 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 35 | 36 | place in ROM_region { readonly }; 37 | place in RAM_region { readwrite, 38 | block CSTACK, block HEAP }; 39 | place in SRAM1_region { }; 40 | place in SRAM2_region { }; -------------------------------------------------------------------------------- /host_driver/STMicroelectronics/STM32L4xx/Drivers/CMSIS/Device/ST/STM32L4xx/Source/Templates/iar/linker/stm32l432xx_sram.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x20000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x20000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x20007FFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20008000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x2000BFFF; 11 | 12 | /*-Sizes-*/ 13 | define symbol __ICFEDIT_size_cstack__ = 0x400; 14 | define symbol __ICFEDIT_size_heap__ = 0x200; 15 | /**** End of ICF editor section. ###ICF###*/ 16 | 17 | define symbol __region_SRAM1_start__ = 0x20008000; 18 | define symbol __region_SRAM1_end__ = 0x2000BFFF; 19 | define symbol __region_SRAM2_start__ = 0x2000C000; 20 | define symbol __region_SRAM2_end__ = 0x2000FFFF; 21 | 22 | define memory mem with size = 4G; 23 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 24 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 25 | define region SRAM1_region = mem:[from __region_SRAM1_start__ to __region_SRAM1_end__]; 26 | define region SRAM2_region = mem:[from __region_SRAM2_start__ to __region_SRAM2_end__]; 27 | 28 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 29 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 30 | 31 | initialize by copy { readwrite }; 32 | do not initialize { section .noinit }; 33 | 34 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 35 | 36 | place in ROM_region { readonly }; 37 | place in RAM_region { readwrite, 38 | block CSTACK, block HEAP }; 39 | place in SRAM1_region { }; 40 | place in SRAM2_region { }; -------------------------------------------------------------------------------- /host_driver/STMicroelectronics/STM32L4xx/Drivers/CMSIS/Device/ST/STM32L4xx/Source/Templates/iar/linker/stm32l433xx_sram.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x20000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x20000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x20007FFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20008000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x2000BFFF; 11 | 12 | /*-Sizes-*/ 13 | define symbol __ICFEDIT_size_cstack__ = 0x400; 14 | define symbol __ICFEDIT_size_heap__ = 0x200; 15 | /**** End of ICF editor section. ###ICF###*/ 16 | 17 | define symbol __region_SRAM1_start__ = 0x20008000; 18 | define symbol __region_SRAM1_end__ = 0x2000BFFF; 19 | define symbol __region_SRAM2_start__ = 0x2000C000; 20 | define symbol __region_SRAM2_end__ = 0x2000FFFF; 21 | 22 | define memory mem with size = 4G; 23 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 24 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 25 | define region SRAM1_region = mem:[from __region_SRAM1_start__ to __region_SRAM1_end__]; 26 | define region SRAM2_region = mem:[from __region_SRAM2_start__ to __region_SRAM2_end__]; 27 | 28 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 29 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 30 | 31 | initialize by copy { readwrite }; 32 | do not initialize { section .noinit }; 33 | 34 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 35 | 36 | place in ROM_region { readonly }; 37 | place in RAM_region { readwrite, 38 | block CSTACK, block HEAP }; 39 | place in SRAM1_region { }; 40 | place in SRAM2_region { }; -------------------------------------------------------------------------------- /host_driver/STMicroelectronics/STM32L4xx/Drivers/CMSIS/Device/ST/STM32L4xx/Source/Templates/iar/linker/stm32l442xx_sram.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x20000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x20000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x20007FFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20008000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x2000BFFF; 11 | 12 | /*-Sizes-*/ 13 | define symbol __ICFEDIT_size_cstack__ = 0x400; 14 | define symbol __ICFEDIT_size_heap__ = 0x200; 15 | /**** End of ICF editor section. ###ICF###*/ 16 | 17 | define symbol __region_SRAM1_start__ = 0x20008000; 18 | define symbol __region_SRAM1_end__ = 0x2000BFFF; 19 | define symbol __region_SRAM2_start__ = 0x2000C000; 20 | define symbol __region_SRAM2_end__ = 0x2000FFFF; 21 | 22 | define memory mem with size = 4G; 23 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 24 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 25 | define region SRAM1_region = mem:[from __region_SRAM1_start__ to __region_SRAM1_end__]; 26 | define region SRAM2_region = mem:[from __region_SRAM2_start__ to __region_SRAM2_end__]; 27 | 28 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 29 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 30 | 31 | initialize by copy { readwrite }; 32 | do not initialize { section .noinit }; 33 | 34 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 35 | 36 | place in ROM_region { readonly }; 37 | place in RAM_region { readwrite, 38 | block CSTACK, block HEAP }; 39 | place in SRAM1_region { }; 40 | place in SRAM2_region { }; -------------------------------------------------------------------------------- /host_driver/STMicroelectronics/STM32L4xx/Drivers/CMSIS/Device/ST/STM32L4xx/Source/Templates/iar/linker/stm32l443xx_sram.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x20000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x20000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x20007FFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20008000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x2000BFFF; 11 | 12 | /*-Sizes-*/ 13 | define symbol __ICFEDIT_size_cstack__ = 0x400; 14 | define symbol __ICFEDIT_size_heap__ = 0x200; 15 | /**** End of ICF editor section. ###ICF###*/ 16 | 17 | define symbol __region_SRAM1_start__ = 0x20008000; 18 | define symbol __region_SRAM1_end__ = 0x2000BFFF; 19 | define symbol __region_SRAM2_start__ = 0x2000C000; 20 | define symbol __region_SRAM2_end__ = 0x2000FFFF; 21 | 22 | define memory mem with size = 4G; 23 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 24 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 25 | define region SRAM1_region = mem:[from __region_SRAM1_start__ to __region_SRAM1_end__]; 26 | define region SRAM2_region = mem:[from __region_SRAM2_start__ to __region_SRAM2_end__]; 27 | 28 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 29 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 30 | 31 | initialize by copy { readwrite }; 32 | do not initialize { section .noinit }; 33 | 34 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 35 | 36 | place in ROM_region { readonly }; 37 | place in RAM_region { readwrite, 38 | block CSTACK, block HEAP }; 39 | place in SRAM1_region { }; 40 | place in SRAM2_region { }; -------------------------------------------------------------------------------- /host_driver/STMicroelectronics/STM32L4xx/Drivers/CMSIS/Device/ST/STM32L4xx/Source/Templates/iar/linker/stm32l451xx_sram.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x20000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x20000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x20015FFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20016000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x2001FFFF; 11 | 12 | /*-Sizes-*/ 13 | define symbol __ICFEDIT_size_cstack__ = 0x400; 14 | define symbol __ICFEDIT_size_heap__ = 0x200; 15 | /**** End of ICF editor section. ###ICF###*/ 16 | 17 | define symbol __region_SRAM1_start__ = 0x20016000; 18 | define symbol __region_SRAM1_end__ = 0x2001FFFF; 19 | define symbol __region_SRAM2_start__ = 0x20020000; 20 | define symbol __region_SRAM2_end__ = 0x20027FFF; 21 | 22 | define memory mem with size = 4G; 23 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 24 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 25 | define region SRAM1_region = mem:[from __region_SRAM1_start__ to __region_SRAM1_end__]; 26 | define region SRAM2_region = mem:[from __region_SRAM2_start__ to __region_SRAM2_end__]; 27 | 28 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 29 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 30 | 31 | initialize by copy { readwrite }; 32 | do not initialize { section .noinit }; 33 | 34 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 35 | 36 | place in ROM_region { readonly }; 37 | place in RAM_region { readwrite, 38 | block CSTACK, block HEAP }; 39 | place in SRAM1_region { }; 40 | place in SRAM2_region { }; -------------------------------------------------------------------------------- /host_driver/STMicroelectronics/STM32L4xx/Drivers/CMSIS/Device/ST/STM32L4xx/Source/Templates/iar/linker/stm32l452xx_sram.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x20000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x20000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x20015FFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20016000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x2001FFFF; 11 | 12 | /*-Sizes-*/ 13 | define symbol __ICFEDIT_size_cstack__ = 0x400; 14 | define symbol __ICFEDIT_size_heap__ = 0x200; 15 | /**** End of ICF editor section. ###ICF###*/ 16 | 17 | define symbol __region_SRAM1_start__ = 0x20016000; 18 | define symbol __region_SRAM1_end__ = 0x2001FFFF; 19 | define symbol __region_SRAM2_start__ = 0x20020000; 20 | define symbol __region_SRAM2_end__ = 0x20027FFF; 21 | 22 | define memory mem with size = 4G; 23 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 24 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 25 | define region SRAM1_region = mem:[from __region_SRAM1_start__ to __region_SRAM1_end__]; 26 | define region SRAM2_region = mem:[from __region_SRAM2_start__ to __region_SRAM2_end__]; 27 | 28 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 29 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 30 | 31 | initialize by copy { readwrite }; 32 | do not initialize { section .noinit }; 33 | 34 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 35 | 36 | place in ROM_region { readonly }; 37 | place in RAM_region { readwrite, 38 | block CSTACK, block HEAP }; 39 | place in SRAM1_region { }; 40 | place in SRAM2_region { }; -------------------------------------------------------------------------------- /host_driver/STMicroelectronics/STM32L4xx/Drivers/CMSIS/Device/ST/STM32L4xx/Source/Templates/iar/linker/stm32l462xx_sram.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x20000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x20000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x20015FFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20016000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x2001FFFF; 11 | 12 | /*-Sizes-*/ 13 | define symbol __ICFEDIT_size_cstack__ = 0x400; 14 | define symbol __ICFEDIT_size_heap__ = 0x200; 15 | /**** End of ICF editor section. ###ICF###*/ 16 | 17 | define symbol __region_SRAM1_start__ = 0x20016000; 18 | define symbol __region_SRAM1_end__ = 0x2001FFFF; 19 | define symbol __region_SRAM2_start__ = 0x20020000; 20 | define symbol __region_SRAM2_end__ = 0x20027FFF; 21 | 22 | define memory mem with size = 4G; 23 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 24 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 25 | define region SRAM1_region = mem:[from __region_SRAM1_start__ to __region_SRAM1_end__]; 26 | define region SRAM2_region = mem:[from __region_SRAM2_start__ to __region_SRAM2_end__]; 27 | 28 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 29 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 30 | 31 | initialize by copy { readwrite }; 32 | do not initialize { section .noinit }; 33 | 34 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 35 | 36 | place in ROM_region { readonly }; 37 | place in RAM_region { readwrite, 38 | block CSTACK, block HEAP }; 39 | place in SRAM1_region { }; 40 | place in SRAM2_region { }; -------------------------------------------------------------------------------- /host_driver/STMicroelectronics/STM32L4xx/Drivers/CMSIS/Device/ST/STM32L4xx/Source/Templates/iar/linker/stm32l451xx_flash.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x08000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x0807FFFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20027FFF; 11 | 12 | /*-Sizes-*/ 13 | define symbol __ICFEDIT_size_cstack__ = 0x400; 14 | define symbol __ICFEDIT_size_heap__ = 0x200; 15 | /**** End of ICF editor section. ###ICF###*/ 16 | 17 | define symbol __region_SRAM1_start__ = 0x20000000; 18 | define symbol __region_SRAM1_end__ = 0x2001FFFF; 19 | define symbol __region_SRAM2_start__ = 0x20020000; 20 | define symbol __region_SRAM2_end__ = 0x20027FFF; 21 | 22 | define memory mem with size = 4G; 23 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 24 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 25 | define region SRAM1_region = mem:[from __region_SRAM1_start__ to __region_SRAM1_end__]; 26 | define region SRAM2_region = mem:[from __region_SRAM2_start__ to __region_SRAM2_end__]; 27 | 28 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 29 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 30 | 31 | initialize by copy { readwrite }; 32 | do not initialize { section .noinit }; 33 | 34 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 35 | 36 | place in ROM_region { readonly }; 37 | place in RAM_region { readwrite, 38 | block CSTACK, block HEAP }; 39 | place in SRAM1_region { }; 40 | place in SRAM2_region { }; 41 | -------------------------------------------------------------------------------- /host_driver/STMicroelectronics/STM32L4xx/Drivers/CMSIS/Device/ST/STM32L4xx/Source/Templates/iar/linker/stm32l452xx_flash.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x08000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x0807FFFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20027FFF; 11 | 12 | /*-Sizes-*/ 13 | define symbol __ICFEDIT_size_cstack__ = 0x400; 14 | define symbol __ICFEDIT_size_heap__ = 0x200; 15 | /**** End of ICF editor section. ###ICF###*/ 16 | 17 | define symbol __region_SRAM1_start__ = 0x20000000; 18 | define symbol __region_SRAM1_end__ = 0x2001FFFF; 19 | define symbol __region_SRAM2_start__ = 0x20020000; 20 | define symbol __region_SRAM2_end__ = 0x20027FFF; 21 | 22 | define memory mem with size = 4G; 23 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 24 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 25 | define region SRAM1_region = mem:[from __region_SRAM1_start__ to __region_SRAM1_end__]; 26 | define region SRAM2_region = mem:[from __region_SRAM2_start__ to __region_SRAM2_end__]; 27 | 28 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 29 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 30 | 31 | initialize by copy { readwrite }; 32 | do not initialize { section .noinit }; 33 | 34 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 35 | 36 | place in ROM_region { readonly }; 37 | place in RAM_region { readwrite, 38 | block CSTACK, block HEAP }; 39 | place in SRAM1_region { }; 40 | place in SRAM2_region { }; 41 | -------------------------------------------------------------------------------- /host_driver/STMicroelectronics/STM32L4xx/Drivers/CMSIS/Device/ST/STM32L4xx/Source/Templates/iar/linker/stm32l462xx_flash.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x08000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x0807FFFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20027FFF; 11 | 12 | /*-Sizes-*/ 13 | define symbol __ICFEDIT_size_cstack__ = 0x400; 14 | define symbol __ICFEDIT_size_heap__ = 0x200; 15 | /**** End of ICF editor section. ###ICF###*/ 16 | 17 | define symbol __region_SRAM1_start__ = 0x20000000; 18 | define symbol __region_SRAM1_end__ = 0x2001FFFF; 19 | define symbol __region_SRAM2_start__ = 0x20020000; 20 | define symbol __region_SRAM2_end__ = 0x20027FFF; 21 | 22 | define memory mem with size = 4G; 23 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 24 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 25 | define region SRAM1_region = mem:[from __region_SRAM1_start__ to __region_SRAM1_end__]; 26 | define region SRAM2_region = mem:[from __region_SRAM2_start__ to __region_SRAM2_end__]; 27 | 28 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 29 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 30 | 31 | initialize by copy { readwrite }; 32 | do not initialize { section .noinit }; 33 | 34 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 35 | 36 | place in ROM_region { readonly }; 37 | place in RAM_region { readwrite, 38 | block CSTACK, block HEAP }; 39 | place in SRAM1_region { }; 40 | place in SRAM2_region { }; 41 | -------------------------------------------------------------------------------- /host_driver/STMicroelectronics/STM32L4xx/Drivers/CMSIS/Device/ST/STM32L4xx/Source/Templates/iar/linker/stm32l412xx_flash.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x08000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x0801FFFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20009FFF; 11 | 12 | /*-Sizes-*/ 13 | define symbol __ICFEDIT_size_cstack__ = 0x400; 14 | define symbol __ICFEDIT_size_heap__ = 0x200; 15 | /**** End of ICF editor section. ###ICF###*/ 16 | 17 | define symbol __region_SRAM1_start__ = 0x20000000; 18 | define symbol __region_SRAM1_end__ = 0x20007FFF; 19 | define symbol __region_SRAM2_start__ = 0x20008000; 20 | define symbol __region_SRAM2_end__ = 0x20009FFF; 21 | 22 | define memory mem with size = 4G; 23 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 24 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 25 | define region SRAM1_region = mem:[from __region_SRAM1_start__ to __region_SRAM1_end__]; 26 | define region SRAM2_region = mem:[from __region_SRAM2_start__ to __region_SRAM2_end__]; 27 | 28 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 29 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 30 | 31 | initialize by copy { readwrite }; 32 | do not initialize { section .noinit }; 33 | 34 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 35 | 36 | place in ROM_region { readonly }; 37 | place in RAM_region { readwrite, 38 | block CSTACK, block HEAP }; 39 | place in SRAM1_region { }; 40 | place in SRAM2_region { }; 41 | -------------------------------------------------------------------------------- /host_driver/STMicroelectronics/STM32L4xx/Drivers/CMSIS/Device/ST/STM32L4xx/Source/Templates/iar/linker/stm32l422xx_flash.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x08000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x0801FFFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20009FFF; 11 | 12 | /*-Sizes-*/ 13 | define symbol __ICFEDIT_size_cstack__ = 0x400; 14 | define symbol __ICFEDIT_size_heap__ = 0x200; 15 | /**** End of ICF editor section. ###ICF###*/ 16 | 17 | define symbol __region_SRAM1_start__ = 0x20000000; 18 | define symbol __region_SRAM1_end__ = 0x20007FFF; 19 | define symbol __region_SRAM2_start__ = 0x20008000; 20 | define symbol __region_SRAM2_end__ = 0x20009FFF; 21 | 22 | define memory mem with size = 4G; 23 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 24 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 25 | define region SRAM1_region = mem:[from __region_SRAM1_start__ to __region_SRAM1_end__]; 26 | define region SRAM2_region = mem:[from __region_SRAM2_start__ to __region_SRAM2_end__]; 27 | 28 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 29 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 30 | 31 | initialize by copy { readwrite }; 32 | do not initialize { section .noinit }; 33 | 34 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 35 | 36 | place in ROM_region { readonly }; 37 | place in RAM_region { readwrite, 38 | block CSTACK, block HEAP }; 39 | place in SRAM1_region { }; 40 | place in SRAM2_region { }; 41 | -------------------------------------------------------------------------------- /host_driver/STMicroelectronics/STM32L4xx/Drivers/CMSIS/Device/ST/STM32L4xx/Source/Templates/iar/linker/stm32l471xx_flash.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x08000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x080FFFFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20017FFF; 11 | 12 | /*-Sizes-*/ 13 | define symbol __ICFEDIT_size_cstack__ = 0x400; 14 | define symbol __ICFEDIT_size_heap__ = 0x200; 15 | /**** End of ICF editor section. ###ICF###*/ 16 | 17 | define symbol __region_SRAM1_start__ = 0x20000000; 18 | define symbol __region_SRAM1_end__ = 0x20017FFF; 19 | define symbol __region_SRAM2_start__ = 0x10000000; 20 | define symbol __region_SRAM2_end__ = 0x10007FFF; 21 | 22 | define memory mem with size = 4G; 23 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 24 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 25 | define region SRAM1_region = mem:[from __region_SRAM1_start__ to __region_SRAM1_end__]; 26 | define region SRAM2_region = mem:[from __region_SRAM2_start__ to __region_SRAM2_end__]; 27 | 28 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 29 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 30 | 31 | initialize by copy { readwrite }; 32 | do not initialize { section .noinit }; 33 | 34 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 35 | 36 | place in ROM_region { readonly }; 37 | place in RAM_region { readwrite, 38 | block CSTACK, block HEAP }; 39 | place in SRAM1_region { }; 40 | place in SRAM2_region { }; 41 | -------------------------------------------------------------------------------- /host_driver/STMicroelectronics/STM32L4xx/Drivers/CMSIS/Device/ST/STM32L4xx/Source/Templates/iar/linker/stm32l475xx_flash.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x08000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x080FFFFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20017FFF; 11 | 12 | /*-Sizes-*/ 13 | define symbol __ICFEDIT_size_cstack__ = 0x400; 14 | define symbol __ICFEDIT_size_heap__ = 0x200; 15 | /**** End of ICF editor section. ###ICF###*/ 16 | 17 | define symbol __region_SRAM1_start__ = 0x20000000; 18 | define symbol __region_SRAM1_end__ = 0x20017FFF; 19 | define symbol __region_SRAM2_start__ = 0x10000000; 20 | define symbol __region_SRAM2_end__ = 0x10007FFF; 21 | 22 | define memory mem with size = 4G; 23 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 24 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 25 | define region SRAM1_region = mem:[from __region_SRAM1_start__ to __region_SRAM1_end__]; 26 | define region SRAM2_region = mem:[from __region_SRAM2_start__ to __region_SRAM2_end__]; 27 | 28 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 29 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 30 | 31 | initialize by copy { readwrite }; 32 | do not initialize { section .noinit }; 33 | 34 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 35 | 36 | place in ROM_region { readonly }; 37 | place in RAM_region { readwrite, 38 | block CSTACK, block HEAP }; 39 | place in SRAM1_region { }; 40 | place in SRAM2_region { }; 41 | -------------------------------------------------------------------------------- /host_driver/STMicroelectronics/STM32L4xx/Drivers/CMSIS/Device/ST/STM32L4xx/Source/Templates/iar/linker/stm32l476xx_flash.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x08000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x080FFFFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20017FFF; 11 | 12 | /*-Sizes-*/ 13 | define symbol __ICFEDIT_size_cstack__ = 0x400; 14 | define symbol __ICFEDIT_size_heap__ = 0x200; 15 | /**** End of ICF editor section. ###ICF###*/ 16 | 17 | define symbol __region_SRAM1_start__ = 0x20000000; 18 | define symbol __region_SRAM1_end__ = 0x20017FFF; 19 | define symbol __region_SRAM2_start__ = 0x10000000; 20 | define symbol __region_SRAM2_end__ = 0x10007FFF; 21 | 22 | define memory mem with size = 4G; 23 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 24 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 25 | define region SRAM1_region = mem:[from __region_SRAM1_start__ to __region_SRAM1_end__]; 26 | define region SRAM2_region = mem:[from __region_SRAM2_start__ to __region_SRAM2_end__]; 27 | 28 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 29 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 30 | 31 | initialize by copy { readwrite }; 32 | do not initialize { section .noinit }; 33 | 34 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 35 | 36 | place in ROM_region { readonly }; 37 | place in RAM_region { readwrite, 38 | block CSTACK, block HEAP }; 39 | place in SRAM1_region { }; 40 | place in SRAM2_region { }; 41 | -------------------------------------------------------------------------------- /host_driver/STMicroelectronics/STM32L4xx/Drivers/CMSIS/Device/ST/STM32L4xx/Source/Templates/iar/linker/stm32l485xx_flash.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x08000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x080FFFFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20017FFF; 11 | 12 | /*-Sizes-*/ 13 | define symbol __ICFEDIT_size_cstack__ = 0x400; 14 | define symbol __ICFEDIT_size_heap__ = 0x200; 15 | /**** End of ICF editor section. ###ICF###*/ 16 | 17 | define symbol __region_SRAM1_start__ = 0x20000000; 18 | define symbol __region_SRAM1_end__ = 0x20017FFF; 19 | define symbol __region_SRAM2_start__ = 0x10000000; 20 | define symbol __region_SRAM2_end__ = 0x10007FFF; 21 | 22 | define memory mem with size = 4G; 23 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 24 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 25 | define region SRAM1_region = mem:[from __region_SRAM1_start__ to __region_SRAM1_end__]; 26 | define region SRAM2_region = mem:[from __region_SRAM2_start__ to __region_SRAM2_end__]; 27 | 28 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 29 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 30 | 31 | initialize by copy { readwrite }; 32 | do not initialize { section .noinit }; 33 | 34 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 35 | 36 | place in ROM_region { readonly }; 37 | place in RAM_region { readwrite, 38 | block CSTACK, block HEAP }; 39 | place in SRAM1_region { }; 40 | place in SRAM2_region { }; 41 | -------------------------------------------------------------------------------- /host_driver/STMicroelectronics/STM32L4xx/Drivers/CMSIS/Device/ST/STM32L4xx/Source/Templates/iar/linker/stm32l486xx_flash.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x08000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x080FFFFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20017FFF; 11 | 12 | /*-Sizes-*/ 13 | define symbol __ICFEDIT_size_cstack__ = 0x400; 14 | define symbol __ICFEDIT_size_heap__ = 0x200; 15 | /**** End of ICF editor section. ###ICF###*/ 16 | 17 | define symbol __region_SRAM1_start__ = 0x20000000; 18 | define symbol __region_SRAM1_end__ = 0x20017FFF; 19 | define symbol __region_SRAM2_start__ = 0x10000000; 20 | define symbol __region_SRAM2_end__ = 0x10007FFF; 21 | 22 | define memory mem with size = 4G; 23 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 24 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 25 | define region SRAM1_region = mem:[from __region_SRAM1_start__ to __region_SRAM1_end__]; 26 | define region SRAM2_region = mem:[from __region_SRAM2_start__ to __region_SRAM2_end__]; 27 | 28 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 29 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 30 | 31 | initialize by copy { readwrite }; 32 | do not initialize { section .noinit }; 33 | 34 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 35 | 36 | place in ROM_region { readonly }; 37 | place in RAM_region { readwrite, 38 | block CSTACK, block HEAP }; 39 | place in SRAM1_region { }; 40 | place in SRAM2_region { }; 41 | -------------------------------------------------------------------------------- /host_driver/STMicroelectronics/STM32L4xx/Drivers/CMSIS/Device/ST/STM32L4xx/Source/Templates/iar/linker/stm32l496xx_flash.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x08000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x080FFFFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x2004FFFF; 11 | 12 | /*-Sizes-*/ 13 | define symbol __ICFEDIT_size_cstack__ = 0x400; 14 | define symbol __ICFEDIT_size_heap__ = 0x200; 15 | /**** End of ICF editor section. ###ICF###*/ 16 | 17 | define symbol __region_SRAM1_start__ = 0x20000000; 18 | define symbol __region_SRAM1_end__ = 0x2003FFFF; 19 | define symbol __region_SRAM2_start__ = 0x20040000; 20 | define symbol __region_SRAM2_end__ = 0x2004FFFF; 21 | 22 | define memory mem with size = 4G; 23 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 24 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 25 | define region SRAM1_region = mem:[from __region_SRAM1_start__ to __region_SRAM1_end__]; 26 | define region SRAM2_region = mem:[from __region_SRAM2_start__ to __region_SRAM2_end__]; 27 | 28 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 29 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 30 | 31 | initialize by copy { readwrite }; 32 | do not initialize { section .noinit }; 33 | 34 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 35 | 36 | place in ROM_region { readonly }; 37 | place in RAM_region { readwrite, 38 | block CSTACK, block HEAP }; 39 | place in SRAM1_region { }; 40 | place in SRAM2_region { }; 41 | -------------------------------------------------------------------------------- /host_driver/STMicroelectronics/STM32L4xx/Drivers/CMSIS/Device/ST/STM32L4xx/Source/Templates/iar/linker/stm32l496xx_sram.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x20000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x20000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x2002ABFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x2002AC00; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x2003FFFF; 11 | 12 | /*-Sizes-*/ 13 | define symbol __ICFEDIT_size_cstack__ = 0x400; 14 | define symbol __ICFEDIT_size_heap__ = 0x200; 15 | /**** End of ICF editor section. ###ICF###*/ 16 | 17 | define symbol __region_SRAM1_start__ = 0x2002AC00; 18 | define symbol __region_SRAM1_end__ = 0x2003FFFF; 19 | define symbol __region_SRAM2_start__ = 0x20040000; 20 | define symbol __region_SRAM2_end__ = 0x2004FFFF; 21 | 22 | define memory mem with size = 4G; 23 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 24 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 25 | define region SRAM1_region = mem:[from __region_SRAM1_start__ to __region_SRAM1_end__]; 26 | define region SRAM2_region = mem:[from __region_SRAM2_start__ to __region_SRAM2_end__]; 27 | 28 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 29 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 30 | 31 | initialize by copy { readwrite }; 32 | do not initialize { section .noinit }; 33 | 34 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 35 | 36 | place in ROM_region { readonly }; 37 | place in RAM_region { readwrite, 38 | block CSTACK, block HEAP }; 39 | place in SRAM1_region { }; 40 | place in SRAM2_region { }; 41 | -------------------------------------------------------------------------------- /host_driver/STMicroelectronics/STM32L4xx/Drivers/CMSIS/Device/ST/STM32L4xx/Source/Templates/iar/linker/stm32l4a6xx_flash.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x08000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x080FFFFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x2004FFFF; 11 | 12 | /*-Sizes-*/ 13 | define symbol __ICFEDIT_size_cstack__ = 0x400; 14 | define symbol __ICFEDIT_size_heap__ = 0x200; 15 | /**** End of ICF editor section. ###ICF###*/ 16 | 17 | define symbol __region_SRAM1_start__ = 0x20000000; 18 | define symbol __region_SRAM1_end__ = 0x2003FFFF; 19 | define symbol __region_SRAM2_start__ = 0x20040000; 20 | define symbol __region_SRAM2_end__ = 0x2004FFFF; 21 | 22 | define memory mem with size = 4G; 23 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 24 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 25 | define region SRAM1_region = mem:[from __region_SRAM1_start__ to __region_SRAM1_end__]; 26 | define region SRAM2_region = mem:[from __region_SRAM2_start__ to __region_SRAM2_end__]; 27 | 28 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 29 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 30 | 31 | initialize by copy { readwrite }; 32 | do not initialize { section .noinit }; 33 | 34 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 35 | 36 | place in ROM_region { readonly }; 37 | place in RAM_region { readwrite, 38 | block CSTACK, block HEAP }; 39 | place in SRAM1_region { }; 40 | place in SRAM2_region { }; 41 | -------------------------------------------------------------------------------- /host_driver/STMicroelectronics/STM32L4xx/Drivers/CMSIS/Device/ST/STM32L4xx/Source/Templates/iar/linker/stm32l4a6xx_sram.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x20000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x20000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x2002ABFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x2002AC00; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x2003FFFF; 11 | 12 | /*-Sizes-*/ 13 | define symbol __ICFEDIT_size_cstack__ = 0x400; 14 | define symbol __ICFEDIT_size_heap__ = 0x200; 15 | /**** End of ICF editor section. ###ICF###*/ 16 | 17 | define symbol __region_SRAM1_start__ = 0x2002AC00; 18 | define symbol __region_SRAM1_end__ = 0x2003FFFF; 19 | define symbol __region_SRAM2_start__ = 0x20040000; 20 | define symbol __region_SRAM2_end__ = 0x2004FFFF; 21 | 22 | define memory mem with size = 4G; 23 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 24 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 25 | define region SRAM1_region = mem:[from __region_SRAM1_start__ to __region_SRAM1_end__]; 26 | define region SRAM2_region = mem:[from __region_SRAM2_start__ to __region_SRAM2_end__]; 27 | 28 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 29 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 30 | 31 | initialize by copy { readwrite }; 32 | do not initialize { section .noinit }; 33 | 34 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 35 | 36 | place in ROM_region { readonly }; 37 | place in RAM_region { readwrite, 38 | block CSTACK, block HEAP }; 39 | place in SRAM1_region { }; 40 | place in SRAM2_region { }; 41 | -------------------------------------------------------------------------------- /host_driver/STMicroelectronics/STM32L4xx/Drivers/CMSIS/Device/ST/STM32L4xx/Source/Templates/iar/linker/stm32l431xx_flash.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x08000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x0803FFFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x2000FFFF; 11 | 12 | /*-Sizes-*/ 13 | define symbol __ICFEDIT_size_cstack__ = 0x400; 14 | define symbol __ICFEDIT_size_heap__ = 0x200; 15 | /**** End of ICF editor section. ###ICF###*/ 16 | 17 | define symbol __region_SRAM1_start__ = 0x20000000; 18 | define symbol __region_SRAM1_end__ = 0x2000BFFF; 19 | define symbol __region_SRAM2_start__ = 0x2000C000; 20 | define symbol __region_SRAM2_end__ = 0x2000FFFF; 21 | 22 | define memory mem with size = 4G; 23 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 24 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 25 | define region SRAM1_region = mem:[from __region_SRAM1_start__ to __region_SRAM1_end__]; 26 | define region SRAM2_region = mem:[from __region_SRAM2_start__ to __region_SRAM2_end__]; 27 | 28 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 29 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 30 | 31 | initialize by copy { readwrite }; 32 | do not initialize { section .noinit }; 33 | 34 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 35 | 36 | place in ROM_region { readonly }; 37 | place in RAM_region { readwrite, 38 | block CSTACK, block HEAP }; 39 | place in SRAM1_region { }; 40 | place in SRAM2_region { }; 41 | -------------------------------------------------------------------------------- /host_driver/STMicroelectronics/STM32L4xx/Drivers/CMSIS/Device/ST/STM32L4xx/Source/Templates/iar/linker/stm32l432xx_flash.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x08000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x0803FFFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x2000FFFF; 11 | 12 | /*-Sizes-*/ 13 | define symbol __ICFEDIT_size_cstack__ = 0x400; 14 | define symbol __ICFEDIT_size_heap__ = 0x200; 15 | /**** End of ICF editor section. ###ICF###*/ 16 | 17 | define symbol __region_SRAM1_start__ = 0x20000000; 18 | define symbol __region_SRAM1_end__ = 0x2000BFFF; 19 | define symbol __region_SRAM2_start__ = 0x2000C000; 20 | define symbol __region_SRAM2_end__ = 0x2000FFFF; 21 | 22 | define memory mem with size = 4G; 23 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 24 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 25 | define region SRAM1_region = mem:[from __region_SRAM1_start__ to __region_SRAM1_end__]; 26 | define region SRAM2_region = mem:[from __region_SRAM2_start__ to __region_SRAM2_end__]; 27 | 28 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 29 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 30 | 31 | initialize by copy { readwrite }; 32 | do not initialize { section .noinit }; 33 | 34 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 35 | 36 | place in ROM_region { readonly }; 37 | place in RAM_region { readwrite, 38 | block CSTACK, block HEAP }; 39 | place in SRAM1_region { }; 40 | place in SRAM2_region { }; 41 | -------------------------------------------------------------------------------- /host_driver/STMicroelectronics/STM32L4xx/Drivers/CMSIS/Device/ST/STM32L4xx/Source/Templates/iar/linker/stm32l433xx_flash.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x08000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x0803FFFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x2000FFFF; 11 | 12 | /*-Sizes-*/ 13 | define symbol __ICFEDIT_size_cstack__ = 0x400; 14 | define symbol __ICFEDIT_size_heap__ = 0x200; 15 | /**** End of ICF editor section. ###ICF###*/ 16 | 17 | define symbol __region_SRAM1_start__ = 0x20000000; 18 | define symbol __region_SRAM1_end__ = 0x2000BFFF; 19 | define symbol __region_SRAM2_start__ = 0x2000C000; 20 | define symbol __region_SRAM2_end__ = 0x2000FFFF; 21 | 22 | define memory mem with size = 4G; 23 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 24 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 25 | define region SRAM1_region = mem:[from __region_SRAM1_start__ to __region_SRAM1_end__]; 26 | define region SRAM2_region = mem:[from __region_SRAM2_start__ to __region_SRAM2_end__]; 27 | 28 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 29 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 30 | 31 | initialize by copy { readwrite }; 32 | do not initialize { section .noinit }; 33 | 34 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 35 | 36 | place in ROM_region { readonly }; 37 | place in RAM_region { readwrite, 38 | block CSTACK, block HEAP }; 39 | place in SRAM1_region { }; 40 | place in SRAM2_region { }; 41 | -------------------------------------------------------------------------------- /host_driver/STMicroelectronics/STM32L4xx/Drivers/CMSIS/Device/ST/STM32L4xx/Source/Templates/iar/linker/stm32l442xx_flash.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x08000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x0803FFFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x2000FFFF; 11 | 12 | /*-Sizes-*/ 13 | define symbol __ICFEDIT_size_cstack__ = 0x400; 14 | define symbol __ICFEDIT_size_heap__ = 0x200; 15 | /**** End of ICF editor section. ###ICF###*/ 16 | 17 | define symbol __region_SRAM1_start__ = 0x20000000; 18 | define symbol __region_SRAM1_end__ = 0x2000BFFF; 19 | define symbol __region_SRAM2_start__ = 0x2000C000; 20 | define symbol __region_SRAM2_end__ = 0x2000FFFF; 21 | 22 | define memory mem with size = 4G; 23 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 24 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 25 | define region SRAM1_region = mem:[from __region_SRAM1_start__ to __region_SRAM1_end__]; 26 | define region SRAM2_region = mem:[from __region_SRAM2_start__ to __region_SRAM2_end__]; 27 | 28 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 29 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 30 | 31 | initialize by copy { readwrite }; 32 | do not initialize { section .noinit }; 33 | 34 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 35 | 36 | place in ROM_region { readonly }; 37 | place in RAM_region { readwrite, 38 | block CSTACK, block HEAP }; 39 | place in SRAM1_region { }; 40 | place in SRAM2_region { }; 41 | -------------------------------------------------------------------------------- /host_driver/STMicroelectronics/STM32L4xx/Drivers/CMSIS/Device/ST/STM32L4xx/Source/Templates/iar/linker/stm32l443xx_flash.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x08000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x0803FFFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x2000FFFF; 11 | 12 | /*-Sizes-*/ 13 | define symbol __ICFEDIT_size_cstack__ = 0x400; 14 | define symbol __ICFEDIT_size_heap__ = 0x200; 15 | /**** End of ICF editor section. ###ICF###*/ 16 | 17 | define symbol __region_SRAM1_start__ = 0x20000000; 18 | define symbol __region_SRAM1_end__ = 0x2000BFFF; 19 | define symbol __region_SRAM2_start__ = 0x2000C000; 20 | define symbol __region_SRAM2_end__ = 0x2000FFFF; 21 | 22 | define memory mem with size = 4G; 23 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 24 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 25 | define region SRAM1_region = mem:[from __region_SRAM1_start__ to __region_SRAM1_end__]; 26 | define region SRAM2_region = mem:[from __region_SRAM2_start__ to __region_SRAM2_end__]; 27 | 28 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 29 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 30 | 31 | initialize by copy { readwrite }; 32 | do not initialize { section .noinit }; 33 | 34 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 35 | 36 | place in ROM_region { readonly }; 37 | place in RAM_region { readwrite, 38 | block CSTACK, block HEAP }; 39 | place in SRAM1_region { }; 40 | place in SRAM2_region { }; 41 | -------------------------------------------------------------------------------- /host_driver/target.mk: -------------------------------------------------------------------------------- 1 | # --- The Clear BSD License --- 2 | # Copyright Semtech Corporation 2021. All rights reserved. 3 | # 4 | # Redistribution and use in source and binary forms, with or without 5 | # modification, are permitted (subject to the limitations in the disclaimer 6 | # below) provided that the following conditions are met: 7 | # * Redistributions of source code must retain the above copyright 8 | # notice, this list of conditions and the following disclaimer. 9 | # * Redistributions in binary form must reproduce the above copyright 10 | # notice, this list of conditions and the following disclaimer in the 11 | # documentation and/or other materials provided with the distribution. 12 | # * Neither the name of the Semtech corporation nor the 13 | # names of its contributors may be used to endorse or promote products 14 | # derived from this software without specific prior written permission. 15 | # 16 | # NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY 17 | # THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 18 | # CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT 19 | # NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A 20 | # PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SEMTECH CORPORATION BE 21 | # LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 22 | # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 23 | # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 24 | # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 25 | # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 26 | # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 27 | # POSSIBILITY OF SUCH DAMAGE. 28 | 29 | # Determine the Host Target mk file to include based on TARGE_MCU 30 | ifeq ($(TARGET_MCU),STM32L476xx) 31 | TARGET_MAKEFILE = $(TOP_DIR)/host_driver/STMicroelectronics/STM32L4xx/stm32l4xx.mk 32 | else 33 | $(error Invalid target MCU, please select a support target MCU) 34 | endif 35 | 36 | include $(TARGET_MAKEFILE) -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Changelog 2 | 3 | All notable changes to this project will be documented in this file. 4 | 5 | The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), 6 | and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). 7 | 8 | ## [2.1.0] - 2023-03-05 9 | 10 | ### Added 11 | 12 | - Support of all LR1121 shields: 13 | - LR1121MB1DIS 14 | - LR1121MB1GIS 15 | - `HAL_DBG_TRACE_CRITICAL` with compile-time-enabled deadloop 16 | 17 | ## [2.0.1] - 2022-11-02 18 | 19 | ### Changed 20 | 21 | - Documentation update: 22 | - Only LoRaWAN class A supported for WW2G4 region 23 | - Region CN470 not validated 24 | 25 | ## [2.0.0] - 2022-09-09 26 | 27 | ### Added 28 | 29 | - Regional Parameters version can now be chosen in `apps/common/apps_modem_common.mk` - default value set to `RP2_103` 30 | - Region switching demonstration 31 | - Class B, multicast class B and multicast class C examples (region `SMTC_MODEM_REGION_WW2G4` is not supported) 32 | - Support of all SX1261/SX1262/SX1268 and LR1110/LR1120 shields: 33 | - SX1261MB1BAS 34 | - SX1261MB1CAS 35 | - SX1261MB2BAS 36 | - SX1262MB1CAS 37 | - SX1262MB1CBS 38 | - SX1262MB1DAS 39 | - SX1262MB1PAS 40 | - SX1262MB2CAS 41 | - SX1268MB1GAS 42 | - LR1120MB1DxS 43 | - LR1120MB1GxS 44 | - LR1110MB1GxS 45 | - LR1110MB1DxS 46 | - Tx/Rx continuous example 47 | - LR-FHSS example: apps/examples/lorawan_asynchronous_lr_fhss 48 | 49 | ### Changed 50 | 51 | - Update LoRa Basics Modem to v3.2.4 52 | - Default DevEUI value is now FE-FF-FF-FF-FD-FF-00-00 53 | - Rename the makefile compile variable `TARGET_BOARD` to `MCU_BOARD` and `PLATFORM_BOARD` to `RADIO_BOARD` 54 | - Change the almanac update example DM interval from 1 hour to 30 seconds 55 | - Change the full almanac update python script CLI 56 | 57 | ### Fixed 58 | 59 | - Implementation for `hal_rtc_get_time_ms()` because of early wrapping 60 | - Implementation of `smtc_modem_hal_get_radio_tcxo_startup_delay_ms` because of hard-coded value - now taken from `smtc_board_get_tcxo_startup_time_in_ms` 61 | 62 | ### Removed 63 | 64 | - GNSS and Wi-Fi examples (now available in [SWSD004](https://github.com/Lora-net/SWSD004)) 65 | 66 | ## [1.0.0] - 2021-10-26 67 | 68 | ### Added 69 | 70 | - Initial version 71 | -------------------------------------------------------------------------------- /host_driver/STMicroelectronics/STM32L4xx/License.md: -------------------------------------------------------------------------------- 1 | | Component | License | Copyright | 2 | |:--------- |:------- |:----------| 3 | | CMSIS | Apache License 2.0 | Copyright (c) 2009-2018 ARM Limited. All rights reserved. | 4 | | CMSIS Device | Apache License 2.0 | ARM Limited - STMicroelectronics | 5 | | STM32L4 HAL | BSD-3-Clause | STMicroelectronics | 6 | | BSP B-L475E-IOT01 | BSD-3-Clause | STMicroelectronics | 7 | | BSP B-L4S5I-IOT01 | BSD-3-Clause | STMicroelectronics | 8 | | BSP STM32L4P5G-Discovery | BSD-3-Clause | STMicroelectronics | 9 | | BSP STM32L4R9I-Discovery | BSD-3-Clause | STMicroelectronics | 10 | | BSP STM32L4R9I_EVAL | BSD-3-Clause | STMicroelectronics | 11 | | BSP STM32L4xx_Nucleo | BSD-3-Clause | STMicroelectronics | 12 | | BSP STM32L4xx_Nucleo_32 | BSD-3-Clause | STMicroelectronics | 13 | | BSP STM32L4xx_Nucleo_144 | BSD-3-Clause | STMicroelectronics | 14 | | BSP STM32L476G-Discovery | BSD-3-Clause | STMicroelectronics | 15 | | BSP STM32L476G_EVAL | BSD-3-Clause | STMicroelectronics | 16 | | BSP STM32L496G-Discovery | BSD-3-Clause | STMicroelectronics | 17 | | BSP Components | BSD-3-Clause | STMicroelectronics | 18 | | BSP Adafruit | BSD-3-Clause | STMicroelectronics | 19 | | FreeRTOS kernel | MIT | Copyright (C) 2017 Amazon.com, Inc. or its affiliates | 20 | | FatFS | BSD-3-Clause | ChaN - STMicroelectronics | 21 | | STM32_USB_Device_Library | ST SLA0044 | STMicroelectronics | 22 | | STM32_USB_Host_Library | ST SLA0044 | STMicroelectronics | 23 | | TouchSensing_Library | ST SLA0044 | STMicroelectronics | 24 | | STemWin | ST SLA0044 | STMicroelectronics | 25 | | STM32 Projects | ST SLA0044 (BSD-3-Clause for basic Examples) | STMicroelectronics | 26 | | STM32 Utilities | BSD-3-Clause | STMicroelectronics | -------------------------------------------------------------------------------- /lora_basics_modem/lora_basics_modem/utilities/user_app/mcu_drivers/core/stm32_assert.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file stm32_assert.h 4 | * @brief STM32 assert file. 5 | ****************************************************************************** 6 | * @attention 7 | * 8 | *

© Copyright (c) 2019 STMicroelectronics. 9 | * All rights reserved.

10 | * 11 | * This software component is licensed by ST under BSD 3-Clause license, 12 | * the "License"; You may not use this file except in compliance with the 13 | * License. You may obtain a copy of the License at: 14 | * opensource.org/licenses/BSD-3-Clause 15 | * 16 | ****************************************************************************** 17 | */ 18 | 19 | /* Define to prevent recursive inclusion -------------------------------------*/ 20 | #ifndef __STM32_ASSERT_H 21 | #define __STM32_ASSERT_H 22 | 23 | #ifdef __cplusplus 24 | extern "C" { 25 | #endif 26 | 27 | /* Exported types ------------------------------------------------------------*/ 28 | /* Exported constants --------------------------------------------------------*/ 29 | /* Includes ------------------------------------------------------------------*/ 30 | /* Exported macro ------------------------------------------------------------*/ 31 | #ifdef USE_FULL_ASSERT 32 | /** 33 | * @brief The assert_param macro is used for function's parameters check. 34 | * @param expr: If expr is false, it calls assert_failed function 35 | * which reports the name of the source file and the source 36 | * line number of the call that failed. 37 | * If expr is true, it returns no value. 38 | * @retval None 39 | */ 40 | #define assert_param(expr) ((expr) ? (void)0U : assert_failed((uint8_t *)__FILE__, __LINE__)) 41 | /* Exported functions ------------------------------------------------------- */ 42 | void assert_failed(uint8_t* file, uint32_t line); 43 | #else 44 | #define assert_param(expr) ((void)0U) 45 | #endif /* USE_FULL_ASSERT */ 46 | 47 | #ifdef __cplusplus 48 | } 49 | #endif 50 | 51 | #endif /* __STM32_ASSERT_H */ 52 | 53 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 54 | -------------------------------------------------------------------------------- /host_driver/STMicroelectronics/STM32L4xx/Drivers/CMSIS/Device/ST/STM32L4xx/Source/Templates/iar/linker/stm32l4p5xx_flash.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x08000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x080FFFFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x2004FFFF; 11 | 12 | /*-Sizes-*/ 13 | define symbol __ICFEDIT_size_cstack__ = 0x400; 14 | define symbol __ICFEDIT_size_heap__ = 0x200; 15 | /**** End of ICF editor section. ###ICF###*/ 16 | 17 | define symbol __region_SRAM1_start__ = 0x20000000; 18 | define symbol __region_SRAM1_end__ = 0x2001FFFF; 19 | define symbol __region_SRAM2_start__ = 0x20020000; 20 | define symbol __region_SRAM2_end__ = 0x2002FFFF; 21 | define symbol __region_SRAM3_start__ = 0x20030000; 22 | define symbol __region_SRAM3_end__ = 0x2004FFFF; 23 | 24 | define memory mem with size = 4G; 25 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 26 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 27 | define region SRAM1_region = mem:[from __region_SRAM1_start__ to __region_SRAM1_end__]; 28 | define region SRAM2_region = mem:[from __region_SRAM2_start__ to __region_SRAM2_end__]; 29 | define region SRAM3_region = mem:[from __region_SRAM3_start__ to __region_SRAM3_end__]; 30 | 31 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 32 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 33 | 34 | initialize by copy { readwrite }; 35 | do not initialize { section .noinit }; 36 | 37 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 38 | 39 | place in ROM_region { readonly }; 40 | place in RAM_region { readwrite, 41 | block CSTACK, block HEAP }; 42 | place in SRAM1_region { }; 43 | place in SRAM2_region { }; 44 | place in SRAM3_region { }; 45 | -------------------------------------------------------------------------------- /host_driver/STMicroelectronics/STM32L4xx/Drivers/CMSIS/Device/ST/STM32L4xx/Source/Templates/iar/linker/stm32l4p5xx_sram.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x20000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x20000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x20017FFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20018000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x2001FFFF; 11 | 12 | /*-Sizes-*/ 13 | define symbol __ICFEDIT_size_cstack__ = 0x400; 14 | define symbol __ICFEDIT_size_heap__ = 0x200; 15 | /**** End of ICF editor section. ###ICF###*/ 16 | 17 | define symbol __region_SRAM1_start__ = 0x20018000; 18 | define symbol __region_SRAM1_end__ = 0x2001FFFF; 19 | define symbol __region_SRAM2_start__ = 0x20020000; 20 | define symbol __region_SRAM2_end__ = 0x2002FFFF; 21 | define symbol __region_SRAM3_start__ = 0x20030000; 22 | define symbol __region_SRAM3_end__ = 0x2004FFFF; 23 | 24 | define memory mem with size = 4G; 25 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 26 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 27 | define region SRAM1_region = mem:[from __region_SRAM1_start__ to __region_SRAM1_end__]; 28 | define region SRAM2_region = mem:[from __region_SRAM2_start__ to __region_SRAM2_end__]; 29 | define region SRAM3_region = mem:[from __region_SRAM3_start__ to __region_SRAM3_end__]; 30 | 31 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 32 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 33 | 34 | initialize by copy { readwrite }; 35 | do not initialize { section .noinit }; 36 | 37 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 38 | 39 | place in ROM_region { readonly }; 40 | place in RAM_region { readwrite, 41 | block CSTACK, block HEAP }; 42 | place in SRAM1_region { }; 43 | place in SRAM2_region { }; 44 | place in SRAM3_region { }; 45 | -------------------------------------------------------------------------------- /host_driver/STMicroelectronics/STM32L4xx/Drivers/CMSIS/Device/ST/STM32L4xx/Source/Templates/iar/linker/stm32l4q5xx_flash.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x08000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x080FFFFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x2004FFFF; 11 | 12 | /*-Sizes-*/ 13 | define symbol __ICFEDIT_size_cstack__ = 0x400; 14 | define symbol __ICFEDIT_size_heap__ = 0x200; 15 | /**** End of ICF editor section. ###ICF###*/ 16 | 17 | define symbol __region_SRAM1_start__ = 0x20000000; 18 | define symbol __region_SRAM1_end__ = 0x2001FFFF; 19 | define symbol __region_SRAM2_start__ = 0x20020000; 20 | define symbol __region_SRAM2_end__ = 0x2002FFFF; 21 | define symbol __region_SRAM3_start__ = 0x20030000; 22 | define symbol __region_SRAM3_end__ = 0x2004FFFF; 23 | 24 | define memory mem with size = 4G; 25 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 26 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 27 | define region SRAM1_region = mem:[from __region_SRAM1_start__ to __region_SRAM1_end__]; 28 | define region SRAM2_region = mem:[from __region_SRAM2_start__ to __region_SRAM2_end__]; 29 | define region SRAM3_region = mem:[from __region_SRAM3_start__ to __region_SRAM3_end__]; 30 | 31 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 32 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 33 | 34 | initialize by copy { readwrite }; 35 | do not initialize { section .noinit }; 36 | 37 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 38 | 39 | place in ROM_region { readonly }; 40 | place in RAM_region { readwrite, 41 | block CSTACK, block HEAP }; 42 | place in SRAM1_region { }; 43 | place in SRAM2_region { }; 44 | place in SRAM3_region { }; 45 | -------------------------------------------------------------------------------- /host_driver/STMicroelectronics/STM32L4xx/Drivers/CMSIS/Device/ST/STM32L4xx/Source/Templates/iar/linker/stm32l4q5xx_sram.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x20000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x20000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x20017FFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20018000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x2001FFFF; 11 | 12 | /*-Sizes-*/ 13 | define symbol __ICFEDIT_size_cstack__ = 0x400; 14 | define symbol __ICFEDIT_size_heap__ = 0x200; 15 | /**** End of ICF editor section. ###ICF###*/ 16 | 17 | define symbol __region_SRAM1_start__ = 0x20018000; 18 | define symbol __region_SRAM1_end__ = 0x2001FFFF; 19 | define symbol __region_SRAM2_start__ = 0x20020000; 20 | define symbol __region_SRAM2_end__ = 0x2002FFFF; 21 | define symbol __region_SRAM3_start__ = 0x20030000; 22 | define symbol __region_SRAM3_end__ = 0x2004FFFF; 23 | 24 | define memory mem with size = 4G; 25 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 26 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 27 | define region SRAM1_region = mem:[from __region_SRAM1_start__ to __region_SRAM1_end__]; 28 | define region SRAM2_region = mem:[from __region_SRAM2_start__ to __region_SRAM2_end__]; 29 | define region SRAM3_region = mem:[from __region_SRAM3_start__ to __region_SRAM3_end__]; 30 | 31 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 32 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 33 | 34 | initialize by copy { readwrite }; 35 | do not initialize { section .noinit }; 36 | 37 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 38 | 39 | place in ROM_region { readonly }; 40 | place in RAM_region { readwrite, 41 | block CSTACK, block HEAP }; 42 | place in SRAM1_region { }; 43 | place in SRAM2_region { }; 44 | place in SRAM3_region { }; 45 | -------------------------------------------------------------------------------- /host_driver/STMicroelectronics/STM32L4xx/Drivers/CMSIS/Device/ST/STM32L4xx/Source/Templates/iar/linker/stm32l4r5xx_flash.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x08000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x081FFFFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x2009FFFF; 11 | 12 | /*-Sizes-*/ 13 | define symbol __ICFEDIT_size_cstack__ = 0x400; 14 | define symbol __ICFEDIT_size_heap__ = 0x200; 15 | /**** End of ICF editor section. ###ICF###*/ 16 | 17 | define symbol __region_SRAM1_start__ = 0x20000000; 18 | define symbol __region_SRAM1_end__ = 0x2002FFFF; 19 | define symbol __region_SRAM2_start__ = 0x20030000; 20 | define symbol __region_SRAM2_end__ = 0x2003FFFF; 21 | define symbol __region_SRAM3_start__ = 0x20040000; 22 | define symbol __region_SRAM3_end__ = 0x2009FFFF; 23 | 24 | define memory mem with size = 4G; 25 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 26 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 27 | define region SRAM1_region = mem:[from __region_SRAM1_start__ to __region_SRAM1_end__]; 28 | define region SRAM2_region = mem:[from __region_SRAM2_start__ to __region_SRAM2_end__]; 29 | define region SRAM3_region = mem:[from __region_SRAM3_start__ to __region_SRAM3_end__]; 30 | 31 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 32 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 33 | 34 | initialize by copy { readwrite }; 35 | do not initialize { section .noinit }; 36 | 37 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 38 | 39 | place in ROM_region { readonly }; 40 | place in RAM_region { readwrite, 41 | block CSTACK, block HEAP }; 42 | place in SRAM1_region { }; 43 | place in SRAM2_region { }; 44 | place in SRAM3_region { }; 45 | -------------------------------------------------------------------------------- /host_driver/STMicroelectronics/STM32L4xx/Drivers/CMSIS/Device/ST/STM32L4xx/Source/Templates/iar/linker/stm32l4r5xx_sram.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x20000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x20000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x2001FFFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20020000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x2002FFFF; 11 | 12 | /*-Sizes-*/ 13 | define symbol __ICFEDIT_size_cstack__ = 0x400; 14 | define symbol __ICFEDIT_size_heap__ = 0x200; 15 | /**** End of ICF editor section. ###ICF###*/ 16 | 17 | define symbol __region_SRAM1_start__ = 0x20020000; 18 | define symbol __region_SRAM1_end__ = 0x2002FFFF; 19 | define symbol __region_SRAM2_start__ = 0x20030000; 20 | define symbol __region_SRAM2_end__ = 0x2003FFFF; 21 | define symbol __region_SRAM3_start__ = 0x20040000; 22 | define symbol __region_SRAM3_end__ = 0x2009FFFF; 23 | 24 | define memory mem with size = 4G; 25 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 26 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 27 | define region SRAM1_region = mem:[from __region_SRAM1_start__ to __region_SRAM1_end__]; 28 | define region SRAM2_region = mem:[from __region_SRAM2_start__ to __region_SRAM2_end__]; 29 | define region SRAM3_region = mem:[from __region_SRAM3_start__ to __region_SRAM3_end__]; 30 | 31 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 32 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 33 | 34 | initialize by copy { readwrite }; 35 | do not initialize { section .noinit }; 36 | 37 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 38 | 39 | place in ROM_region { readonly }; 40 | place in RAM_region { readwrite, 41 | block CSTACK, block HEAP }; 42 | place in SRAM1_region { }; 43 | place in SRAM2_region { }; 44 | place in SRAM3_region { }; 45 | -------------------------------------------------------------------------------- /host_driver/STMicroelectronics/STM32L4xx/Drivers/CMSIS/Device/ST/STM32L4xx/Source/Templates/iar/linker/stm32l4r7xx_flash.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x08000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x081FFFFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x2009FFFF; 11 | 12 | /*-Sizes-*/ 13 | define symbol __ICFEDIT_size_cstack__ = 0x400; 14 | define symbol __ICFEDIT_size_heap__ = 0x200; 15 | /**** End of ICF editor section. ###ICF###*/ 16 | 17 | define symbol __region_SRAM1_start__ = 0x20000000; 18 | define symbol __region_SRAM1_end__ = 0x2002FFFF; 19 | define symbol __region_SRAM2_start__ = 0x20030000; 20 | define symbol __region_SRAM2_end__ = 0x2003FFFF; 21 | define symbol __region_SRAM3_start__ = 0x20040000; 22 | define symbol __region_SRAM3_end__ = 0x2009FFFF; 23 | 24 | define memory mem with size = 4G; 25 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 26 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 27 | define region SRAM1_region = mem:[from __region_SRAM1_start__ to __region_SRAM1_end__]; 28 | define region SRAM2_region = mem:[from __region_SRAM2_start__ to __region_SRAM2_end__]; 29 | define region SRAM3_region = mem:[from __region_SRAM3_start__ to __region_SRAM3_end__]; 30 | 31 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 32 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 33 | 34 | initialize by copy { readwrite }; 35 | do not initialize { section .noinit }; 36 | 37 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 38 | 39 | place in ROM_region { readonly }; 40 | place in RAM_region { readwrite, 41 | block CSTACK, block HEAP }; 42 | place in SRAM1_region { }; 43 | place in SRAM2_region { }; 44 | place in SRAM3_region { }; 45 | -------------------------------------------------------------------------------- /host_driver/STMicroelectronics/STM32L4xx/Drivers/CMSIS/Device/ST/STM32L4xx/Source/Templates/iar/linker/stm32l4r7xx_sram.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x20000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x20000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x2001FFFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20020000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x2002FFFF; 11 | 12 | /*-Sizes-*/ 13 | define symbol __ICFEDIT_size_cstack__ = 0x400; 14 | define symbol __ICFEDIT_size_heap__ = 0x200; 15 | /**** End of ICF editor section. ###ICF###*/ 16 | 17 | define symbol __region_SRAM1_start__ = 0x20020000; 18 | define symbol __region_SRAM1_end__ = 0x2002FFFF; 19 | define symbol __region_SRAM2_start__ = 0x20030000; 20 | define symbol __region_SRAM2_end__ = 0x2003FFFF; 21 | define symbol __region_SRAM3_start__ = 0x20040000; 22 | define symbol __region_SRAM3_end__ = 0x2009FFFF; 23 | 24 | define memory mem with size = 4G; 25 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 26 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 27 | define region SRAM1_region = mem:[from __region_SRAM1_start__ to __region_SRAM1_end__]; 28 | define region SRAM2_region = mem:[from __region_SRAM2_start__ to __region_SRAM2_end__]; 29 | define region SRAM3_region = mem:[from __region_SRAM3_start__ to __region_SRAM3_end__]; 30 | 31 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 32 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 33 | 34 | initialize by copy { readwrite }; 35 | do not initialize { section .noinit }; 36 | 37 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 38 | 39 | place in ROM_region { readonly }; 40 | place in RAM_region { readwrite, 41 | block CSTACK, block HEAP }; 42 | place in SRAM1_region { }; 43 | place in SRAM2_region { }; 44 | place in SRAM3_region { }; 45 | -------------------------------------------------------------------------------- /host_driver/STMicroelectronics/STM32L4xx/Drivers/CMSIS/Device/ST/STM32L4xx/Source/Templates/iar/linker/stm32l4r9xx_flash.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x08000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x081FFFFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x2009FFFF; 11 | 12 | /*-Sizes-*/ 13 | define symbol __ICFEDIT_size_cstack__ = 0x400; 14 | define symbol __ICFEDIT_size_heap__ = 0x200; 15 | /**** End of ICF editor section. ###ICF###*/ 16 | 17 | define symbol __region_SRAM1_start__ = 0x20000000; 18 | define symbol __region_SRAM1_end__ = 0x2002FFFF; 19 | define symbol __region_SRAM2_start__ = 0x20030000; 20 | define symbol __region_SRAM2_end__ = 0x2003FFFF; 21 | define symbol __region_SRAM3_start__ = 0x20040000; 22 | define symbol __region_SRAM3_end__ = 0x2009FFFF; 23 | 24 | define memory mem with size = 4G; 25 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 26 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 27 | define region SRAM1_region = mem:[from __region_SRAM1_start__ to __region_SRAM1_end__]; 28 | define region SRAM2_region = mem:[from __region_SRAM2_start__ to __region_SRAM2_end__]; 29 | define region SRAM3_region = mem:[from __region_SRAM3_start__ to __region_SRAM3_end__]; 30 | 31 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 32 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 33 | 34 | initialize by copy { readwrite }; 35 | do not initialize { section .noinit }; 36 | 37 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 38 | 39 | place in ROM_region { readonly }; 40 | place in RAM_region { readwrite, 41 | block CSTACK, block HEAP }; 42 | place in SRAM1_region { }; 43 | place in SRAM2_region { }; 44 | place in SRAM3_region { }; 45 | -------------------------------------------------------------------------------- /host_driver/STMicroelectronics/STM32L4xx/Drivers/CMSIS/Device/ST/STM32L4xx/Source/Templates/iar/linker/stm32l4r9xx_sram.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x20000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x20000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x2001FFFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20020000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x2002FFFF; 11 | 12 | /*-Sizes-*/ 13 | define symbol __ICFEDIT_size_cstack__ = 0x400; 14 | define symbol __ICFEDIT_size_heap__ = 0x200; 15 | /**** End of ICF editor section. ###ICF###*/ 16 | 17 | define symbol __region_SRAM1_start__ = 0x20020000; 18 | define symbol __region_SRAM1_end__ = 0x2002FFFF; 19 | define symbol __region_SRAM2_start__ = 0x20030000; 20 | define symbol __region_SRAM2_end__ = 0x2003FFFF; 21 | define symbol __region_SRAM3_start__ = 0x20040000; 22 | define symbol __region_SRAM3_end__ = 0x2009FFFF; 23 | 24 | define memory mem with size = 4G; 25 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 26 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 27 | define region SRAM1_region = mem:[from __region_SRAM1_start__ to __region_SRAM1_end__]; 28 | define region SRAM2_region = mem:[from __region_SRAM2_start__ to __region_SRAM2_end__]; 29 | define region SRAM3_region = mem:[from __region_SRAM3_start__ to __region_SRAM3_end__]; 30 | 31 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 32 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 33 | 34 | initialize by copy { readwrite }; 35 | do not initialize { section .noinit }; 36 | 37 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 38 | 39 | place in ROM_region { readonly }; 40 | place in RAM_region { readwrite, 41 | block CSTACK, block HEAP }; 42 | place in SRAM1_region { }; 43 | place in SRAM2_region { }; 44 | place in SRAM3_region { }; 45 | -------------------------------------------------------------------------------- /host_driver/STMicroelectronics/STM32L4xx/Drivers/CMSIS/Device/ST/STM32L4xx/Source/Templates/iar/linker/stm32l4s5xx_flash.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x08000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x081FFFFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x2009FFFF; 11 | 12 | /*-Sizes-*/ 13 | define symbol __ICFEDIT_size_cstack__ = 0x400; 14 | define symbol __ICFEDIT_size_heap__ = 0x200; 15 | /**** End of ICF editor section. ###ICF###*/ 16 | 17 | define symbol __region_SRAM1_start__ = 0x20000000; 18 | define symbol __region_SRAM1_end__ = 0x2002FFFF; 19 | define symbol __region_SRAM2_start__ = 0x20030000; 20 | define symbol __region_SRAM2_end__ = 0x2003FFFF; 21 | define symbol __region_SRAM3_start__ = 0x20040000; 22 | define symbol __region_SRAM3_end__ = 0x2009FFFF; 23 | 24 | define memory mem with size = 4G; 25 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 26 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 27 | define region SRAM1_region = mem:[from __region_SRAM1_start__ to __region_SRAM1_end__]; 28 | define region SRAM2_region = mem:[from __region_SRAM2_start__ to __region_SRAM2_end__]; 29 | define region SRAM3_region = mem:[from __region_SRAM3_start__ to __region_SRAM3_end__]; 30 | 31 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 32 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 33 | 34 | initialize by copy { readwrite }; 35 | do not initialize { section .noinit }; 36 | 37 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 38 | 39 | place in ROM_region { readonly }; 40 | place in RAM_region { readwrite, 41 | block CSTACK, block HEAP }; 42 | place in SRAM1_region { }; 43 | place in SRAM2_region { }; 44 | place in SRAM3_region { }; 45 | -------------------------------------------------------------------------------- /host_driver/STMicroelectronics/STM32L4xx/Drivers/CMSIS/Device/ST/STM32L4xx/Source/Templates/iar/linker/stm32l4s5xx_sram.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x20000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x20000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x2001FFFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20020000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x2002FFFF; 11 | 12 | /*-Sizes-*/ 13 | define symbol __ICFEDIT_size_cstack__ = 0x400; 14 | define symbol __ICFEDIT_size_heap__ = 0x200; 15 | /**** End of ICF editor section. ###ICF###*/ 16 | 17 | define symbol __region_SRAM1_start__ = 0x20020000; 18 | define symbol __region_SRAM1_end__ = 0x2002FFFF; 19 | define symbol __region_SRAM2_start__ = 0x20030000; 20 | define symbol __region_SRAM2_end__ = 0x2003FFFF; 21 | define symbol __region_SRAM3_start__ = 0x20040000; 22 | define symbol __region_SRAM3_end__ = 0x2009FFFF; 23 | 24 | define memory mem with size = 4G; 25 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 26 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 27 | define region SRAM1_region = mem:[from __region_SRAM1_start__ to __region_SRAM1_end__]; 28 | define region SRAM2_region = mem:[from __region_SRAM2_start__ to __region_SRAM2_end__]; 29 | define region SRAM3_region = mem:[from __region_SRAM3_start__ to __region_SRAM3_end__]; 30 | 31 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 32 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 33 | 34 | initialize by copy { readwrite }; 35 | do not initialize { section .noinit }; 36 | 37 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 38 | 39 | place in ROM_region { readonly }; 40 | place in RAM_region { readwrite, 41 | block CSTACK, block HEAP }; 42 | place in SRAM1_region { }; 43 | place in SRAM2_region { }; 44 | place in SRAM3_region { }; 45 | -------------------------------------------------------------------------------- /host_driver/STMicroelectronics/STM32L4xx/Drivers/CMSIS/Device/ST/STM32L4xx/Source/Templates/iar/linker/stm32l4s7xx_flash.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x08000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x081FFFFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x2009FFFF; 11 | 12 | /*-Sizes-*/ 13 | define symbol __ICFEDIT_size_cstack__ = 0x400; 14 | define symbol __ICFEDIT_size_heap__ = 0x200; 15 | /**** End of ICF editor section. ###ICF###*/ 16 | 17 | define symbol __region_SRAM1_start__ = 0x20000000; 18 | define symbol __region_SRAM1_end__ = 0x2002FFFF; 19 | define symbol __region_SRAM2_start__ = 0x20030000; 20 | define symbol __region_SRAM2_end__ = 0x2003FFFF; 21 | define symbol __region_SRAM3_start__ = 0x20040000; 22 | define symbol __region_SRAM3_end__ = 0x2009FFFF; 23 | 24 | define memory mem with size = 4G; 25 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 26 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 27 | define region SRAM1_region = mem:[from __region_SRAM1_start__ to __region_SRAM1_end__]; 28 | define region SRAM2_region = mem:[from __region_SRAM2_start__ to __region_SRAM2_end__]; 29 | define region SRAM3_region = mem:[from __region_SRAM3_start__ to __region_SRAM3_end__]; 30 | 31 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 32 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 33 | 34 | initialize by copy { readwrite }; 35 | do not initialize { section .noinit }; 36 | 37 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 38 | 39 | place in ROM_region { readonly }; 40 | place in RAM_region { readwrite, 41 | block CSTACK, block HEAP }; 42 | place in SRAM1_region { }; 43 | place in SRAM2_region { }; 44 | place in SRAM3_region { }; 45 | -------------------------------------------------------------------------------- /host_driver/STMicroelectronics/STM32L4xx/Drivers/CMSIS/Device/ST/STM32L4xx/Source/Templates/iar/linker/stm32l4s7xx_sram.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x20000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x20000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x2001FFFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20020000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x2002FFFF; 11 | 12 | /*-Sizes-*/ 13 | define symbol __ICFEDIT_size_cstack__ = 0x400; 14 | define symbol __ICFEDIT_size_heap__ = 0x200; 15 | /**** End of ICF editor section. ###ICF###*/ 16 | 17 | define symbol __region_SRAM1_start__ = 0x20020000; 18 | define symbol __region_SRAM1_end__ = 0x2002FFFF; 19 | define symbol __region_SRAM2_start__ = 0x20030000; 20 | define symbol __region_SRAM2_end__ = 0x2003FFFF; 21 | define symbol __region_SRAM3_start__ = 0x20040000; 22 | define symbol __region_SRAM3_end__ = 0x2009FFFF; 23 | 24 | define memory mem with size = 4G; 25 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 26 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 27 | define region SRAM1_region = mem:[from __region_SRAM1_start__ to __region_SRAM1_end__]; 28 | define region SRAM2_region = mem:[from __region_SRAM2_start__ to __region_SRAM2_end__]; 29 | define region SRAM3_region = mem:[from __region_SRAM3_start__ to __region_SRAM3_end__]; 30 | 31 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 32 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 33 | 34 | initialize by copy { readwrite }; 35 | do not initialize { section .noinit }; 36 | 37 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 38 | 39 | place in ROM_region { readonly }; 40 | place in RAM_region { readwrite, 41 | block CSTACK, block HEAP }; 42 | place in SRAM1_region { }; 43 | place in SRAM2_region { }; 44 | place in SRAM3_region { }; 45 | -------------------------------------------------------------------------------- /host_driver/STMicroelectronics/STM32L4xx/Drivers/CMSIS/Device/ST/STM32L4xx/Source/Templates/iar/linker/stm32l4s9xx_flash.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x08000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x081FFFFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x2009FFFF; 11 | 12 | /*-Sizes-*/ 13 | define symbol __ICFEDIT_size_cstack__ = 0x400; 14 | define symbol __ICFEDIT_size_heap__ = 0x200; 15 | /**** End of ICF editor section. ###ICF###*/ 16 | 17 | define symbol __region_SRAM1_start__ = 0x20000000; 18 | define symbol __region_SRAM1_end__ = 0x2002FFFF; 19 | define symbol __region_SRAM2_start__ = 0x20030000; 20 | define symbol __region_SRAM2_end__ = 0x2003FFFF; 21 | define symbol __region_SRAM3_start__ = 0x20040000; 22 | define symbol __region_SRAM3_end__ = 0x2009FFFF; 23 | 24 | define memory mem with size = 4G; 25 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 26 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 27 | define region SRAM1_region = mem:[from __region_SRAM1_start__ to __region_SRAM1_end__]; 28 | define region SRAM2_region = mem:[from __region_SRAM2_start__ to __region_SRAM2_end__]; 29 | define region SRAM3_region = mem:[from __region_SRAM3_start__ to __region_SRAM3_end__]; 30 | 31 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 32 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 33 | 34 | initialize by copy { readwrite }; 35 | do not initialize { section .noinit }; 36 | 37 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 38 | 39 | place in ROM_region { readonly }; 40 | place in RAM_region { readwrite, 41 | block CSTACK, block HEAP }; 42 | place in SRAM1_region { }; 43 | place in SRAM2_region { }; 44 | place in SRAM3_region { }; 45 | -------------------------------------------------------------------------------- /host_driver/STMicroelectronics/STM32L4xx/Drivers/CMSIS/Device/ST/STM32L4xx/Source/Templates/iar/linker/stm32l4s9xx_sram.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x20000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x20000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x2001FFFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20020000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x2002FFFF; 11 | 12 | /*-Sizes-*/ 13 | define symbol __ICFEDIT_size_cstack__ = 0x400; 14 | define symbol __ICFEDIT_size_heap__ = 0x200; 15 | /**** End of ICF editor section. ###ICF###*/ 16 | 17 | define symbol __region_SRAM1_start__ = 0x20020000; 18 | define symbol __region_SRAM1_end__ = 0x2002FFFF; 19 | define symbol __region_SRAM2_start__ = 0x20030000; 20 | define symbol __region_SRAM2_end__ = 0x2003FFFF; 21 | define symbol __region_SRAM3_start__ = 0x20040000; 22 | define symbol __region_SRAM3_end__ = 0x2009FFFF; 23 | 24 | define memory mem with size = 4G; 25 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 26 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 27 | define region SRAM1_region = mem:[from __region_SRAM1_start__ to __region_SRAM1_end__]; 28 | define region SRAM2_region = mem:[from __region_SRAM2_start__ to __region_SRAM2_end__]; 29 | define region SRAM3_region = mem:[from __region_SRAM3_start__ to __region_SRAM3_end__]; 30 | 31 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 32 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 33 | 34 | initialize by copy { readwrite }; 35 | do not initialize { section .noinit }; 36 | 37 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 38 | 39 | place in ROM_region { readonly }; 40 | place in RAM_region { readwrite, 41 | block CSTACK, block HEAP }; 42 | place in SRAM1_region { }; 43 | place in SRAM2_region { }; 44 | place in SRAM3_region { }; 45 | -------------------------------------------------------------------------------- /apps/examples/full_almanac_update/README.md: -------------------------------------------------------------------------------- 1 | # LR11xx full almanac update example 2 | 3 | ## Description 4 | 5 | This application executes a full almanac update by using the LR11xx API. 6 | It does not involve LoRaWAN communication to update the almanac. 7 | For the almanac update through LoRaWAN, refer to the example *almanac_update*. 8 | 9 | This example also provides a simple python script *get_full_almanac.py* that fetches almanac content from LoRa Cloud and generate a C header file that is compiled with the embedded binary. 10 | 11 | **NOTE**: This example is only applicable to LR1110 / LR1120 chips. 12 | 13 | ## Usage 14 | 15 | The full almanac update with this example is executed in two steps: 16 | 17 | 1. Generate an almanac C header file with the python script *get_full_almanac.py*; 18 | 2. Build the example code and flash the binary to the Nucleo board. 19 | 20 | ### Generation of almanac C header file 21 | 22 | The python script usage to generate the almanac C header file can be obtained with: 23 | 24 | ```bash 25 | $ python ./get_full_almanac.py --help 26 | usage: get_full_almanac.py [-h] [-f OUTPUT_FILE] mgs_token 27 | 28 | Companion software that generates almanac header file to be compiled for LR1110/LR1120 embedded full almanac update. 29 | 30 | positional arguments: 31 | mgs_token MGS LoRa Cloud token to use to fetch the almanac 32 | 33 | optional arguments: 34 | -h, --help show this help message and exit 35 | -f OUTPUT_FILE, --output_file OUTPUT_FILE 36 | file that will contain the results 37 | ``` 38 | 39 | ### Compile and flash the binary code 40 | 41 | The example code expects the almanac C header file produced by *get_full_almanac.py* python script to be named `almanac.h`. 42 | 43 | The binary can be produced as the other examples (refer to [README.md](../../../README.md) for the details) 44 | 45 | ## Expected Behavior 46 | 47 | Here follow the steps that has to be seen in the logs to indicate the expected behavior of the application. 48 | 49 | ### Device starts 50 | 51 | ``` 52 | INFO: Modem Initialization 53 | 54 | INFO: ===== LoRa Basics Modem full almanac update example ===== 55 | ``` 56 | 57 | ### Full update of the almanac 58 | 59 | The successful completion of the full almanac update is indicated by: 60 | 61 | ``` 62 | INFO: Local almanac doesn't match LR11XX almanac -> start update 63 | INFO: Almanac update succeeded 64 | ``` 65 | -------------------------------------------------------------------------------- /apps/examples/application_server/README.md: -------------------------------------------------------------------------------- 1 | # Application Server Example 2 | 3 | This folder contains the files describing a node-red application server code. 4 | 5 | ## Install & Configure 6 | 7 | This Application Server needs the following to be installed first: 8 | 9 | - Node-red 10 | - semtech-wsp-apps/node-red-contrib-loracloud-utils 11 | - and the dependencies of this package 12 | 13 | The install procedure for these is described [here](https://lora-developers.semtech.com/build/software/lora-basics/lora-basics-for-end-nodes/developer-walk-through/?url=application_server.html#setup). Be careful to **NOT** import the examples for End Nodes Demo flow. 14 | 15 | Instead of importing the End Nodes Demo flow, import the file *modem.json* available in this directory. 16 | 17 | The web page also indicates how to [configure the flow](https://lora-developers.semtech.com/build/software/lora-basics/lora-basics-for-end-nodes/developer-walk-through/?url=application_server.html#configure-the-flow) concerning the MQTT connections with LoRaWAN Network Servers and LoRa Cloud. 18 | Follow the same procedure but for the flow distributed in this folder. 19 | 20 | This application server needs to use both *LoRa Cloud Modem & Geolocation Services*. 21 | Obtaining both *LoRa Cloud Modem & Geolocation Services* token and URL is explained in the web page here-before. 22 | 23 | ## Important note 24 | 25 | When executing the Application Server instance, it is important to ensure that there is no other Application Server is monitoring the same devices. This can be the case if the examples from *semtech-wsp-apps/node-red-contrib-loracloud-utils* have been installed previously. 26 | 27 | If this is the case, the flows corresponding to the examples from *semtech-wsp-apps/node-red-contrib-loracloud-utils* must be disabled (refer to the [doc](https://nodered.org/docs/user-guide/editor/workspace/flows#enabling-or-disabling-a-flow) for the procedure). 28 | 29 | ## Usage 30 | 31 | Once deployed, the Application Server runs alone and does not need intervention. When the LoRa Network Server it is connected to receives an uplink, the Application Server receives a MQTT message. 32 | 33 | This reception of the MQTT message triggers a http request to the *LoRa Cloud Modem & Geolocation Services*. The *LoRa Cloud Modem & Geolocation Services* may respond with a downlink request that is propagate automatically by the Application Server to the LoRaWAN Network Server. 34 | -------------------------------------------------------------------------------- /host_driver/STMicroelectronics/STM32L4xx/Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_spi_ex.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file stm32l4xx_hal_spi_ex.h 4 | * @author MCD Application Team 5 | * @brief Header file of SPI HAL Extended module. 6 | ****************************************************************************** 7 | * @attention 8 | * 9 | *

© Copyright (c) 2017 STMicroelectronics. 10 | * All rights reserved.

11 | * 12 | * This software component is licensed by ST under BSD 3-Clause license, 13 | * the "License"; You may not use this file except in compliance with the 14 | * License. You may obtain a copy of the License at: 15 | * opensource.org/licenses/BSD-3-Clause 16 | * 17 | ****************************************************************************** 18 | */ 19 | 20 | /* Define to prevent recursive inclusion -------------------------------------*/ 21 | #ifndef STM32L4xx_HAL_SPI_EX_H 22 | #define STM32L4xx_HAL_SPI_EX_H 23 | 24 | #ifdef __cplusplus 25 | extern "C" { 26 | #endif 27 | 28 | /* Includes ------------------------------------------------------------------*/ 29 | #include "stm32l4xx_hal_def.h" 30 | 31 | /** @addtogroup STM32L4xx_HAL_Driver 32 | * @{ 33 | */ 34 | 35 | /** @addtogroup SPIEx 36 | * @{ 37 | */ 38 | 39 | /* Exported types ------------------------------------------------------------*/ 40 | /* Exported constants --------------------------------------------------------*/ 41 | /* Exported macros -----------------------------------------------------------*/ 42 | /* Exported functions --------------------------------------------------------*/ 43 | /** @addtogroup SPIEx_Exported_Functions 44 | * @{ 45 | */ 46 | 47 | /* Initialization and de-initialization functions ****************************/ 48 | /* IO operation functions *****************************************************/ 49 | /** @addtogroup SPIEx_Exported_Functions_Group1 50 | * @{ 51 | */ 52 | HAL_StatusTypeDef HAL_SPIEx_FlushRxFifo(SPI_HandleTypeDef *hspi); 53 | /** 54 | * @} 55 | */ 56 | 57 | /** 58 | * @} 59 | */ 60 | 61 | /** 62 | * @} 63 | */ 64 | 65 | /** 66 | * @} 67 | */ 68 | 69 | #ifdef __cplusplus 70 | } 71 | #endif 72 | 73 | #endif /* STM32L4xx_HAL_SPI_EX_H */ 74 | 75 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 76 | -------------------------------------------------------------------------------- /lora_basics_modem/lora_basics_modem/utilities/user_app/mcu_drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_spi_ex.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file stm32l4xx_hal_spi_ex.h 4 | * @author MCD Application Team 5 | * @brief Header file of SPI HAL Extended module. 6 | ****************************************************************************** 7 | * @attention 8 | * 9 | *

© Copyright (c) 2017 STMicroelectronics. 10 | * All rights reserved.

11 | * 12 | * This software component is licensed by ST under BSD 3-Clause license, 13 | * the "License"; You may not use this file except in compliance with the 14 | * License. You may obtain a copy of the License at: 15 | * opensource.org/licenses/BSD-3-Clause 16 | * 17 | ****************************************************************************** 18 | */ 19 | 20 | /* Define to prevent recursive inclusion -------------------------------------*/ 21 | #ifndef STM32L4xx_HAL_SPI_EX_H 22 | #define STM32L4xx_HAL_SPI_EX_H 23 | 24 | #ifdef __cplusplus 25 | extern "C" { 26 | #endif 27 | 28 | /* Includes ------------------------------------------------------------------*/ 29 | #include "stm32l4xx_hal_def.h" 30 | 31 | /** @addtogroup STM32L4xx_HAL_Driver 32 | * @{ 33 | */ 34 | 35 | /** @addtogroup SPIEx 36 | * @{ 37 | */ 38 | 39 | /* Exported types ------------------------------------------------------------*/ 40 | /* Exported constants --------------------------------------------------------*/ 41 | /* Exported macros -----------------------------------------------------------*/ 42 | /* Exported functions --------------------------------------------------------*/ 43 | /** @addtogroup SPIEx_Exported_Functions 44 | * @{ 45 | */ 46 | 47 | /* Initialization and de-initialization functions ****************************/ 48 | /* IO operation functions *****************************************************/ 49 | /** @addtogroup SPIEx_Exported_Functions_Group1 50 | * @{ 51 | */ 52 | HAL_StatusTypeDef HAL_SPIEx_FlushRxFifo(SPI_HandleTypeDef *hspi); 53 | /** 54 | * @} 55 | */ 56 | 57 | /** 58 | * @} 59 | */ 60 | 61 | /** 62 | * @} 63 | */ 64 | 65 | /** 66 | * @} 67 | */ 68 | 69 | #ifdef __cplusplus 70 | } 71 | #endif 72 | 73 | #endif /* STM32L4xx_HAL_SPI_EX_H */ 74 | 75 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 76 | -------------------------------------------------------------------------------- /host_driver/STMicroelectronics/STM32L4xx/Drivers/STM32L4xx_HAL_Driver/Inc/stm32_assert_template.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file stm32_assert.h 4 | * @author MCD Application Team 5 | * @brief STM32 assert template file. 6 | * This file should be copied to the application folder and renamed 7 | * to stm32_assert.h. 8 | ****************************************************************************** 9 | * @attention 10 | * 11 | *

© Copyright (c) 2017 STMicroelectronics. 12 | * All rights reserved.

13 | * 14 | * This software component is licensed by ST under BSD 3-Clause license, 15 | * the "License"; You may not use this file except in compliance with the 16 | * License. You may obtain a copy of the License at: 17 | * opensource.org/licenses/BSD-3-Clause 18 | * 19 | ****************************************************************************** 20 | */ 21 | 22 | /* Define to prevent recursive inclusion -------------------------------------*/ 23 | #ifndef STM32_ASSERT_H 24 | #define STM32_ASSERT_H 25 | 26 | #ifdef __cplusplus 27 | extern "C" { 28 | #endif 29 | 30 | /* Exported types ------------------------------------------------------------*/ 31 | /* Exported constants --------------------------------------------------------*/ 32 | /* Includes ------------------------------------------------------------------*/ 33 | /* Exported macro ------------------------------------------------------------*/ 34 | #ifdef USE_FULL_ASSERT 35 | /** 36 | * @brief The assert_param macro is used for function's parameters check. 37 | * @param expr: If expr is false, it calls assert_failed function 38 | * which reports the name of the source file and the source 39 | * line number of the call that failed. 40 | * If expr is true, it returns no value. 41 | * @retval None 42 | */ 43 | #define assert_param(expr) ((expr) ? (void)0U : assert_failed((char *)__FILE__, __LINE__)) 44 | /* Exported functions ------------------------------------------------------- */ 45 | void assert_failed(char *file, uint32_t line); 46 | #else 47 | #define assert_param(expr) ((void)0U) 48 | #endif /* USE_FULL_ASSERT */ 49 | 50 | #ifdef __cplusplus 51 | } 52 | #endif 53 | 54 | #endif /* STM32_ASSERT_H */ 55 | 56 | 57 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 58 | -------------------------------------------------------------------------------- /shields/LR11XX/smtc_shield_lr11xx/LR1121/smtc_shield_lr1121.mk: -------------------------------------------------------------------------------- 1 | # --- The Clear BSD License --- 2 | # Copyright Semtech Corporation 2022. All rights reserved. 3 | # 4 | # Redistribution and use in source and binary forms, with or without 5 | # modification, are permitted (subject to the limitations in the disclaimer 6 | # below) provided that the following conditions are met: 7 | # * Redistributions of source code must retain the above copyright 8 | # notice, this list of conditions and the following disclaimer. 9 | # * Redistributions in binary form must reproduce the above copyright 10 | # notice, this list of conditions and the following disclaimer in the 11 | # documentation and/or other materials provided with the distribution. 12 | # * Neither the name of the Semtech corporation nor the 13 | # names of its contributors may be used to endorse or promote products 14 | # derived from this software without specific prior written permission. 15 | # 16 | # NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY 17 | # THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 18 | # CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT 19 | # NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A 20 | # PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SEMTECH CORPORATION BE 21 | # LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 22 | # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 23 | # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 24 | # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 25 | # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 26 | # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 27 | # POSSIBILITY OF SUCH DAMAGE. 28 | 29 | define SMTC_SHIELD_LR1121_SUPPORTED_BODY 30 | Shield $(SMTC_SHIELD_LR11XX) is not supported. 31 | 32 | The LR1121 supported shields are: LR1121MB1DIS / LR1121MB1GIS 33 | endef 34 | 35 | ifeq ($(SMTC_SHIELD_LR11XX), LR1121MB1DIS) 36 | C_SOURCES += \ 37 | $(SMTC_SHIELD_LR11XX_DIR)/smtc_shield_lr11xx/LR1121/LR1121MB1DIS/smtc_shield_lr1121mb1dis.c 38 | 39 | else ifeq ($(SMTC_SHIELD_LR11XX), LR1121MB1GIS) 40 | C_SOURCES += \ 41 | $(SMTC_SHIELD_LR11XX_DIR)/smtc_shield_lr11xx/LR1121/LR1121MB1GIS/smtc_shield_lr1121mb1gis.c 42 | 43 | else 44 | $(error $(SMTC_SHIELD_LR1121_SUPPORTED_BODY)) 45 | endif 46 | -------------------------------------------------------------------------------- /lora_basics_modem/lora_basics_modem/utilities/user_app/mcu_drivers/STM32L4xx_HAL_Driver/Inc/stm32_assert_template.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file stm32_assert.h 4 | * @author MCD Application Team 5 | * @brief STM32 assert template file. 6 | * This file should be copied to the application folder and renamed 7 | * to stm32_assert.h. 8 | ****************************************************************************** 9 | * @attention 10 | * 11 | *

© Copyright (c) 2017 STMicroelectronics. 12 | * All rights reserved.

13 | * 14 | * This software component is licensed by ST under BSD 3-Clause license, 15 | * the "License"; You may not use this file except in compliance with the 16 | * License. You may obtain a copy of the License at: 17 | * opensource.org/licenses/BSD-3-Clause 18 | * 19 | ****************************************************************************** 20 | */ 21 | 22 | /* Define to prevent recursive inclusion -------------------------------------*/ 23 | #ifndef STM32_ASSERT_H 24 | #define STM32_ASSERT_H 25 | 26 | #ifdef __cplusplus 27 | extern "C" { 28 | #endif 29 | 30 | /* Exported types ------------------------------------------------------------*/ 31 | /* Exported constants --------------------------------------------------------*/ 32 | /* Includes ------------------------------------------------------------------*/ 33 | /* Exported macro ------------------------------------------------------------*/ 34 | #ifdef USE_FULL_ASSERT 35 | /** 36 | * @brief The assert_param macro is used for function's parameters check. 37 | * @param expr: If expr is false, it calls assert_failed function 38 | * which reports the name of the source file and the source 39 | * line number of the call that failed. 40 | * If expr is true, it returns no value. 41 | * @retval None 42 | */ 43 | #define assert_param(expr) ((expr) ? (void)0U : assert_failed((char *)__FILE__, __LINE__)) 44 | /* Exported functions ------------------------------------------------------- */ 45 | void assert_failed(char *file, uint32_t line); 46 | #else 47 | #define assert_param(expr) ((void)0U) 48 | #endif /* USE_FULL_ASSERT */ 49 | 50 | #ifdef __cplusplus 51 | } 52 | #endif 53 | 54 | #endif /* STM32_ASSERT_H */ 55 | 56 | 57 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 58 | -------------------------------------------------------------------------------- /shields/radio_shield.mk: -------------------------------------------------------------------------------- 1 | # --- The Clear BSD License --- 2 | # Copyright Semtech Corporation 2021. All rights reserved. 3 | # 4 | # Redistribution and use in source and binary forms, with or without 5 | # modification, are permitted (subject to the limitations in the disclaimer 6 | # below) provided that the following conditions are met: 7 | # * Redistributions of source code must retain the above copyright 8 | # notice, this list of conditions and the following disclaimer. 9 | # * Redistributions in binary form must reproduce the above copyright 10 | # notice, this list of conditions and the following disclaimer in the 11 | # documentation and/or other materials provided with the distribution. 12 | # * Neither the name of the Semtech corporation nor the 13 | # names of its contributors may be used to endorse or promote products 14 | # derived from this software without specific prior written permission. 15 | # 16 | # NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY 17 | # THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 18 | # CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT 19 | # NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A 20 | # PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SEMTECH CORPORATION BE 21 | # LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 22 | # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 23 | # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 24 | # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 25 | # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 26 | # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 27 | # POSSIBILITY OF SUCH DAMAGE. 28 | 29 | C_SOURCES += \ 30 | $(TOP_DIR)/shields/common/usr_button.c 31 | C_INCLUDES += \ 32 | -I$(TOP_DIR)/shields/interface \ 33 | -I$(TOP_DIR)/shields/common 34 | 35 | ifneq (,$(findstring LR11,$(RADIO_BOARD))) 36 | PLATFORM_BOARD_MAKEFILE = $(TOP_DIR)/shields/LR11XX/lr11xx.mk 37 | else ifneq (,$(findstring SX126,$(RADIO_BOARD))) 38 | PLATFORM_BOARD_MAKEFILE = $(TOP_DIR)/shields/SX126X/sx126x.mk 39 | else ifneq (,$(findstring SX128,$(RADIO_BOARD))) 40 | PLATFORM_BOARD_MAKEFILE = $(TOP_DIR)/shields/SX128X/sx128x.mk 41 | else 42 | $(error Invalid platform board, please select a supported platform board) 43 | endif 44 | 45 | include $(PLATFORM_BOARD_MAKEFILE) 46 | -------------------------------------------------------------------------------- /lora_basics_modem/lora_basics_modem/smtc_modem_core/smtc_modem_services/src/stream/lmic_defines.h: -------------------------------------------------------------------------------- 1 | /*! 2 | * \file lmic_defines.h 3 | * 4 | * \brief defines taken from lmic project 5 | * 6 | * The Clear BSD License 7 | * Copyright Semtech Corporation 2021. All rights reserved. 8 | * 9 | * Redistribution and use in source and binary forms, with or without 10 | * modification, are permitted (subject to the limitations in the disclaimer 11 | * below) provided that the following conditions are met: 12 | * * Redistributions of source code must retain the above copyright 13 | * notice, this list of conditions and the following disclaimer. 14 | * * Redistributions in binary form must reproduce the above copyright 15 | * notice, this list of conditions and the following disclaimer in the 16 | * documentation and/or other materials provided with the distribution. 17 | * * Neither the name of the Semtech corporation nor the 18 | * names of its contributors may be used to endorse or promote products 19 | * derived from this software without specific prior written permission. 20 | * 21 | * NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY 22 | * THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 23 | * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT 24 | * NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A 25 | * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SEMTECH CORPORATION BE 26 | * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 27 | * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 28 | * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 29 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 30 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 31 | * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 32 | * POSSIBILITY OF SUCH DAMAGE. 33 | */ 34 | 35 | #ifndef _LMIC_DEFINES_HEADER 36 | #define _LMIC_DEFINES_HEADER 37 | 38 | #include 39 | #include 40 | 41 | typedef uint8_t bit_t; 42 | typedef uint8_t u1_t; 43 | typedef int8_t s1_t; 44 | typedef uint16_t u2_t; 45 | typedef int16_t s2_t; 46 | typedef uint32_t u4_t; 47 | typedef int32_t s4_t; 48 | typedef uint64_t u8_t; 49 | typedef int64_t s8_t; 50 | typedef unsigned int uint; 51 | typedef const char* str_t; 52 | 53 | #endif // _LMIC_DEFINES_HEADER 54 | -------------------------------------------------------------------------------- /shields/SX128X/sx128x.mk: -------------------------------------------------------------------------------- 1 | # --- The Clear BSD License --- 2 | # Copyright Semtech Corporation 2022. All rights reserved. 3 | # 4 | # Redistribution and use in source and binary forms, with or without 5 | # modification, are permitted (subject to the limitations in the disclaimer 6 | # below) provided that the following conditions are met: 7 | # * Redistributions of source code must retain the above copyright 8 | # notice, this list of conditions and the following disclaimer. 9 | # * Redistributions in binary form must reproduce the above copyright 10 | # notice, this list of conditions and the following disclaimer in the 11 | # documentation and/or other materials provided with the distribution. 12 | # * Neither the name of the Semtech corporation nor the 13 | # names of its contributors may be used to endorse or promote products 14 | # derived from this software without specific prior written permission. 15 | # 16 | # NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY 17 | # THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 18 | # CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT 19 | # NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A 20 | # PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SEMTECH CORPORATION BE 21 | # LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 22 | # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 23 | # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 24 | # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 25 | # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 26 | # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 27 | # POSSIBILITY OF SUCH DAMAGE. 28 | 29 | ifneq (,$(findstring SX1280,$(RADIO_BOARD))) 30 | RADIO = sx128x 31 | else 32 | $(error Invalid platform board, please select a supported platform board) 33 | endif 34 | 35 | SMTC_SHIELD_SX128X_DIR = $(TOP_DIR)/shields/SX128X 36 | SMTC_SHIELD_SX128X = $(RADIO_BOARD) 37 | 38 | include $(TOP_DIR)/shields/SX128X/smtc_shield_sx128x/smtc_shield_sx128x.mk 39 | 40 | C_SOURCES += \ 41 | $(TOP_DIR)/shields/SX128X/radio_drivers_hal/sx128x_hal.c \ 42 | $(TOP_DIR)/shields/SX128X/common/src/ral_sx128x_bsp.c \ 43 | $(TOP_DIR)/shields/SX128X/common/src/smtc_board_sx128x.c \ 44 | 45 | C_INCLUDES += \ 46 | -I$(TOP_DIR)/shields/SX128X/radio_drivers_hal \ 47 | -I$(TOP_DIR)/shields/SX128X/common/inc \ 48 | -I$(LORA_BASICS_MODEM)/smtc_modem_core/radio_drivers/sx128x_driver/src 49 | -------------------------------------------------------------------------------- /shields/SX128X/smtc_shield_sx128x/smtc_shield_sx128x.mk: -------------------------------------------------------------------------------- 1 | # --- The Clear BSD License --- 2 | # Copyright Semtech Corporation 2022. All rights reserved. 3 | # 4 | # Redistribution and use in source and binary forms, with or without 5 | # modification, are permitted (subject to the limitations in the disclaimer 6 | # below) provided that the following conditions are met: 7 | # * Redistributions of source code must retain the above copyright 8 | # notice, this list of conditions and the following disclaimer. 9 | # * Redistributions in binary form must reproduce the above copyright 10 | # notice, this list of conditions and the following disclaimer in the 11 | # documentation and/or other materials provided with the distribution. 12 | # * Neither the name of the Semtech corporation nor the 13 | # names of its contributors may be used to endorse or promote products 14 | # derived from this software without specific prior written permission. 15 | # 16 | # NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY 17 | # THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 18 | # CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT 19 | # NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A 20 | # PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SEMTECH CORPORATION BE 21 | # LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 22 | # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 23 | # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 24 | # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 25 | # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 26 | # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 27 | # POSSIBILITY OF SUCH DAMAGE. 28 | 29 | define SMTC_SHIELD_SX128X_SUPPORTED_BODY 30 | Shield $(SMTC_SHIELD_SX128X) is not supported. 31 | 32 | The supported shields are: 33 | * SX1280: SX1280RF1ZHP 34 | endef 35 | 36 | C_INCLUDES += \ 37 | -I$(SMTC_SHIELD_SX128X_DIR)/smtc_shield_sx128x/common/inc \ 38 | 39 | C_SOURCES += \ 40 | $(SMTC_SHIELD_SX128X_DIR)/smtc_shield_sx128x/common/src/smtc_shield_sx128x_ant_sw.c \ 41 | $(SMTC_SHIELD_SX128X_DIR)/smtc_shield_sx128x/common/src/smtc_shield_sx128x_led.c \ 42 | 43 | ifeq ($(SMTC_SHIELD_SX128X), SX1280RF1ZHP) 44 | C_SOURCES += $(SMTC_SHIELD_SX128X_DIR)/smtc_shield_sx128x/SX1280RF1ZHP/src/smtc_shield_sx1280rf1zhp.c 45 | C_INCLUDES += -I$(SMTC_SHIELD_SX128X_DIR)/smtc_shield_sx128x/SX1280RF1ZHP/inc 46 | 47 | else 48 | $(error $(SMTC_SHIELD_SX128X_SUPPORTED_BODY)) 49 | endif 50 | -------------------------------------------------------------------------------- /host_driver/STMicroelectronics/STM32L4xx/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_ll_crs.c: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file stm32l4xx_ll_crs.h 4 | * @author MCD Application Team 5 | * @brief CRS LL module driver. 6 | ****************************************************************************** 7 | * @attention 8 | * 9 | *

© Copyright (c) 2017 STMicroelectronics. 10 | * All rights reserved.

11 | * 12 | * This software component is licensed by ST under BSD 3-Clause license, 13 | * the "License"; You may not use this file except in compliance with the 14 | * License. You may obtain a copy of the License at: 15 | * opensource.org/licenses/BSD-3-Clause 16 | * 17 | ****************************************************************************** 18 | */ 19 | #if defined(USE_FULL_LL_DRIVER) 20 | 21 | /* Includes ------------------------------------------------------------------*/ 22 | #include "stm32l4xx_ll_crs.h" 23 | #include "stm32l4xx_ll_bus.h" 24 | 25 | /** @addtogroup STM32L4xx_LL_Driver 26 | * @{ 27 | */ 28 | 29 | #if defined(CRS) 30 | 31 | /** @defgroup CRS_LL CRS 32 | * @{ 33 | */ 34 | 35 | /* Private types -------------------------------------------------------------*/ 36 | /* Private variables ---------------------------------------------------------*/ 37 | /* Private constants ---------------------------------------------------------*/ 38 | /* Private macros ------------------------------------------------------------*/ 39 | /* Private function prototypes -----------------------------------------------*/ 40 | 41 | /* Exported functions --------------------------------------------------------*/ 42 | /** @addtogroup CRS_LL_Exported_Functions 43 | * @{ 44 | */ 45 | 46 | /** @addtogroup CRS_LL_EF_Init 47 | * @{ 48 | */ 49 | 50 | /** 51 | * @brief De-Initializes CRS peripheral registers to their default reset values. 52 | * @retval An ErrorStatus enumeration value: 53 | * - SUCCESS: CRS registers are de-initialized 54 | * - ERROR: not applicable 55 | */ 56 | ErrorStatus LL_CRS_DeInit(void) 57 | { 58 | LL_APB1_GRP1_ForceReset(LL_APB1_GRP1_PERIPH_CRS); 59 | LL_APB1_GRP1_ReleaseReset(LL_APB1_GRP1_PERIPH_CRS); 60 | 61 | return SUCCESS; 62 | } 63 | 64 | 65 | 66 | /** 67 | * @} 68 | */ 69 | 70 | /** 71 | * @} 72 | */ 73 | 74 | /** 75 | * @} 76 | */ 77 | 78 | #endif /* defined(CRS) */ 79 | 80 | /** 81 | * @} 82 | */ 83 | 84 | #endif /* USE_FULL_LL_DRIVER */ 85 | 86 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 87 | -------------------------------------------------------------------------------- /host_driver/STMicroelectronics/STM32L4xx/Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file stm32l4xx_hal_flash_ramfunc.h 4 | * @author MCD Application Team 5 | * @brief Header file of FLASH RAMFUNC driver. 6 | ****************************************************************************** 7 | * @attention 8 | * 9 | *

© Copyright (c) 2017 STMicroelectronics. 10 | * All rights reserved.

11 | * 12 | * This software component is licensed by ST under BSD 3-Clause license, 13 | * the "License"; You may not use this file except in compliance with the 14 | * License. You may obtain a copy of the License at: 15 | * opensource.org/licenses/BSD-3-Clause 16 | * 17 | ****************************************************************************** 18 | */ 19 | 20 | /* Define to prevent recursive inclusion -------------------------------------*/ 21 | #ifndef STM32L4xx_FLASH_RAMFUNC_H 22 | #define STM32L4xx_FLASH_RAMFUNC_H 23 | 24 | #ifdef __cplusplus 25 | extern "C" { 26 | #endif 27 | 28 | /* Includes ------------------------------------------------------------------*/ 29 | #include "stm32l4xx_hal_def.h" 30 | 31 | /** @addtogroup STM32L4xx_HAL_Driver 32 | * @{ 33 | */ 34 | 35 | /** @addtogroup FLASH_RAMFUNC 36 | * @{ 37 | */ 38 | 39 | /* Exported types ------------------------------------------------------------*/ 40 | /* Exported macro ------------------------------------------------------------*/ 41 | /* Exported functions --------------------------------------------------------*/ 42 | /** @addtogroup FLASH_RAMFUNC_Exported_Functions 43 | * @{ 44 | */ 45 | 46 | /** @addtogroup FLASH_RAMFUNC_Exported_Functions_Group1 47 | * @{ 48 | */ 49 | /* Peripheral Control functions ************************************************/ 50 | __RAM_FUNC HAL_StatusTypeDef HAL_FLASHEx_EnableRunPowerDown(void); 51 | __RAM_FUNC HAL_StatusTypeDef HAL_FLASHEx_DisableRunPowerDown(void); 52 | #if defined (STM32L4P5xx) || defined (STM32L4Q5xx) || defined (STM32L4R5xx) || defined (STM32L4R7xx) || defined (STM32L4R9xx) || defined (STM32L4S5xx) || defined (STM32L4S7xx) || defined (STM32L4S9xx) 53 | __RAM_FUNC HAL_StatusTypeDef HAL_FLASHEx_OB_DBankConfig(uint32_t DBankConfig); 54 | #endif 55 | /** 56 | * @} 57 | */ 58 | 59 | /** 60 | * @} 61 | */ 62 | 63 | /** 64 | * @} 65 | */ 66 | 67 | /** 68 | * @} 69 | */ 70 | 71 | #ifdef __cplusplus 72 | } 73 | #endif 74 | 75 | #endif /* STM32L4xx_FLASH_RAMFUNC_H */ 76 | 77 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 78 | -------------------------------------------------------------------------------- /lora_basics_modem/lora_basics_modem/utilities/user_app/mcu_drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_ll_crs.c: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file stm32l4xx_ll_crs.h 4 | * @author MCD Application Team 5 | * @brief CRS LL module driver. 6 | ****************************************************************************** 7 | * @attention 8 | * 9 | *

© Copyright (c) 2017 STMicroelectronics. 10 | * All rights reserved.

11 | * 12 | * This software component is licensed by ST under BSD 3-Clause license, 13 | * the "License"; You may not use this file except in compliance with the 14 | * License. You may obtain a copy of the License at: 15 | * opensource.org/licenses/BSD-3-Clause 16 | * 17 | ****************************************************************************** 18 | */ 19 | #if defined(USE_FULL_LL_DRIVER) 20 | 21 | /* Includes ------------------------------------------------------------------*/ 22 | #include "stm32l4xx_ll_crs.h" 23 | #include "stm32l4xx_ll_bus.h" 24 | 25 | /** @addtogroup STM32L4xx_LL_Driver 26 | * @{ 27 | */ 28 | 29 | #if defined(CRS) 30 | 31 | /** @defgroup CRS_LL CRS 32 | * @{ 33 | */ 34 | 35 | /* Private types -------------------------------------------------------------*/ 36 | /* Private variables ---------------------------------------------------------*/ 37 | /* Private constants ---------------------------------------------------------*/ 38 | /* Private macros ------------------------------------------------------------*/ 39 | /* Private function prototypes -----------------------------------------------*/ 40 | 41 | /* Exported functions --------------------------------------------------------*/ 42 | /** @addtogroup CRS_LL_Exported_Functions 43 | * @{ 44 | */ 45 | 46 | /** @addtogroup CRS_LL_EF_Init 47 | * @{ 48 | */ 49 | 50 | /** 51 | * @brief De-Initializes CRS peripheral registers to their default reset values. 52 | * @retval An ErrorStatus enumeration value: 53 | * - SUCCESS: CRS registers are de-initialized 54 | * - ERROR: not applicable 55 | */ 56 | ErrorStatus LL_CRS_DeInit(void) 57 | { 58 | LL_APB1_GRP1_ForceReset(LL_APB1_GRP1_PERIPH_CRS); 59 | LL_APB1_GRP1_ReleaseReset(LL_APB1_GRP1_PERIPH_CRS); 60 | 61 | return SUCCESS; 62 | } 63 | 64 | 65 | 66 | /** 67 | * @} 68 | */ 69 | 70 | /** 71 | * @} 72 | */ 73 | 74 | /** 75 | * @} 76 | */ 77 | 78 | #endif /* defined(CRS) */ 79 | 80 | /** 81 | * @} 82 | */ 83 | 84 | #endif /* USE_FULL_LL_DRIVER */ 85 | 86 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 87 | -------------------------------------------------------------------------------- /lora_basics_modem/lora_basics_modem/smtc_modem_core/radio_drivers/lr11xx_driver/src/lr11xx_driver_module.cmake: -------------------------------------------------------------------------------- 1 | # @file lr11xx_driver_module.cmake 2 | # 3 | # @brief Defines CMake source files and include directories for this module 4 | # 5 | # --- The Clear BSD License --- 6 | # Copyright Semtech Corporation 2021. All rights reserved. 7 | # 8 | # Redistribution and use in source and binary forms, with or without 9 | # modification, are permitted (subject to the limitations in the disclaimer 10 | # below) provided that the following conditions are met: 11 | # * Redistributions of source code must retain the above copyright 12 | # notice, this list of conditions and the following disclaimer. 13 | # * Redistributions in binary form must reproduce the above copyright 14 | # notice, this list of conditions and the following disclaimer in the 15 | # documentation and/or other materials provided with the distribution. 16 | # * Neither the name of the Semtech corporation nor the 17 | # names of its contributors may be used to endorse or promote products 18 | # derived from this software without specific prior written permission. 19 | # 20 | # NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY 21 | # THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 22 | # CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT 23 | # NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A 24 | # PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SEMTECH CORPORATION BE 25 | # LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 26 | # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 27 | # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 28 | # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 29 | # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 30 | # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 31 | # POSSIBILITY OF SUCH DAMAGE. 32 | 33 | set(LR11XX_DRIVER_MODULE_C_SOURCES 34 | ${CMAKE_CURRENT_LIST_DIR}/lr11xx_bootloader.c 35 | ${CMAKE_CURRENT_LIST_DIR}/lr11xx_crypto_engine.c 36 | ${CMAKE_CURRENT_LIST_DIR}/lr11xx_driver_version.c 37 | ${CMAKE_CURRENT_LIST_DIR}/lr11xx_gnss.c 38 | ${CMAKE_CURRENT_LIST_DIR}/lr11xx_lr_fhss.c 39 | ${CMAKE_CURRENT_LIST_DIR}/lr11xx_radio.c 40 | ${CMAKE_CURRENT_LIST_DIR}/lr11xx_radio_timings.c 41 | ${CMAKE_CURRENT_LIST_DIR}/lr11xx_regmem.c 42 | ${CMAKE_CURRENT_LIST_DIR}/lr11xx_system.c 43 | ${CMAKE_CURRENT_LIST_DIR}/lr11xx_wifi.c 44 | ) 45 | 46 | set(LR11XX_DRIVER_MODULE_C_INCLUDES 47 | ${CMAKE_CURRENT_LIST_DIR}/. 48 | ) 49 | -------------------------------------------------------------------------------- /lora_basics_modem/lora_basics_modem/utilities/user_app/mcu_drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file stm32l4xx_hal_flash_ramfunc.h 4 | * @author MCD Application Team 5 | * @brief Header file of FLASH RAMFUNC driver. 6 | ****************************************************************************** 7 | * @attention 8 | * 9 | *

© Copyright (c) 2017 STMicroelectronics. 10 | * All rights reserved.

11 | * 12 | * This software component is licensed by ST under BSD 3-Clause license, 13 | * the "License"; You may not use this file except in compliance with the 14 | * License. You may obtain a copy of the License at: 15 | * opensource.org/licenses/BSD-3-Clause 16 | * 17 | ****************************************************************************** 18 | */ 19 | 20 | /* Define to prevent recursive inclusion -------------------------------------*/ 21 | #ifndef STM32L4xx_FLASH_RAMFUNC_H 22 | #define STM32L4xx_FLASH_RAMFUNC_H 23 | 24 | #ifdef __cplusplus 25 | extern "C" { 26 | #endif 27 | 28 | /* Includes ------------------------------------------------------------------*/ 29 | #include "stm32l4xx_hal_def.h" 30 | 31 | /** @addtogroup STM32L4xx_HAL_Driver 32 | * @{ 33 | */ 34 | 35 | /** @addtogroup FLASH_RAMFUNC 36 | * @{ 37 | */ 38 | 39 | /* Exported types ------------------------------------------------------------*/ 40 | /* Exported macro ------------------------------------------------------------*/ 41 | /* Exported functions --------------------------------------------------------*/ 42 | /** @addtogroup FLASH_RAMFUNC_Exported_Functions 43 | * @{ 44 | */ 45 | 46 | /** @addtogroup FLASH_RAMFUNC_Exported_Functions_Group1 47 | * @{ 48 | */ 49 | /* Peripheral Control functions ************************************************/ 50 | __RAM_FUNC HAL_StatusTypeDef HAL_FLASHEx_EnableRunPowerDown(void); 51 | __RAM_FUNC HAL_StatusTypeDef HAL_FLASHEx_DisableRunPowerDown(void); 52 | #if defined (STM32L4P5xx) || defined (STM32L4Q5xx) || defined (STM32L4R5xx) || defined (STM32L4R7xx) || defined (STM32L4R9xx) || defined (STM32L4S5xx) || defined (STM32L4S7xx) || defined (STM32L4S9xx) 53 | __RAM_FUNC HAL_StatusTypeDef HAL_FLASHEx_OB_DBankConfig(uint32_t DBankConfig); 54 | #endif 55 | /** 56 | * @} 57 | */ 58 | 59 | /** 60 | * @} 61 | */ 62 | 63 | /** 64 | * @} 65 | */ 66 | 67 | /** 68 | * @} 69 | */ 70 | 71 | #ifdef __cplusplus 72 | } 73 | #endif 74 | 75 | #endif /* STM32L4xx_FLASH_RAMFUNC_H */ 76 | 77 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 78 | -------------------------------------------------------------------------------- /host_driver/STMicroelectronics/STM32L4xx/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_ll_pwr.c: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file stm32l4xx_ll_pwr.c 4 | * @author MCD Application Team 5 | * @brief PWR LL module driver. 6 | ****************************************************************************** 7 | * @attention 8 | * 9 | *

© Copyright (c) 2017 STMicroelectronics. 10 | * All rights reserved.

11 | * 12 | * This software component is licensed by ST under BSD 3-Clause license, 13 | * the "License"; You may not use this file except in compliance with the 14 | * License. You may obtain a copy of the License at: 15 | * opensource.org/licenses/BSD-3-Clause 16 | * 17 | ****************************************************************************** 18 | */ 19 | #if defined(USE_FULL_LL_DRIVER) 20 | 21 | /* Includes ------------------------------------------------------------------*/ 22 | #include "stm32l4xx_ll_pwr.h" 23 | #include "stm32l4xx_ll_bus.h" 24 | 25 | /** @addtogroup STM32L4xx_LL_Driver 26 | * @{ 27 | */ 28 | 29 | #if defined(PWR) 30 | 31 | /** @defgroup PWR_LL PWR 32 | * @{ 33 | */ 34 | 35 | /* Private types -------------------------------------------------------------*/ 36 | /* Private variables ---------------------------------------------------------*/ 37 | /* Private constants ---------------------------------------------------------*/ 38 | /* Private macros ------------------------------------------------------------*/ 39 | /* Private function prototypes -----------------------------------------------*/ 40 | 41 | /* Exported functions --------------------------------------------------------*/ 42 | /** @addtogroup PWR_LL_Exported_Functions 43 | * @{ 44 | */ 45 | 46 | /** @addtogroup PWR_LL_EF_Init 47 | * @{ 48 | */ 49 | 50 | /** 51 | * @brief De-initialize the PWR registers to their default reset values. 52 | * @retval An ErrorStatus enumeration value: 53 | * - SUCCESS: PWR registers are de-initialized 54 | * - ERROR: not applicable 55 | */ 56 | ErrorStatus LL_PWR_DeInit(void) 57 | { 58 | /* Force reset of PWR clock */ 59 | LL_APB1_GRP1_ForceReset(LL_APB1_GRP1_PERIPH_PWR); 60 | 61 | /* Release reset of PWR clock */ 62 | LL_APB1_GRP1_ReleaseReset(LL_APB1_GRP1_PERIPH_PWR); 63 | 64 | return SUCCESS; 65 | } 66 | 67 | /** 68 | * @} 69 | */ 70 | 71 | /** 72 | * @} 73 | */ 74 | 75 | /** 76 | * @} 77 | */ 78 | #endif /* defined(PWR) */ 79 | /** 80 | * @} 81 | */ 82 | 83 | #endif /* USE_FULL_LL_DRIVER */ 84 | 85 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 86 | -------------------------------------------------------------------------------- /lora_basics_modem/lora_basics_modem/utilities/user_app/mcu_drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_ll_pwr.c: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file stm32l4xx_ll_pwr.c 4 | * @author MCD Application Team 5 | * @brief PWR LL module driver. 6 | ****************************************************************************** 7 | * @attention 8 | * 9 | *

© Copyright (c) 2017 STMicroelectronics. 10 | * All rights reserved.

11 | * 12 | * This software component is licensed by ST under BSD 3-Clause license, 13 | * the "License"; You may not use this file except in compliance with the 14 | * License. You may obtain a copy of the License at: 15 | * opensource.org/licenses/BSD-3-Clause 16 | * 17 | ****************************************************************************** 18 | */ 19 | #if defined(USE_FULL_LL_DRIVER) 20 | 21 | /* Includes ------------------------------------------------------------------*/ 22 | #include "stm32l4xx_ll_pwr.h" 23 | #include "stm32l4xx_ll_bus.h" 24 | 25 | /** @addtogroup STM32L4xx_LL_Driver 26 | * @{ 27 | */ 28 | 29 | #if defined(PWR) 30 | 31 | /** @defgroup PWR_LL PWR 32 | * @{ 33 | */ 34 | 35 | /* Private types -------------------------------------------------------------*/ 36 | /* Private variables ---------------------------------------------------------*/ 37 | /* Private constants ---------------------------------------------------------*/ 38 | /* Private macros ------------------------------------------------------------*/ 39 | /* Private function prototypes -----------------------------------------------*/ 40 | 41 | /* Exported functions --------------------------------------------------------*/ 42 | /** @addtogroup PWR_LL_Exported_Functions 43 | * @{ 44 | */ 45 | 46 | /** @addtogroup PWR_LL_EF_Init 47 | * @{ 48 | */ 49 | 50 | /** 51 | * @brief De-initialize the PWR registers to their default reset values. 52 | * @retval An ErrorStatus enumeration value: 53 | * - SUCCESS: PWR registers are de-initialized 54 | * - ERROR: not applicable 55 | */ 56 | ErrorStatus LL_PWR_DeInit(void) 57 | { 58 | /* Force reset of PWR clock */ 59 | LL_APB1_GRP1_ForceReset(LL_APB1_GRP1_PERIPH_PWR); 60 | 61 | /* Release reset of PWR clock */ 62 | LL_APB1_GRP1_ReleaseReset(LL_APB1_GRP1_PERIPH_PWR); 63 | 64 | return SUCCESS; 65 | } 66 | 67 | /** 68 | * @} 69 | */ 70 | 71 | /** 72 | * @} 73 | */ 74 | 75 | /** 76 | * @} 77 | */ 78 | #endif /* defined(PWR) */ 79 | /** 80 | * @} 81 | */ 82 | 83 | #endif /* USE_FULL_LL_DRIVER */ 84 | 85 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 86 | -------------------------------------------------------------------------------- /shields/SX126X/sx126x.mk: -------------------------------------------------------------------------------- 1 | # --- The Clear BSD License --- 2 | # Copyright Semtech Corporation 2022. All rights reserved. 3 | # 4 | # Redistribution and use in source and binary forms, with or without 5 | # modification, are permitted (subject to the limitations in the disclaimer 6 | # below) provided that the following conditions are met: 7 | # * Redistributions of source code must retain the above copyright 8 | # notice, this list of conditions and the following disclaimer. 9 | # * Redistributions in binary form must reproduce the above copyright 10 | # notice, this list of conditions and the following disclaimer in the 11 | # documentation and/or other materials provided with the distribution. 12 | # * Neither the name of the Semtech corporation nor the 13 | # names of its contributors may be used to endorse or promote products 14 | # derived from this software without specific prior written permission. 15 | # 16 | # NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY 17 | # THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 18 | # CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT 19 | # NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A 20 | # PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SEMTECH CORPORATION BE 21 | # LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 22 | # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 23 | # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 24 | # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 25 | # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 26 | # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 27 | # POSSIBILITY OF SUCH DAMAGE. 28 | 29 | ifneq (,$(findstring SX1261,$(RADIO_BOARD))) 30 | RADIO = sx1261 31 | else ifneq (,$(findstring SX1262,$(RADIO_BOARD))) 32 | RADIO = sx1262 33 | else ifneq (,$(findstring SX1268,$(RADIO_BOARD))) 34 | RADIO = sx1268 35 | else 36 | $(error Invalid platform board, please select a supported platform board) 37 | endif 38 | 39 | SMTC_SHIELD_SX126X_DIR = $(TOP_DIR)/shields/SX126X 40 | SMTC_SHIELD_SX126X = $(RADIO_BOARD) 41 | 42 | include $(TOP_DIR)/shields/SX126X/smtc_shield_sx126x/smtc_shield_sx126x.mk 43 | 44 | C_SOURCES += \ 45 | $(TOP_DIR)/shields/SX126X/radio_drivers_hal/sx126x_hal.c \ 46 | $(TOP_DIR)/shields/SX126X/common/src/ral_sx126x_bsp.c \ 47 | $(TOP_DIR)/shields/SX126X/common/src/smtc_board_sx126x.c \ 48 | 49 | C_INCLUDES += \ 50 | -I$(TOP_DIR)/shields/SX126X/radio_drivers_hal \ 51 | -I$(TOP_DIR)/shields/SX126X/common/inc \ 52 | -I$(LORA_BASICS_MODEM)/smtc_modem_core/radio_drivers/sx126x_driver/src 53 | --------------------------------------------------------------------------------