From 1be96b653bebcd1f22ffa38b50738b53fa28abb2 Mon Sep 17 00:00:00 2001 From: "Sergio R. Caprile" Date: Sat, 2 Mar 2024 14:55:41 -0300 Subject: [PATCH] Cube pack --- .../.project/Cesanta.I-CUBE-Mongoose.pdsc | 12 +- ...esanta.I-CUBE-Mongoose.7.13.0_Configs.xml} | 4 +- ... Cesanta.I-CUBE-Mongoose.7.13.0_Modes.xml} | 6 +- .../STM32CubeMX/templates/mongoose_conf.ftl | 3 +- extra/stm_exp_pack/.project/projectFile.xml | 10 +- .../.project/untrackedFilesList.txt | 372 ++ .../Documentation/GettingStarted.html | 5 + .../Templates/gcc/startup_stm32f722xx.s | 535 ++ .../Templates/gcc/startup_stm32f723xx.s | 535 ++ .../Templates/gcc/startup_stm32f730xx.s | 538 ++ .../Templates/gcc/startup_stm32f732xx.s | 538 ++ .../Templates/gcc/startup_stm32f733xx.s | 538 ++ .../Templates/gcc/startup_stm32f745xx.s | 565 ++ .../Templates/gcc/startup_stm32f746xx.s | 571 ++ .../Templates/gcc/startup_stm32f750xx.s | 574 ++ .../Templates/gcc/startup_stm32f756xx.s | 574 ++ .../Templates/gcc/startup_stm32f765xx.s | 608 ++ .../Templates/gcc/startup_stm32f767xx.s | 617 ++ .../Templates/gcc/startup_stm32f769xx.s | 619 ++ .../Templates/gcc/startup_stm32f777xx.s | 619 ++ .../Templates/gcc/startup_stm32f779xx.s | 622 ++ .../Source/Templates/system_stm32f7xx.c | 259 + .../x/nucleo-f746zg-cube-baremetal/.cproject | 25 +- .../x/nucleo-f746zg-cube-baremetal/.mxproject | 4 +- .../x/x/nucleo-f746zg-cube-baremetal/.project | 107 + .../.settings/language.settings.xml | 4 +- .../Core/Src/main.c | 4 +- .../I-CUBE-Mongoose/App/mongoose_custom.h | 3 +- .../nucleo-f746zg-cube-baremetal.ioc | 18 +- .../.cproject | 86 +- .../.mxproject | 10 +- .../nucleo-f746zg-cube-freertos-lwip/.project | 567 ++ .../.settings/language.settings.xml | 4 +- .../Core/Inc/stm32f7xx_hal_conf.h | 13 +- .../Core/Src/main.c | 1 + .../Core/Src/stm32f7xx_hal_msp.c | 1 + .../I-CUBE-Mongoose/App/mongoose_custom.h | 2 +- .../LWIP/Target/ethernetif.c | 37 + .../nucleo-f746zg-cube-freertos-lwip.ioc | 36 +- .../x/x/nucleo-f746zg-cube-freertos/.cproject | 38 +- .../x/nucleo-f746zg-cube-freertos/.mxproject | 6 +- .../x/x/nucleo-f746zg-cube-freertos/.project | 157 + .../.settings/language.settings.xml | 4 +- .../Core/Inc/stm32f7xx_hal_conf.h | 8 +- .../Core/Src/main.c | 5 +- .../Core/Src/stm32f7xx_hal_msp.c | 1 + .../I-CUBE-Mongoose/App/mongoose_custom.h | 2 +- .../nucleo-f746zg-cube-freertos.ioc | 32 +- extra/stm_exp_pack/Makefile | 10 +- .../FreeRTOS/Source/CMSIS_RTOS/cmsis_os.c | 1727 ++++++ .../FreeRTOS/Source/CMSIS_RTOS/cmsis_os.h | 1026 ++++ .../FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os.h | 846 +++ .../FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.c | 1924 ++++++ .../FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.h | 734 +++ .../Third_Party/FreeRTOS/Source/croutine.c | 353 ++ .../FreeRTOS/Source/event_groups.c | 753 +++ .../FreeRTOS/Source/include/FreeRTOS.h | 1278 ++++ .../FreeRTOS/Source/include/StackMacros.h | 133 + .../FreeRTOS/Source/include/croutine.h | 720 +++ .../Source/include/deprecated_definitions.h | 279 + .../FreeRTOS/Source/include/event_groups.h | 757 +++ .../FreeRTOS/Source/include/list.h | 412 ++ .../FreeRTOS/Source/include/message_buffer.h | 799 +++ .../FreeRTOS/Source/include/mpu_prototypes.h | 157 + .../FreeRTOS/Source/include/mpu_wrappers.h | 186 + .../FreeRTOS/Source/include/portable.h | 181 + .../FreeRTOS/Source/include/projdefs.h | 124 + .../FreeRTOS/Source/include/queue.h | 1655 ++++++ .../FreeRTOS/Source/include/semphr.h | 1140 ++++ .../FreeRTOS/Source/include/stack_macros.h | 129 + .../FreeRTOS/Source/include/stream_buffer.h | 855 +++ .../FreeRTOS/Source/include/task.h | 2421 ++++++++ .../FreeRTOS/Source/include/timers.h | 1295 ++++ .../Third_Party/FreeRTOS/Source/list.c | 198 + .../Source/portable/GCC/ARM_CM7/r0p1/port.c | 765 +++ .../portable/GCC/ARM_CM7/r0p1/portmacro.h | 247 + .../FreeRTOS/Source/portable/MemMang/heap_4.c | 436 ++ .../Third_Party/FreeRTOS/Source/queue.c | 2941 ++++++++++ .../FreeRTOS/Source/stream_buffer.c | 1263 ++++ .../Third_Party/FreeRTOS/Source/tasks.c | 5214 +++++++++++++++++ .../Third_Party/FreeRTOS/Source/timers.c | 1102 ++++ .../Third_Party/LwIP/src/api/api_lib.c | 1367 +++++ .../Third_Party/LwIP/src/api/api_msg.c | 2173 +++++++ .../Third_Party/LwIP/src/api/err.c | 115 + .../Third_Party/LwIP/src/api/if_api.c | 102 + .../Third_Party/LwIP/src/api/netbuf.c | 250 + .../Third_Party/LwIP/src/api/netdb.c | 414 ++ .../Third_Party/LwIP/src/api/netifapi.c | 380 ++ .../Third_Party/LwIP/src/api/sockets.c | 4160 +++++++++++++ .../Third_Party/LwIP/src/api/tcpip.c | 658 +++ .../Third_Party/LwIP/src/apps/mqtt/mqtt.c | 1463 +++++ .../Third_Party/LwIP/src/core/altcp.c | 681 +++ .../Third_Party/LwIP/src/core/altcp_alloc.c | 87 + .../Third_Party/LwIP/src/core/altcp_tcp.c | 543 ++ .../Third_Party/LwIP/src/core/def.c | 240 + .../Third_Party/LwIP/src/core/dns.c | 1631 ++++++ .../Third_Party/LwIP/src/core/inet_chksum.c | 608 ++ .../Third_Party/LwIP/src/core/init.c | 380 ++ .../Third_Party/LwIP/src/core/ip.c | 167 + .../Third_Party/LwIP/src/core/ipv4/autoip.c | 527 ++ .../Third_Party/LwIP/src/core/ipv4/dhcp.c | 1990 +++++++ .../Third_Party/LwIP/src/core/ipv4/etharp.c | 1204 ++++ .../Third_Party/LwIP/src/core/ipv4/icmp.c | 404 ++ .../Third_Party/LwIP/src/core/ipv4/igmp.c | 801 +++ .../Third_Party/LwIP/src/core/ipv4/ip4.c | 1132 ++++ .../Third_Party/LwIP/src/core/ipv4/ip4_addr.c | 321 + .../Third_Party/LwIP/src/core/ipv4/ip4_frag.c | 894 +++ .../Third_Party/LwIP/src/core/ipv6/dhcp6.c | 812 +++ .../Third_Party/LwIP/src/core/ipv6/ethip6.c | 123 + .../Third_Party/LwIP/src/core/ipv6/icmp6.c | 425 ++ .../Third_Party/LwIP/src/core/ipv6/inet6.c | 53 + .../Third_Party/LwIP/src/core/ipv6/ip6.c | 1492 +++++ .../Third_Party/LwIP/src/core/ipv6/ip6_addr.c | 343 ++ .../Third_Party/LwIP/src/core/ipv6/ip6_frag.c | 862 +++ .../Third_Party/LwIP/src/core/ipv6/mld6.c | 626 ++ .../Third_Party/LwIP/src/core/ipv6/nd6.c | 2434 ++++++++ .../Third_Party/LwIP/src/core/mem.c | 1017 ++++ .../Third_Party/LwIP/src/core/memp.c | 447 ++ .../Third_Party/LwIP/src/core/netif.c | 1795 ++++++ .../Third_Party/LwIP/src/core/pbuf.c | 1514 +++++ .../Third_Party/LwIP/src/core/raw.c | 671 +++ .../Third_Party/LwIP/src/core/stats.c | 169 + .../Third_Party/LwIP/src/core/sys.c | 148 + .../Third_Party/LwIP/src/core/tcp.c | 2686 +++++++++ .../Third_Party/LwIP/src/core/tcp_in.c | 2178 +++++++ .../Third_Party/LwIP/src/core/tcp_out.c | 2190 +++++++ .../Third_Party/LwIP/src/core/timeouts.c | 451 ++ .../Third_Party/LwIP/src/core/udp.c | 1314 +++++ .../LwIP/src/include/compat/posix/arpa/inet.h | 33 + .../LwIP/src/include/compat/posix/net/if.h | 36 + .../LwIP/src/include/compat/posix/netdb.h | 33 + .../src/include/compat/posix/sys/socket.h | 33 + .../LwIP/src/include/compat/stdc/errno.h | 33 + .../Third_Party/LwIP/src/include/lwip/altcp.h | 201 + .../LwIP/src/include/lwip/altcp_tcp.h | 72 + .../LwIP/src/include/lwip/altcp_tls.h | 117 + .../Third_Party/LwIP/src/include/lwip/api.h | 431 ++ .../include/lwip/apps/altcp_proxyconnect.h | 79 + .../lwip/apps/altcp_tls_mbedtls_opts.h | 67 + .../LwIP/src/include/lwip/apps/fs.h | 126 + .../LwIP/src/include/lwip/apps/http_client.h | 160 + .../LwIP/src/include/lwip/apps/httpd.h | 255 + .../LwIP/src/include/lwip/apps/httpd_opts.h | 396 ++ .../LwIP/src/include/lwip/apps/lwiperf.h | 100 + .../LwIP/src/include/lwip/apps/mdns.h | 105 + .../LwIP/src/include/lwip/apps/mdns_opts.h | 81 + .../LwIP/src/include/lwip/apps/mdns_priv.h | 74 + .../LwIP/src/include/lwip/apps/mqtt.h | 205 + .../LwIP/src/include/lwip/apps/mqtt_opts.h | 103 + .../LwIP/src/include/lwip/apps/mqtt_priv.h | 104 + .../LwIP/src/include/lwip/apps/netbiosns.h | 51 + .../src/include/lwip/apps/netbiosns_opts.h | 66 + .../LwIP/src/include/lwip/apps/smtp.h | 128 + .../LwIP/src/include/lwip/apps/smtp_opts.h | 81 + .../LwIP/src/include/lwip/apps/snmp.h | 135 + .../LwIP/src/include/lwip/apps/snmp_core.h | 377 ++ .../LwIP/src/include/lwip/apps/snmp_mib2.h | 78 + .../LwIP/src/include/lwip/apps/snmp_opts.h | 297 + .../LwIP/src/include/lwip/apps/snmp_scalar.h | 113 + .../include/lwip/apps/snmp_snmpv2_framework.h | 32 + .../src/include/lwip/apps/snmp_snmpv2_usm.h | 24 + .../LwIP/src/include/lwip/apps/snmp_table.h | 134 + .../src/include/lwip/apps/snmp_threadsync.h | 114 + .../LwIP/src/include/lwip/apps/snmpv3.h | 114 + .../LwIP/src/include/lwip/apps/sntp.h | 80 + .../LwIP/src/include/lwip/apps/sntp_opts.h | 209 + .../LwIP/src/include/lwip/apps/tftp_opts.h | 106 + .../LwIP/src/include/lwip/apps/tftp_server.h | 95 + .../Third_Party/LwIP/src/include/lwip/arch.h | 393 ++ .../LwIP/src/include/lwip/autoip.h | 99 + .../Third_Party/LwIP/src/include/lwip/debug.h | 161 + .../Third_Party/LwIP/src/include/lwip/def.h | 152 + .../Third_Party/LwIP/src/include/lwip/dhcp.h | 139 + .../Third_Party/LwIP/src/include/lwip/dhcp6.h | 104 + .../Third_Party/LwIP/src/include/lwip/dns.h | 131 + .../Third_Party/LwIP/src/include/lwip/err.h | 117 + .../Third_Party/LwIP/src/include/lwip/errno.h | 198 + .../LwIP/src/include/lwip/etharp.h | 105 + .../LwIP/src/include/lwip/ethip6.h | 68 + .../Third_Party/LwIP/src/include/lwip/icmp.h | 110 + .../Third_Party/LwIP/src/include/lwip/icmp6.h | 72 + .../LwIP/src/include/lwip/if_api.h | 68 + .../Third_Party/LwIP/src/include/lwip/igmp.h | 115 + .../Third_Party/LwIP/src/include/lwip/inet.h | 169 + .../LwIP/src/include/lwip/inet_chksum.h | 105 + .../Third_Party/LwIP/src/include/lwip/init.h | 100 + .../Third_Party/LwIP/src/include/lwip/ip.h | 330 ++ .../Third_Party/LwIP/src/include/lwip/ip4.h | 111 + .../LwIP/src/include/lwip/ip4_addr.h | 216 + .../LwIP/src/include/lwip/ip4_frag.h | 100 + .../Third_Party/LwIP/src/include/lwip/ip6.h | 93 + .../LwIP/src/include/lwip/ip6_addr.h | 352 ++ .../LwIP/src/include/lwip/ip6_frag.h | 144 + .../LwIP/src/include/lwip/ip6_zone.h | 304 + .../LwIP/src/include/lwip/ip_addr.h | 438 ++ .../Third_Party/LwIP/src/include/lwip/mem.h | 82 + .../Third_Party/LwIP/src/include/lwip/memp.h | 155 + .../Third_Party/LwIP/src/include/lwip/mld6.h | 99 + .../Third_Party/LwIP/src/include/lwip/nd6.h | 90 + .../LwIP/src/include/lwip/netbuf.h | 116 + .../Third_Party/LwIP/src/include/lwip/netdb.h | 150 + .../Third_Party/LwIP/src/include/lwip/netif.h | 669 +++ .../LwIP/src/include/lwip/netifapi.h | 161 + .../Third_Party/LwIP/src/include/lwip/opt.h | 3519 +++++++++++ .../Third_Party/LwIP/src/include/lwip/pbuf.h | 322 + .../LwIP/src/include/lwip/priv/altcp_priv.h | 146 + .../LwIP/src/include/lwip/priv/api_msg.h | 272 + .../LwIP/src/include/lwip/priv/mem_priv.h | 84 + .../LwIP/src/include/lwip/priv/memp_priv.h | 161 + .../LwIP/src/include/lwip/priv/memp_std.h | 153 + .../LwIP/src/include/lwip/priv/nd6_priv.h | 142 + .../LwIP/src/include/lwip/priv/raw_priv.h | 69 + .../LwIP/src/include/lwip/priv/sockets_priv.h | 175 + .../LwIP/src/include/lwip/priv/tcp_priv.h | 523 ++ .../LwIP/src/include/lwip/priv/tcpip_priv.h | 170 + .../LwIP/src/include/lwip/prot/autoip.h | 78 + .../LwIP/src/include/lwip/prot/dhcp.h | 178 + .../LwIP/src/include/lwip/prot/dhcp6.h | 138 + .../LwIP/src/include/lwip/prot/dns.h | 140 + .../LwIP/src/include/lwip/prot/etharp.h | 114 + .../LwIP/src/include/lwip/prot/ethernet.h | 125 + .../LwIP/src/include/lwip/prot/iana.h | 97 + .../LwIP/src/include/lwip/prot/icmp.h | 91 + .../LwIP/src/include/lwip/prot/icmp6.h | 170 + .../LwIP/src/include/lwip/prot/ieee.h | 91 + .../LwIP/src/include/lwip/prot/igmp.h | 90 + .../LwIP/src/include/lwip/prot/ip.h | 59 + .../LwIP/src/include/lwip/prot/ip4.h | 131 + .../LwIP/src/include/lwip/prot/ip6.h | 233 + .../LwIP/src/include/lwip/prot/mld6.h | 71 + .../LwIP/src/include/lwip/prot/nd6.h | 274 + .../LwIP/src/include/lwip/prot/tcp.h | 100 + .../LwIP/src/include/lwip/prot/udp.h | 68 + .../Third_Party/LwIP/src/include/lwip/raw.h | 143 + .../Third_Party/LwIP/src/include/lwip/sio.h | 142 + .../Third_Party/LwIP/src/include/lwip/snmp.h | 213 + .../LwIP/src/include/lwip/sockets.h | 688 +++ .../Third_Party/LwIP/src/include/lwip/stats.h | 491 ++ .../Third_Party/LwIP/src/include/lwip/sys.h | 560 ++ .../Third_Party/LwIP/src/include/lwip/tcp.h | 500 ++ .../LwIP/src/include/lwip/tcpbase.h | 88 + .../Third_Party/LwIP/src/include/lwip/tcpip.h | 113 + .../LwIP/src/include/lwip/timeouts.h | 128 + .../Third_Party/LwIP/src/include/lwip/udp.h | 195 + .../LwIP/src/include/netif/bridgeif.h | 127 + .../LwIP/src/include/netif/bridgeif_opts.h | 90 + .../LwIP/src/include/netif/etharp.h | 3 + .../LwIP/src/include/netif/ethernet.h | 77 + .../LwIP/src/include/netif/ieee802154.h | 112 + .../LwIP/src/include/netif/lowpan6.h | 89 + .../LwIP/src/include/netif/lowpan6_ble.h | 78 + .../LwIP/src/include/netif/lowpan6_common.h | 82 + .../LwIP/src/include/netif/lowpan6_opts.h | 122 + .../LwIP/src/include/netif/ppp/ccp.h | 164 + .../LwIP/src/include/netif/ppp/chap-md5.h | 36 + .../LwIP/src/include/netif/ppp/chap-new.h | 200 + .../LwIP/src/include/netif/ppp/chap_ms.h | 44 + .../LwIP/src/include/netif/ppp/eap.h | 169 + .../LwIP/src/include/netif/ppp/ecp.h | 62 + .../LwIP/src/include/netif/ppp/eui64.h | 102 + .../LwIP/src/include/netif/ppp/fsm.h | 182 + .../LwIP/src/include/netif/ppp/ipcp.h | 134 + .../LwIP/src/include/netif/ppp/ipv6cp.h | 191 + .../LwIP/src/include/netif/ppp/lcp.h | 179 + .../LwIP/src/include/netif/ppp/magic.h | 130 + .../LwIP/src/include/netif/ppp/mppe.h | 181 + .../LwIP/src/include/netif/ppp/ppp.h | 698 +++ .../LwIP/src/include/netif/ppp/ppp_impl.h | 722 +++ .../LwIP/src/include/netif/ppp/ppp_opts.h | 610 ++ .../LwIP/src/include/netif/ppp/pppapi.h | 137 + .../LwIP/src/include/netif/ppp/pppcrypt.h | 144 + .../LwIP/src/include/netif/ppp/pppdebug.h | 88 + .../LwIP/src/include/netif/ppp/pppoe.h | 187 + .../LwIP/src/include/netif/ppp/pppol2tp.h | 209 + .../LwIP/src/include/netif/ppp/pppos.h | 126 + .../LwIP/src/include/netif/ppp/upap.h | 131 + .../LwIP/src/include/netif/ppp/vj.h | 169 + .../LwIP/src/include/netif/slipif.h | 87 + .../LwIP/src/include/netif/zepif.h | 81 + .../Third_Party/LwIP/src/netif/bridgeif.c | 563 ++ .../Third_Party/LwIP/src/netif/bridgeif_fdb.c | 212 + .../Third_Party/LwIP/src/netif/ethernet.c | 321 + .../Third_Party/LwIP/src/netif/lowpan6.c | 920 +++ .../Third_Party/LwIP/src/netif/lowpan6_ble.c | 447 ++ .../LwIP/src/netif/lowpan6_common.c | 841 +++ .../Third_Party/LwIP/src/netif/ppp/auth.c | 2510 ++++++++ .../Third_Party/LwIP/src/netif/ppp/ccp.c | 1740 ++++++ .../Third_Party/LwIP/src/netif/ppp/chap-md5.c | 126 + .../Third_Party/LwIP/src/netif/ppp/chap-new.c | 677 +++ .../Third_Party/LwIP/src/netif/ppp/chap_ms.c | 962 +++ .../Third_Party/LwIP/src/netif/ppp/demand.c | 465 ++ .../Third_Party/LwIP/src/netif/ppp/eap.c | 2423 ++++++++ .../Third_Party/LwIP/src/netif/ppp/ecp.c | 191 + .../Third_Party/LwIP/src/netif/ppp/eui64.c | 56 + .../Third_Party/LwIP/src/netif/ppp/fsm.c | 799 +++ .../Third_Party/LwIP/src/netif/ppp/ipcp.c | 2418 ++++++++ .../Third_Party/LwIP/src/netif/ppp/ipv6cp.c | 1533 +++++ .../Third_Party/LwIP/src/netif/ppp/lcp.c | 2790 +++++++++ .../Third_Party/LwIP/src/netif/ppp/magic.c | 294 + .../Third_Party/LwIP/src/netif/ppp/mppe.c | 412 ++ .../LwIP/src/netif/ppp/multilink.c | 609 ++ .../Third_Party/LwIP/src/netif/ppp/ppp.c | 1628 +++++ .../Third_Party/LwIP/src/netif/ppp/pppapi.c | 427 ++ .../Third_Party/LwIP/src/netif/ppp/pppcrypt.c | 66 + .../Third_Party/LwIP/src/netif/ppp/pppoe.c | 1201 ++++ .../Third_Party/LwIP/src/netif/ppp/pppol2tp.c | 1159 ++++ .../Third_Party/LwIP/src/netif/ppp/pppos.c | 895 +++ .../Third_Party/LwIP/src/netif/ppp/upap.c | 677 +++ .../Third_Party/LwIP/src/netif/ppp/utils.c | 957 +++ .../Third_Party/LwIP/src/netif/ppp/vj.c | 685 +++ .../Third_Party/LwIP/src/netif/slipif.c | 558 ++ .../Third_Party/LwIP/src/netif/zepif.c | 300 + .../Third_Party/LwIP/system/OS/sys_arch.c | 512 ++ .../Third_Party/LwIP/system/arch/bpstruct.h | 36 + .../Third_Party/LwIP/system/arch/cc.h | 88 + .../Third_Party/LwIP/system/arch/cpu.h | 39 + .../Third_Party/LwIP/system/arch/epstruct.h | 36 + .../Third_Party/LwIP/system/arch/init.h | 44 + .../Third_Party/LwIP/system/arch/lib.h | 38 + .../Third_Party/LwIP/system/arch/perf.h | 38 + .../Third_Party/LwIP/system/arch/sys_arch.h | 72 + extra/stm_exp_pack/Release_Notes.html | 5 + 322 files changed, 145295 insertions(+), 158 deletions(-) rename extra/stm_exp_pack/.project/STM32CubeMX/{Cesanta.I-CUBE-Mongoose.7.12.0_Configs.xml => Cesanta.I-CUBE-Mongoose.7.13.0_Configs.xml} (95%) rename extra/stm_exp_pack/.project/STM32CubeMX/{Cesanta.I-CUBE-Mongoose.7.12.0_Modes.xml => Cesanta.I-CUBE-Mongoose.7.13.0_Modes.xml} (97%) create mode 100644 extra/stm_exp_pack/Documentation/GettingStarted.html create mode 100644 extra/stm_exp_pack/Drivers/CMSIS/Device/ST/STM32F7xx/Source/Templates/gcc/startup_stm32f722xx.s create mode 100644 extra/stm_exp_pack/Drivers/CMSIS/Device/ST/STM32F7xx/Source/Templates/gcc/startup_stm32f723xx.s create mode 100644 extra/stm_exp_pack/Drivers/CMSIS/Device/ST/STM32F7xx/Source/Templates/gcc/startup_stm32f730xx.s create mode 100644 extra/stm_exp_pack/Drivers/CMSIS/Device/ST/STM32F7xx/Source/Templates/gcc/startup_stm32f732xx.s create mode 100644 extra/stm_exp_pack/Drivers/CMSIS/Device/ST/STM32F7xx/Source/Templates/gcc/startup_stm32f733xx.s create mode 100644 extra/stm_exp_pack/Drivers/CMSIS/Device/ST/STM32F7xx/Source/Templates/gcc/startup_stm32f745xx.s create mode 100644 extra/stm_exp_pack/Drivers/CMSIS/Device/ST/STM32F7xx/Source/Templates/gcc/startup_stm32f746xx.s create mode 100644 extra/stm_exp_pack/Drivers/CMSIS/Device/ST/STM32F7xx/Source/Templates/gcc/startup_stm32f750xx.s create mode 100644 extra/stm_exp_pack/Drivers/CMSIS/Device/ST/STM32F7xx/Source/Templates/gcc/startup_stm32f756xx.s create mode 100644 extra/stm_exp_pack/Drivers/CMSIS/Device/ST/STM32F7xx/Source/Templates/gcc/startup_stm32f765xx.s create mode 100644 extra/stm_exp_pack/Drivers/CMSIS/Device/ST/STM32F7xx/Source/Templates/gcc/startup_stm32f767xx.s create mode 100644 extra/stm_exp_pack/Drivers/CMSIS/Device/ST/STM32F7xx/Source/Templates/gcc/startup_stm32f769xx.s create mode 100644 extra/stm_exp_pack/Drivers/CMSIS/Device/ST/STM32F7xx/Source/Templates/gcc/startup_stm32f777xx.s create mode 100644 extra/stm_exp_pack/Drivers/CMSIS/Device/ST/STM32F7xx/Source/Templates/gcc/startup_stm32f779xx.s create mode 100644 extra/stm_exp_pack/Drivers/CMSIS/Device/ST/STM32F7xx/Source/Templates/system_stm32f7xx.c create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS/cmsis_os.c create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS/cmsis_os.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.c create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/FreeRTOS/Source/croutine.c create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/FreeRTOS/Source/event_groups.c create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/FreeRTOS/Source/include/FreeRTOS.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/FreeRTOS/Source/include/StackMacros.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/FreeRTOS/Source/include/croutine.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/FreeRTOS/Source/include/deprecated_definitions.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/FreeRTOS/Source/include/event_groups.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/FreeRTOS/Source/include/list.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/FreeRTOS/Source/include/message_buffer.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/FreeRTOS/Source/include/mpu_prototypes.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/FreeRTOS/Source/include/mpu_wrappers.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/FreeRTOS/Source/include/portable.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/FreeRTOS/Source/include/projdefs.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/FreeRTOS/Source/include/queue.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/FreeRTOS/Source/include/semphr.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/FreeRTOS/Source/include/stack_macros.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/FreeRTOS/Source/include/stream_buffer.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/FreeRTOS/Source/include/task.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/FreeRTOS/Source/include/timers.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/FreeRTOS/Source/list.c create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM7/r0p1/port.c create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM7/r0p1/portmacro.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.c create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/FreeRTOS/Source/queue.c create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/FreeRTOS/Source/stream_buffer.c create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/FreeRTOS/Source/tasks.c create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/FreeRTOS/Source/timers.c create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/api/api_lib.c create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/api/api_msg.c create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/api/err.c create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/api/if_api.c create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/api/netbuf.c create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/api/netdb.c create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/api/netifapi.c create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/api/sockets.c create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/api/tcpip.c create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/apps/mqtt/mqtt.c create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/core/altcp.c create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/core/altcp_alloc.c create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/core/altcp_tcp.c create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/core/def.c create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/core/dns.c create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/core/inet_chksum.c create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/core/init.c create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/core/ip.c create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/core/ipv4/autoip.c create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/core/ipv4/dhcp.c create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/core/ipv4/etharp.c create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/core/ipv4/icmp.c create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/core/ipv4/igmp.c create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/core/ipv4/ip4.c create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/core/ipv4/ip4_addr.c create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/core/ipv4/ip4_frag.c create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/core/ipv6/dhcp6.c create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/core/ipv6/ethip6.c create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/core/ipv6/icmp6.c create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/core/ipv6/inet6.c create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/core/ipv6/ip6.c create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/core/ipv6/ip6_addr.c create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/core/ipv6/ip6_frag.c create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/core/ipv6/mld6.c create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/core/ipv6/nd6.c create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/core/mem.c create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/core/memp.c create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/core/netif.c create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/core/pbuf.c create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/core/raw.c create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/core/stats.c create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/core/sys.c create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/core/tcp.c create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/core/tcp_in.c create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/core/tcp_out.c create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/core/timeouts.c create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/core/udp.c create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/compat/posix/arpa/inet.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/compat/posix/net/if.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/compat/posix/netdb.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/compat/posix/sys/socket.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/compat/stdc/errno.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/altcp.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/altcp_tcp.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/altcp_tls.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/api.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/apps/altcp_proxyconnect.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/apps/altcp_tls_mbedtls_opts.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/apps/fs.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/apps/http_client.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/apps/httpd.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/apps/httpd_opts.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/apps/lwiperf.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/apps/mdns.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/apps/mdns_opts.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/apps/mdns_priv.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/apps/mqtt.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/apps/mqtt_opts.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/apps/mqtt_priv.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/apps/netbiosns.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/apps/netbiosns_opts.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/apps/smtp.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/apps/smtp_opts.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/apps/snmp.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/apps/snmp_core.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/apps/snmp_mib2.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/apps/snmp_opts.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/apps/snmp_scalar.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/apps/snmp_snmpv2_framework.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/apps/snmp_snmpv2_usm.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/apps/snmp_table.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/apps/snmp_threadsync.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/apps/snmpv3.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/apps/sntp.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/apps/sntp_opts.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/apps/tftp_opts.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/apps/tftp_server.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/arch.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/autoip.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/debug.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/def.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/dhcp.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/dhcp6.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/dns.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/err.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/errno.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/etharp.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/ethip6.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/icmp.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/icmp6.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/if_api.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/igmp.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/inet.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/inet_chksum.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/init.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/ip.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/ip4.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/ip4_addr.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/ip4_frag.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/ip6.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/ip6_addr.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/ip6_frag.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/ip6_zone.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/ip_addr.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/mem.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/memp.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/mld6.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/nd6.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/netbuf.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/netdb.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/netif.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/netifapi.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/opt.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/pbuf.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/priv/altcp_priv.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/priv/api_msg.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/priv/mem_priv.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/priv/memp_priv.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/priv/memp_std.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/priv/nd6_priv.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/priv/raw_priv.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/priv/sockets_priv.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/priv/tcp_priv.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/priv/tcpip_priv.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/prot/autoip.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/prot/dhcp.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/prot/dhcp6.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/prot/dns.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/prot/etharp.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/prot/ethernet.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/prot/iana.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/prot/icmp.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/prot/icmp6.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/prot/ieee.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/prot/igmp.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/prot/ip.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/prot/ip4.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/prot/ip6.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/prot/mld6.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/prot/nd6.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/prot/tcp.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/prot/udp.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/raw.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/sio.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/snmp.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/sockets.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/stats.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/sys.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/tcp.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/tcpbase.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/tcpip.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/timeouts.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/udp.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/netif/bridgeif.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/netif/bridgeif_opts.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/netif/etharp.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/netif/ethernet.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/netif/ieee802154.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/netif/lowpan6.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/netif/lowpan6_ble.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/netif/lowpan6_common.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/netif/lowpan6_opts.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/netif/ppp/ccp.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/netif/ppp/chap-md5.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/netif/ppp/chap-new.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/netif/ppp/chap_ms.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/netif/ppp/eap.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/netif/ppp/ecp.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/netif/ppp/eui64.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/netif/ppp/fsm.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/netif/ppp/ipcp.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/netif/ppp/ipv6cp.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/netif/ppp/lcp.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/netif/ppp/magic.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/netif/ppp/mppe.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/netif/ppp/ppp.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/netif/ppp/ppp_impl.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/netif/ppp/ppp_opts.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/netif/ppp/pppapi.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/netif/ppp/pppcrypt.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/netif/ppp/pppdebug.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/netif/ppp/pppoe.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/netif/ppp/pppol2tp.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/netif/ppp/pppos.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/netif/ppp/upap.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/netif/ppp/vj.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/netif/slipif.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/netif/zepif.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/netif/bridgeif.c create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/netif/bridgeif_fdb.c create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/netif/ethernet.c create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/netif/lowpan6.c create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/netif/lowpan6_ble.c create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/netif/lowpan6_common.c create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/netif/ppp/auth.c create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/netif/ppp/ccp.c create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/netif/ppp/chap-md5.c create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/netif/ppp/chap-new.c create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/netif/ppp/chap_ms.c create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/netif/ppp/demand.c create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/netif/ppp/eap.c create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/netif/ppp/ecp.c create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/netif/ppp/eui64.c create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/netif/ppp/fsm.c create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/netif/ppp/ipcp.c create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/netif/ppp/ipv6cp.c create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/netif/ppp/lcp.c create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/netif/ppp/magic.c create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/netif/ppp/mppe.c create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/netif/ppp/multilink.c create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/netif/ppp/ppp.c create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/netif/ppp/pppapi.c create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/netif/ppp/pppcrypt.c create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/netif/ppp/pppoe.c create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/netif/ppp/pppol2tp.c create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/netif/ppp/pppos.c create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/netif/ppp/upap.c create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/netif/ppp/utils.c create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/netif/ppp/vj.c create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/netif/slipif.c create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/netif/zepif.c create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/system/OS/sys_arch.c create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/system/arch/bpstruct.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/system/arch/cc.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/system/arch/cpu.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/system/arch/epstruct.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/system/arch/init.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/system/arch/lib.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/system/arch/perf.h create mode 100644 extra/stm_exp_pack/Middlewares/Third_Party/LwIP/system/arch/sys_arch.h create mode 100644 extra/stm_exp_pack/Release_Notes.html diff --git a/extra/stm_exp_pack/.project/Cesanta.I-CUBE-Mongoose.pdsc b/extra/stm_exp_pack/.project/Cesanta.I-CUBE-Mongoose.pdsc index c209143a..2dfe9c18 100644 --- a/extra/stm_exp_pack/.project/Cesanta.I-CUBE-Mongoose.pdsc +++ b/extra/stm_exp_pack/.project/Cesanta.I-CUBE-Mongoose.pdsc @@ -7,7 +7,7 @@ License.txt https://mongoose.ws/contact/ - See https://github.com/cesanta/mongoose/releases/tag/7.12 + See https://github.com/cesanta/mongoose/releases/tag/7.13 CUBE_RULES_COMPLIANT @@ -22,16 +22,18 @@ - + Mongoose HTTP/MQTT/Websocket Library + + - + Baremetal web device dashboard on NUCLEO-F746ZG, built on STM32CubeIDE @@ -48,7 +50,7 @@ network - + Web device dashboard using Mongoose over FreeRTOS + lwIP on a NUCLEO-F746ZG, built on STM32CubeIDE @@ -65,7 +67,7 @@ network - + Web device dashboard using Mongoose as a FreeRTOS task on a NUCLEO-F746ZG, built on STM32CubeIDE diff --git a/extra/stm_exp_pack/.project/STM32CubeMX/Cesanta.I-CUBE-Mongoose.7.12.0_Configs.xml b/extra/stm_exp_pack/.project/STM32CubeMX/Cesanta.I-CUBE-Mongoose.7.13.0_Configs.xml similarity index 95% rename from extra/stm_exp_pack/.project/STM32CubeMX/Cesanta.I-CUBE-Mongoose.7.12.0_Configs.xml rename to extra/stm_exp_pack/.project/STM32CubeMX/Cesanta.I-CUBE-Mongoose.7.13.0_Configs.xml index 0022ecb0..cdd0b14a 100644 --- a/extra/stm_exp_pack/.project/STM32CubeMX/Cesanta.I-CUBE-Mongoose.7.12.0_Configs.xml +++ b/extra/stm_exp_pack/.project/STM32CubeMX/Cesanta.I-CUBE-Mongoose.7.13.0_Configs.xml @@ -1,5 +1,5 @@ - + @@ -13,7 +13,7 @@ - + diff --git a/extra/stm_exp_pack/.project/STM32CubeMX/Cesanta.I-CUBE-Mongoose.7.12.0_Modes.xml b/extra/stm_exp_pack/.project/STM32CubeMX/Cesanta.I-CUBE-Mongoose.7.13.0_Modes.xml similarity index 97% rename from extra/stm_exp_pack/.project/STM32CubeMX/Cesanta.I-CUBE-Mongoose.7.12.0_Modes.xml rename to extra/stm_exp_pack/.project/STM32CubeMX/Cesanta.I-CUBE-Mongoose.7.13.0_Modes.xml index 857b25a0..60a4071c 100644 --- a/extra/stm_exp_pack/.project/STM32CubeMX/Cesanta.I-CUBE-Mongoose.7.12.0_Modes.xml +++ b/extra/stm_exp_pack/.project/STM32CubeMX/Cesanta.I-CUBE-Mongoose.7.13.0_Modes.xml @@ -1,5 +1,5 @@ - + NetworkOoLibraryJjMongoose @@ -16,13 +16,13 @@ - + - + diff --git a/extra/stm_exp_pack/.project/STM32CubeMX/templates/mongoose_conf.ftl b/extra/stm_exp_pack/.project/STM32CubeMX/templates/mongoose_conf.ftl index 17fa1da8..05dd9648 100644 --- a/extra/stm_exp_pack/.project/STM32CubeMX/templates/mongoose_conf.ftl +++ b/extra/stm_exp_pack/.project/STM32CubeMX/templates/mongoose_conf.ftl @@ -1,6 +1,5 @@ [#ftl] -// If we could guess an MG_ARCH so far, preserve it, otherwise try GCC-based #if defined(MG_ARCH) #define MG_STMPACK_ARCH MG_ARCH #undef MG_ARCH @@ -29,7 +28,7 @@ #endif #if MG_ENABLE_PACKED_FS -#define MG_ENABLE_FILE 0 +#define MG_ENABLE_POSIX_FS 0 #endif // See https://mongoose.ws/documentation/#build-options diff --git a/extra/stm_exp_pack/.project/projectFile.xml b/extra/stm_exp_pack/.project/projectFile.xml index e7164995..b0bb49aa 100644 --- a/extra/stm_exp_pack/.project/projectFile.xml +++ b/extra/stm_exp_pack/.project/projectFile.xml @@ -7,7 +7,7 @@ ../../LICENSE::License.txt https://mongoose.ws/contact/ - See https://github.com/cesanta/mongoose/releases/tag/7.12 + See https://github.com/cesanta/mongoose/releases/tag/7.13 CUBE_RULES_COMPLIANT @@ -22,7 +22,7 @@ - + Mongoose HTTP/MQTT/Websocket Library @@ -31,7 +31,7 @@ - + Baremetal web device dashboard on NUCLEO-F746ZG, built on STM32CubeIDE @@ -48,7 +48,7 @@ network - + Web device dashboard using Mongoose over FreeRTOS + lwIP on a NUCLEO-F746ZG, built on STM32CubeIDE @@ -65,7 +65,7 @@ network - + Web device dashboard using Mongoose as a FreeRTOS task on a NUCLEO-F746ZG, built on STM32CubeIDE diff --git a/extra/stm_exp_pack/.project/untrackedFilesList.txt b/extra/stm_exp_pack/.project/untrackedFilesList.txt index e69de29b..266bc0e3 100644 --- a/extra/stm_exp_pack/.project/untrackedFilesList.txt +++ b/extra/stm_exp_pack/.project/untrackedFilesList.txt @@ -0,0 +1,372 @@ +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Release_Notes.html::Release_Notes.html +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Documentation/GettingStarted.html::Documentation/GettingStarted.html +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Drivers/BSP/Components/lan8742/lan8742.c::Drivers/BSP/Components/lan8742/lan8742.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Drivers/BSP/Components/lan8742/lan8742.h::Drivers/BSP/Components/lan8742/lan8742.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Drivers/CMSIS/Device/ST/STM32F7xx/Include/stm32f746xx.h::Drivers/CMSIS/Device/ST/STM32F7xx/Include/stm32f746xx.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Drivers/CMSIS/Device/ST/STM32F7xx/Include/stm32f7xx.h::Drivers/CMSIS/Device/ST/STM32F7xx/Include/stm32f7xx.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Drivers/CMSIS/Device/ST/STM32F7xx/Include/system_stm32f7xx.h::Drivers/CMSIS/Device/ST/STM32F7xx/Include/system_stm32f7xx.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Drivers/CMSIS/Device/ST/STM32F7xx/LICENSE.txt::Drivers/CMSIS/Device/ST/STM32F7xx/LICENSE.txt +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Drivers/CMSIS/Device/ST/STM32F7xx/Source/Templates/gcc/startup_stm32f722xx.s::Drivers/CMSIS/Device/ST/STM32F7xx/Source/Templates/gcc/startup_stm32f722xx.s +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Drivers/CMSIS/Device/ST/STM32F7xx/Source/Templates/gcc/startup_stm32f723xx.s::Drivers/CMSIS/Device/ST/STM32F7xx/Source/Templates/gcc/startup_stm32f723xx.s +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Drivers/CMSIS/Device/ST/STM32F7xx/Source/Templates/gcc/startup_stm32f730xx.s::Drivers/CMSIS/Device/ST/STM32F7xx/Source/Templates/gcc/startup_stm32f730xx.s +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Drivers/CMSIS/Device/ST/STM32F7xx/Source/Templates/gcc/startup_stm32f732xx.s::Drivers/CMSIS/Device/ST/STM32F7xx/Source/Templates/gcc/startup_stm32f732xx.s +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Drivers/CMSIS/Device/ST/STM32F7xx/Source/Templates/gcc/startup_stm32f733xx.s::Drivers/CMSIS/Device/ST/STM32F7xx/Source/Templates/gcc/startup_stm32f733xx.s +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Drivers/CMSIS/Device/ST/STM32F7xx/Source/Templates/gcc/startup_stm32f745xx.s::Drivers/CMSIS/Device/ST/STM32F7xx/Source/Templates/gcc/startup_stm32f745xx.s +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Drivers/CMSIS/Device/ST/STM32F7xx/Source/Templates/gcc/startup_stm32f746xx.s::Drivers/CMSIS/Device/ST/STM32F7xx/Source/Templates/gcc/startup_stm32f746xx.s +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Drivers/CMSIS/Device/ST/STM32F7xx/Source/Templates/gcc/startup_stm32f750xx.s::Drivers/CMSIS/Device/ST/STM32F7xx/Source/Templates/gcc/startup_stm32f750xx.s +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Drivers/CMSIS/Device/ST/STM32F7xx/Source/Templates/gcc/startup_stm32f756xx.s::Drivers/CMSIS/Device/ST/STM32F7xx/Source/Templates/gcc/startup_stm32f756xx.s +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Drivers/CMSIS/Device/ST/STM32F7xx/Source/Templates/gcc/startup_stm32f765xx.s::Drivers/CMSIS/Device/ST/STM32F7xx/Source/Templates/gcc/startup_stm32f765xx.s +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Drivers/CMSIS/Device/ST/STM32F7xx/Source/Templates/gcc/startup_stm32f767xx.s::Drivers/CMSIS/Device/ST/STM32F7xx/Source/Templates/gcc/startup_stm32f767xx.s +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Drivers/CMSIS/Device/ST/STM32F7xx/Source/Templates/gcc/startup_stm32f769xx.s::Drivers/CMSIS/Device/ST/STM32F7xx/Source/Templates/gcc/startup_stm32f769xx.s +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Drivers/CMSIS/Device/ST/STM32F7xx/Source/Templates/gcc/startup_stm32f777xx.s::Drivers/CMSIS/Device/ST/STM32F7xx/Source/Templates/gcc/startup_stm32f777xx.s +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Drivers/CMSIS/Device/ST/STM32F7xx/Source/Templates/gcc/startup_stm32f779xx.s::Drivers/CMSIS/Device/ST/STM32F7xx/Source/Templates/gcc/startup_stm32f779xx.s +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Drivers/CMSIS/Device/ST/STM32F7xx/Source/Templates/system_stm32f7xx.c::Drivers/CMSIS/Device/ST/STM32F7xx/Source/Templates/system_stm32f7xx.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Drivers/CMSIS/Include/cmsis_armcc.h::Drivers/CMSIS/Include/cmsis_armcc.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Drivers/CMSIS/Include/cmsis_armclang.h::Drivers/CMSIS/Include/cmsis_armclang.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Drivers/CMSIS/Include/cmsis_compiler.h::Drivers/CMSIS/Include/cmsis_compiler.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Drivers/CMSIS/Include/cmsis_gcc.h::Drivers/CMSIS/Include/cmsis_gcc.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Drivers/CMSIS/Include/cmsis_iccarm.h::Drivers/CMSIS/Include/cmsis_iccarm.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Drivers/CMSIS/Include/cmsis_version.h::Drivers/CMSIS/Include/cmsis_version.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Drivers/CMSIS/Include/core_armv8mbl.h::Drivers/CMSIS/Include/core_armv8mbl.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Drivers/CMSIS/Include/core_armv8mml.h::Drivers/CMSIS/Include/core_armv8mml.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Drivers/CMSIS/Include/core_cm0.h::Drivers/CMSIS/Include/core_cm0.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Drivers/CMSIS/Include/core_cm0plus.h::Drivers/CMSIS/Include/core_cm0plus.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Drivers/CMSIS/Include/core_cm1.h::Drivers/CMSIS/Include/core_cm1.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Drivers/CMSIS/Include/core_cm23.h::Drivers/CMSIS/Include/core_cm23.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Drivers/CMSIS/Include/core_cm3.h::Drivers/CMSIS/Include/core_cm3.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Drivers/CMSIS/Include/core_cm33.h::Drivers/CMSIS/Include/core_cm33.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Drivers/CMSIS/Include/core_cm4.h::Drivers/CMSIS/Include/core_cm4.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Drivers/CMSIS/Include/core_cm7.h::Drivers/CMSIS/Include/core_cm7.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Drivers/CMSIS/Include/core_sc000.h::Drivers/CMSIS/Include/core_sc000.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Drivers/CMSIS/Include/core_sc300.h::Drivers/CMSIS/Include/core_sc300.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Drivers/CMSIS/Include/mpu_armv7.h::Drivers/CMSIS/Include/mpu_armv7.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Drivers/CMSIS/Include/mpu_armv8.h::Drivers/CMSIS/Include/mpu_armv8.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Drivers/CMSIS/Include/tz_context.h::Drivers/CMSIS/Include/tz_context.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Drivers/CMSIS/LICENSE.txt::Drivers/CMSIS/LICENSE.txt +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Drivers/STM32F7xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h::Drivers/STM32F7xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal.h::Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_cortex.h::Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_cortex.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_def.h::Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_def.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_dma.h::Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_dma.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_dma_ex.h::Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_dma_ex.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_eth.h::Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_eth.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_exti.h::Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_exti.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_flash.h::Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_flash.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_flash_ex.h::Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_flash_ex.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_gpio.h::Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_gpio.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_gpio_ex.h::Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_gpio_ex.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_i2c.h::Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_i2c.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_i2c_ex.h::Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_i2c_ex.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_pwr.h::Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_pwr.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_pwr_ex.h::Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_pwr_ex.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_rcc.h::Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_rcc.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_rcc_ex.h::Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_rcc_ex.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_rng.h::Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_rng.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_tim.h::Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_tim.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_tim_ex.h::Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_tim_ex.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_uart.h::Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_uart.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_uart_ex.h::Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_uart_ex.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h::Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_cortex.h::Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_cortex.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h::Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_exti.h::Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_exti.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_gpio.h::Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_gpio.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_pwr.h::Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_pwr.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_rcc.h::Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_rcc.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_rng.h::Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_rng.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_system.h::Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_system.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h::Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_utils.h::Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_utils.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Drivers/STM32F7xx_HAL_Driver/LICENSE.txt::Drivers/STM32F7xx_HAL_Driver/LICENSE.txt +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal.c::Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c::Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_dma.c::Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_dma.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_dma_ex.c::Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_dma_ex.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_eth.c::Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_eth.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c::Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_flash.c::Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_flash.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_flash_ex.c::Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_flash_ex.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c::Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_i2c.c::Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_i2c.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_i2c_ex.c::Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_i2c_ex.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_pwr.c::Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_pwr.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_pwr_ex.c::Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_pwr_ex.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_rcc.c::Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_rcc.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_rcc_ex.c::Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_rcc_ex.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_rng.c::Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_rng.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_tim.c::Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_tim.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_tim_ex.c::Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_tim_ex.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c::Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart_ex.c::Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart_ex.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/api/api_lib.c::Middlewares/Third_Party/LwIP/src/api/api_lib.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/api/api_msg.c::Middlewares/Third_Party/LwIP/src/api/api_msg.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/api/err.c::Middlewares/Third_Party/LwIP/src/api/err.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/api/if_api.c::Middlewares/Third_Party/LwIP/src/api/if_api.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/api/netbuf.c::Middlewares/Third_Party/LwIP/src/api/netbuf.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/api/netdb.c::Middlewares/Third_Party/LwIP/src/api/netdb.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/api/netifapi.c::Middlewares/Third_Party/LwIP/src/api/netifapi.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/api/sockets.c::Middlewares/Third_Party/LwIP/src/api/sockets.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/api/tcpip.c::Middlewares/Third_Party/LwIP/src/api/tcpip.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/apps/mqtt/mqtt.c::Middlewares/Third_Party/LwIP/src/apps/mqtt/mqtt.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/core/altcp.c::Middlewares/Third_Party/LwIP/src/core/altcp.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/core/altcp_alloc.c::Middlewares/Third_Party/LwIP/src/core/altcp_alloc.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/core/altcp_tcp.c::Middlewares/Third_Party/LwIP/src/core/altcp_tcp.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/core/def.c::Middlewares/Third_Party/LwIP/src/core/def.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/core/dns.c::Middlewares/Third_Party/LwIP/src/core/dns.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/core/inet_chksum.c::Middlewares/Third_Party/LwIP/src/core/inet_chksum.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/core/init.c::Middlewares/Third_Party/LwIP/src/core/init.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/core/ip.c::Middlewares/Third_Party/LwIP/src/core/ip.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/core/ipv4/autoip.c::Middlewares/Third_Party/LwIP/src/core/ipv4/autoip.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/core/ipv4/dhcp.c::Middlewares/Third_Party/LwIP/src/core/ipv4/dhcp.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/core/ipv4/etharp.c::Middlewares/Third_Party/LwIP/src/core/ipv4/etharp.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/core/ipv4/icmp.c::Middlewares/Third_Party/LwIP/src/core/ipv4/icmp.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/core/ipv4/igmp.c::Middlewares/Third_Party/LwIP/src/core/ipv4/igmp.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/core/ipv4/ip4.c::Middlewares/Third_Party/LwIP/src/core/ipv4/ip4.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/core/ipv4/ip4_addr.c::Middlewares/Third_Party/LwIP/src/core/ipv4/ip4_addr.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/core/ipv4/ip4_frag.c::Middlewares/Third_Party/LwIP/src/core/ipv4/ip4_frag.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/core/ipv6/dhcp6.c::Middlewares/Third_Party/LwIP/src/core/ipv6/dhcp6.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/core/ipv6/ethip6.c::Middlewares/Third_Party/LwIP/src/core/ipv6/ethip6.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/core/ipv6/icmp6.c::Middlewares/Third_Party/LwIP/src/core/ipv6/icmp6.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/core/ipv6/inet6.c::Middlewares/Third_Party/LwIP/src/core/ipv6/inet6.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/core/ipv6/ip6.c::Middlewares/Third_Party/LwIP/src/core/ipv6/ip6.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/core/ipv6/ip6_addr.c::Middlewares/Third_Party/LwIP/src/core/ipv6/ip6_addr.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/core/ipv6/ip6_frag.c::Middlewares/Third_Party/LwIP/src/core/ipv6/ip6_frag.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/core/ipv6/mld6.c::Middlewares/Third_Party/LwIP/src/core/ipv6/mld6.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/core/ipv6/nd6.c::Middlewares/Third_Party/LwIP/src/core/ipv6/nd6.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/core/mem.c::Middlewares/Third_Party/LwIP/src/core/mem.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/core/memp.c::Middlewares/Third_Party/LwIP/src/core/memp.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/core/netif.c::Middlewares/Third_Party/LwIP/src/core/netif.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/core/pbuf.c::Middlewares/Third_Party/LwIP/src/core/pbuf.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/core/raw.c::Middlewares/Third_Party/LwIP/src/core/raw.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/core/stats.c::Middlewares/Third_Party/LwIP/src/core/stats.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/core/sys.c::Middlewares/Third_Party/LwIP/src/core/sys.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/core/tcp.c::Middlewares/Third_Party/LwIP/src/core/tcp.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/core/tcp_in.c::Middlewares/Third_Party/LwIP/src/core/tcp_in.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/core/tcp_out.c::Middlewares/Third_Party/LwIP/src/core/tcp_out.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/core/timeouts.c::Middlewares/Third_Party/LwIP/src/core/timeouts.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/core/udp.c::Middlewares/Third_Party/LwIP/src/core/udp.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/compat/posix/arpa/inet.h::Middlewares/Third_Party/LwIP/src/include/compat/posix/arpa/inet.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/compat/posix/net/if.h::Middlewares/Third_Party/LwIP/src/include/compat/posix/net/if.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/compat/posix/netdb.h::Middlewares/Third_Party/LwIP/src/include/compat/posix/netdb.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/compat/posix/sys/socket.h::Middlewares/Third_Party/LwIP/src/include/compat/posix/sys/socket.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/compat/stdc/errno.h::Middlewares/Third_Party/LwIP/src/include/compat/stdc/errno.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/altcp.h::Middlewares/Third_Party/LwIP/src/include/lwip/altcp.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/altcp_tcp.h::Middlewares/Third_Party/LwIP/src/include/lwip/altcp_tcp.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/altcp_tls.h::Middlewares/Third_Party/LwIP/src/include/lwip/altcp_tls.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/api.h::Middlewares/Third_Party/LwIP/src/include/lwip/api.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/apps/altcp_proxyconnect.h::Middlewares/Third_Party/LwIP/src/include/lwip/apps/altcp_proxyconnect.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/apps/altcp_tls_mbedtls_opts.h::Middlewares/Third_Party/LwIP/src/include/lwip/apps/altcp_tls_mbedtls_opts.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/apps/fs.h::Middlewares/Third_Party/LwIP/src/include/lwip/apps/fs.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/apps/http_client.h::Middlewares/Third_Party/LwIP/src/include/lwip/apps/http_client.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/apps/httpd.h::Middlewares/Third_Party/LwIP/src/include/lwip/apps/httpd.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/apps/httpd_opts.h::Middlewares/Third_Party/LwIP/src/include/lwip/apps/httpd_opts.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/apps/lwiperf.h::Middlewares/Third_Party/LwIP/src/include/lwip/apps/lwiperf.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/apps/mdns.h::Middlewares/Third_Party/LwIP/src/include/lwip/apps/mdns.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/apps/mdns_opts.h::Middlewares/Third_Party/LwIP/src/include/lwip/apps/mdns_opts.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/apps/mdns_priv.h::Middlewares/Third_Party/LwIP/src/include/lwip/apps/mdns_priv.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/apps/mqtt.h::Middlewares/Third_Party/LwIP/src/include/lwip/apps/mqtt.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/apps/mqtt_opts.h::Middlewares/Third_Party/LwIP/src/include/lwip/apps/mqtt_opts.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/apps/mqtt_priv.h::Middlewares/Third_Party/LwIP/src/include/lwip/apps/mqtt_priv.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/apps/netbiosns.h::Middlewares/Third_Party/LwIP/src/include/lwip/apps/netbiosns.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/apps/netbiosns_opts.h::Middlewares/Third_Party/LwIP/src/include/lwip/apps/netbiosns_opts.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/apps/smtp.h::Middlewares/Third_Party/LwIP/src/include/lwip/apps/smtp.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/apps/smtp_opts.h::Middlewares/Third_Party/LwIP/src/include/lwip/apps/smtp_opts.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/apps/snmp.h::Middlewares/Third_Party/LwIP/src/include/lwip/apps/snmp.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/apps/snmp_core.h::Middlewares/Third_Party/LwIP/src/include/lwip/apps/snmp_core.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/apps/snmp_mib2.h::Middlewares/Third_Party/LwIP/src/include/lwip/apps/snmp_mib2.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/apps/snmp_opts.h::Middlewares/Third_Party/LwIP/src/include/lwip/apps/snmp_opts.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/apps/snmp_scalar.h::Middlewares/Third_Party/LwIP/src/include/lwip/apps/snmp_scalar.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/apps/snmp_snmpv2_framework.h::Middlewares/Third_Party/LwIP/src/include/lwip/apps/snmp_snmpv2_framework.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/apps/snmp_snmpv2_usm.h::Middlewares/Third_Party/LwIP/src/include/lwip/apps/snmp_snmpv2_usm.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/apps/snmp_table.h::Middlewares/Third_Party/LwIP/src/include/lwip/apps/snmp_table.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/apps/snmp_threadsync.h::Middlewares/Third_Party/LwIP/src/include/lwip/apps/snmp_threadsync.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/apps/snmpv3.h::Middlewares/Third_Party/LwIP/src/include/lwip/apps/snmpv3.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/apps/sntp.h::Middlewares/Third_Party/LwIP/src/include/lwip/apps/sntp.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/apps/sntp_opts.h::Middlewares/Third_Party/LwIP/src/include/lwip/apps/sntp_opts.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/apps/tftp_opts.h::Middlewares/Third_Party/LwIP/src/include/lwip/apps/tftp_opts.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/apps/tftp_server.h::Middlewares/Third_Party/LwIP/src/include/lwip/apps/tftp_server.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/arch.h::Middlewares/Third_Party/LwIP/src/include/lwip/arch.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/autoip.h::Middlewares/Third_Party/LwIP/src/include/lwip/autoip.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/debug.h::Middlewares/Third_Party/LwIP/src/include/lwip/debug.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/def.h::Middlewares/Third_Party/LwIP/src/include/lwip/def.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/dhcp.h::Middlewares/Third_Party/LwIP/src/include/lwip/dhcp.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/dhcp6.h::Middlewares/Third_Party/LwIP/src/include/lwip/dhcp6.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/dns.h::Middlewares/Third_Party/LwIP/src/include/lwip/dns.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/err.h::Middlewares/Third_Party/LwIP/src/include/lwip/err.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/errno.h::Middlewares/Third_Party/LwIP/src/include/lwip/errno.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/etharp.h::Middlewares/Third_Party/LwIP/src/include/lwip/etharp.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/ethip6.h::Middlewares/Third_Party/LwIP/src/include/lwip/ethip6.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/icmp.h::Middlewares/Third_Party/LwIP/src/include/lwip/icmp.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/icmp6.h::Middlewares/Third_Party/LwIP/src/include/lwip/icmp6.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/if_api.h::Middlewares/Third_Party/LwIP/src/include/lwip/if_api.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/igmp.h::Middlewares/Third_Party/LwIP/src/include/lwip/igmp.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/inet.h::Middlewares/Third_Party/LwIP/src/include/lwip/inet.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/inet_chksum.h::Middlewares/Third_Party/LwIP/src/include/lwip/inet_chksum.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/init.h::Middlewares/Third_Party/LwIP/src/include/lwip/init.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/ip.h::Middlewares/Third_Party/LwIP/src/include/lwip/ip.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/ip4.h::Middlewares/Third_Party/LwIP/src/include/lwip/ip4.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/ip4_addr.h::Middlewares/Third_Party/LwIP/src/include/lwip/ip4_addr.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/ip4_frag.h::Middlewares/Third_Party/LwIP/src/include/lwip/ip4_frag.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/ip6.h::Middlewares/Third_Party/LwIP/src/include/lwip/ip6.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/ip6_addr.h::Middlewares/Third_Party/LwIP/src/include/lwip/ip6_addr.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/ip6_frag.h::Middlewares/Third_Party/LwIP/src/include/lwip/ip6_frag.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/ip6_zone.h::Middlewares/Third_Party/LwIP/src/include/lwip/ip6_zone.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/ip_addr.h::Middlewares/Third_Party/LwIP/src/include/lwip/ip_addr.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/mem.h::Middlewares/Third_Party/LwIP/src/include/lwip/mem.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/memp.h::Middlewares/Third_Party/LwIP/src/include/lwip/memp.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/mld6.h::Middlewares/Third_Party/LwIP/src/include/lwip/mld6.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/nd6.h::Middlewares/Third_Party/LwIP/src/include/lwip/nd6.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/netbuf.h::Middlewares/Third_Party/LwIP/src/include/lwip/netbuf.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/netdb.h::Middlewares/Third_Party/LwIP/src/include/lwip/netdb.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/netif.h::Middlewares/Third_Party/LwIP/src/include/lwip/netif.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/netifapi.h::Middlewares/Third_Party/LwIP/src/include/lwip/netifapi.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/opt.h::Middlewares/Third_Party/LwIP/src/include/lwip/opt.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/pbuf.h::Middlewares/Third_Party/LwIP/src/include/lwip/pbuf.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/priv/altcp_priv.h::Middlewares/Third_Party/LwIP/src/include/lwip/priv/altcp_priv.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/priv/api_msg.h::Middlewares/Third_Party/LwIP/src/include/lwip/priv/api_msg.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/priv/mem_priv.h::Middlewares/Third_Party/LwIP/src/include/lwip/priv/mem_priv.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/priv/memp_priv.h::Middlewares/Third_Party/LwIP/src/include/lwip/priv/memp_priv.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/priv/memp_std.h::Middlewares/Third_Party/LwIP/src/include/lwip/priv/memp_std.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/priv/nd6_priv.h::Middlewares/Third_Party/LwIP/src/include/lwip/priv/nd6_priv.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/priv/raw_priv.h::Middlewares/Third_Party/LwIP/src/include/lwip/priv/raw_priv.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/priv/sockets_priv.h::Middlewares/Third_Party/LwIP/src/include/lwip/priv/sockets_priv.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/priv/tcp_priv.h::Middlewares/Third_Party/LwIP/src/include/lwip/priv/tcp_priv.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/priv/tcpip_priv.h::Middlewares/Third_Party/LwIP/src/include/lwip/priv/tcpip_priv.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/prot/autoip.h::Middlewares/Third_Party/LwIP/src/include/lwip/prot/autoip.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/prot/dhcp.h::Middlewares/Third_Party/LwIP/src/include/lwip/prot/dhcp.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/prot/dhcp6.h::Middlewares/Third_Party/LwIP/src/include/lwip/prot/dhcp6.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/prot/dns.h::Middlewares/Third_Party/LwIP/src/include/lwip/prot/dns.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/prot/etharp.h::Middlewares/Third_Party/LwIP/src/include/lwip/prot/etharp.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/prot/ethernet.h::Middlewares/Third_Party/LwIP/src/include/lwip/prot/ethernet.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/prot/iana.h::Middlewares/Third_Party/LwIP/src/include/lwip/prot/iana.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/prot/icmp.h::Middlewares/Third_Party/LwIP/src/include/lwip/prot/icmp.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/prot/icmp6.h::Middlewares/Third_Party/LwIP/src/include/lwip/prot/icmp6.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/prot/ieee.h::Middlewares/Third_Party/LwIP/src/include/lwip/prot/ieee.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/prot/igmp.h::Middlewares/Third_Party/LwIP/src/include/lwip/prot/igmp.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/prot/ip.h::Middlewares/Third_Party/LwIP/src/include/lwip/prot/ip.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/prot/ip4.h::Middlewares/Third_Party/LwIP/src/include/lwip/prot/ip4.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/prot/ip6.h::Middlewares/Third_Party/LwIP/src/include/lwip/prot/ip6.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/prot/mld6.h::Middlewares/Third_Party/LwIP/src/include/lwip/prot/mld6.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/prot/nd6.h::Middlewares/Third_Party/LwIP/src/include/lwip/prot/nd6.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/prot/tcp.h::Middlewares/Third_Party/LwIP/src/include/lwip/prot/tcp.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/prot/udp.h::Middlewares/Third_Party/LwIP/src/include/lwip/prot/udp.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/raw.h::Middlewares/Third_Party/LwIP/src/include/lwip/raw.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/sio.h::Middlewares/Third_Party/LwIP/src/include/lwip/sio.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/snmp.h::Middlewares/Third_Party/LwIP/src/include/lwip/snmp.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/sockets.h::Middlewares/Third_Party/LwIP/src/include/lwip/sockets.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/stats.h::Middlewares/Third_Party/LwIP/src/include/lwip/stats.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/sys.h::Middlewares/Third_Party/LwIP/src/include/lwip/sys.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/tcp.h::Middlewares/Third_Party/LwIP/src/include/lwip/tcp.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/tcpbase.h::Middlewares/Third_Party/LwIP/src/include/lwip/tcpbase.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/tcpip.h::Middlewares/Third_Party/LwIP/src/include/lwip/tcpip.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/timeouts.h::Middlewares/Third_Party/LwIP/src/include/lwip/timeouts.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/lwip/udp.h::Middlewares/Third_Party/LwIP/src/include/lwip/udp.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/netif/bridgeif.h::Middlewares/Third_Party/LwIP/src/include/netif/bridgeif.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/netif/bridgeif_opts.h::Middlewares/Third_Party/LwIP/src/include/netif/bridgeif_opts.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/netif/etharp.h::Middlewares/Third_Party/LwIP/src/include/netif/etharp.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/netif/ethernet.h::Middlewares/Third_Party/LwIP/src/include/netif/ethernet.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/netif/ieee802154.h::Middlewares/Third_Party/LwIP/src/include/netif/ieee802154.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/netif/lowpan6.h::Middlewares/Third_Party/LwIP/src/include/netif/lowpan6.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/netif/lowpan6_ble.h::Middlewares/Third_Party/LwIP/src/include/netif/lowpan6_ble.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/netif/lowpan6_common.h::Middlewares/Third_Party/LwIP/src/include/netif/lowpan6_common.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/netif/lowpan6_opts.h::Middlewares/Third_Party/LwIP/src/include/netif/lowpan6_opts.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/netif/ppp/ccp.h::Middlewares/Third_Party/LwIP/src/include/netif/ppp/ccp.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/netif/ppp/chap-md5.h::Middlewares/Third_Party/LwIP/src/include/netif/ppp/chap-md5.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/netif/ppp/chap-new.h::Middlewares/Third_Party/LwIP/src/include/netif/ppp/chap-new.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/netif/ppp/chap_ms.h::Middlewares/Third_Party/LwIP/src/include/netif/ppp/chap_ms.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/netif/ppp/eap.h::Middlewares/Third_Party/LwIP/src/include/netif/ppp/eap.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/netif/ppp/ecp.h::Middlewares/Third_Party/LwIP/src/include/netif/ppp/ecp.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/netif/ppp/eui64.h::Middlewares/Third_Party/LwIP/src/include/netif/ppp/eui64.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/netif/ppp/fsm.h::Middlewares/Third_Party/LwIP/src/include/netif/ppp/fsm.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/netif/ppp/ipcp.h::Middlewares/Third_Party/LwIP/src/include/netif/ppp/ipcp.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/netif/ppp/ipv6cp.h::Middlewares/Third_Party/LwIP/src/include/netif/ppp/ipv6cp.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/netif/ppp/lcp.h::Middlewares/Third_Party/LwIP/src/include/netif/ppp/lcp.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/netif/ppp/magic.h::Middlewares/Third_Party/LwIP/src/include/netif/ppp/magic.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/netif/ppp/mppe.h::Middlewares/Third_Party/LwIP/src/include/netif/ppp/mppe.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/netif/ppp/ppp.h::Middlewares/Third_Party/LwIP/src/include/netif/ppp/ppp.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/netif/ppp/ppp_impl.h::Middlewares/Third_Party/LwIP/src/include/netif/ppp/ppp_impl.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/netif/ppp/ppp_opts.h::Middlewares/Third_Party/LwIP/src/include/netif/ppp/ppp_opts.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/netif/ppp/pppapi.h::Middlewares/Third_Party/LwIP/src/include/netif/ppp/pppapi.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/netif/ppp/pppcrypt.h::Middlewares/Third_Party/LwIP/src/include/netif/ppp/pppcrypt.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/netif/ppp/pppdebug.h::Middlewares/Third_Party/LwIP/src/include/netif/ppp/pppdebug.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/netif/ppp/pppoe.h::Middlewares/Third_Party/LwIP/src/include/netif/ppp/pppoe.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/netif/ppp/pppol2tp.h::Middlewares/Third_Party/LwIP/src/include/netif/ppp/pppol2tp.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/netif/ppp/pppos.h::Middlewares/Third_Party/LwIP/src/include/netif/ppp/pppos.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/netif/ppp/upap.h::Middlewares/Third_Party/LwIP/src/include/netif/ppp/upap.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/netif/ppp/vj.h::Middlewares/Third_Party/LwIP/src/include/netif/ppp/vj.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/netif/slipif.h::Middlewares/Third_Party/LwIP/src/include/netif/slipif.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/include/netif/zepif.h::Middlewares/Third_Party/LwIP/src/include/netif/zepif.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/netif/bridgeif.c::Middlewares/Third_Party/LwIP/src/netif/bridgeif.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/netif/bridgeif_fdb.c::Middlewares/Third_Party/LwIP/src/netif/bridgeif_fdb.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/netif/ethernet.c::Middlewares/Third_Party/LwIP/src/netif/ethernet.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/netif/lowpan6.c::Middlewares/Third_Party/LwIP/src/netif/lowpan6.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/netif/lowpan6_ble.c::Middlewares/Third_Party/LwIP/src/netif/lowpan6_ble.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/netif/lowpan6_common.c::Middlewares/Third_Party/LwIP/src/netif/lowpan6_common.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/netif/ppp/auth.c::Middlewares/Third_Party/LwIP/src/netif/ppp/auth.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/netif/ppp/ccp.c::Middlewares/Third_Party/LwIP/src/netif/ppp/ccp.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/netif/ppp/chap-md5.c::Middlewares/Third_Party/LwIP/src/netif/ppp/chap-md5.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/netif/ppp/chap-new.c::Middlewares/Third_Party/LwIP/src/netif/ppp/chap-new.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/netif/ppp/chap_ms.c::Middlewares/Third_Party/LwIP/src/netif/ppp/chap_ms.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/netif/ppp/demand.c::Middlewares/Third_Party/LwIP/src/netif/ppp/demand.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/netif/ppp/eap.c::Middlewares/Third_Party/LwIP/src/netif/ppp/eap.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/netif/ppp/ecp.c::Middlewares/Third_Party/LwIP/src/netif/ppp/ecp.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/netif/ppp/eui64.c::Middlewares/Third_Party/LwIP/src/netif/ppp/eui64.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/netif/ppp/fsm.c::Middlewares/Third_Party/LwIP/src/netif/ppp/fsm.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/netif/ppp/ipcp.c::Middlewares/Third_Party/LwIP/src/netif/ppp/ipcp.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/netif/ppp/ipv6cp.c::Middlewares/Third_Party/LwIP/src/netif/ppp/ipv6cp.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/netif/ppp/lcp.c::Middlewares/Third_Party/LwIP/src/netif/ppp/lcp.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/netif/ppp/magic.c::Middlewares/Third_Party/LwIP/src/netif/ppp/magic.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/netif/ppp/mppe.c::Middlewares/Third_Party/LwIP/src/netif/ppp/mppe.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/netif/ppp/multilink.c::Middlewares/Third_Party/LwIP/src/netif/ppp/multilink.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/netif/ppp/ppp.c::Middlewares/Third_Party/LwIP/src/netif/ppp/ppp.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/netif/ppp/pppapi.c::Middlewares/Third_Party/LwIP/src/netif/ppp/pppapi.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/netif/ppp/pppcrypt.c::Middlewares/Third_Party/LwIP/src/netif/ppp/pppcrypt.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/netif/ppp/pppoe.c::Middlewares/Third_Party/LwIP/src/netif/ppp/pppoe.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/netif/ppp/pppol2tp.c::Middlewares/Third_Party/LwIP/src/netif/ppp/pppol2tp.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/netif/ppp/pppos.c::Middlewares/Third_Party/LwIP/src/netif/ppp/pppos.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/netif/ppp/upap.c::Middlewares/Third_Party/LwIP/src/netif/ppp/upap.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/netif/ppp/utils.c::Middlewares/Third_Party/LwIP/src/netif/ppp/utils.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/netif/ppp/vj.c::Middlewares/Third_Party/LwIP/src/netif/ppp/vj.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/netif/slipif.c::Middlewares/Third_Party/LwIP/src/netif/slipif.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/src/netif/zepif.c::Middlewares/Third_Party/LwIP/src/netif/zepif.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/system/OS/sys_arch.c::Middlewares/Third_Party/LwIP/system/OS/sys_arch.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/system/arch/bpstruct.h::Middlewares/Third_Party/LwIP/system/arch/bpstruct.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/system/arch/cc.h::Middlewares/Third_Party/LwIP/system/arch/cc.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/system/arch/cpu.h::Middlewares/Third_Party/LwIP/system/arch/cpu.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/system/arch/epstruct.h::Middlewares/Third_Party/LwIP/system/arch/epstruct.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/system/arch/init.h::Middlewares/Third_Party/LwIP/system/arch/init.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/system/arch/lib.h::Middlewares/Third_Party/LwIP/system/arch/lib.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/system/arch/perf.h::Middlewares/Third_Party/LwIP/system/arch/perf.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/LwIP/system/arch/sys_arch.h::Middlewares/Third_Party/LwIP/system/arch/sys_arch.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.h::Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.c::Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os.h::Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS/cmsis_os.c::Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS/cmsis_os.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS/cmsis_os.h::Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS/cmsis_os.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/FreeRTOS/Source/croutine.c::Middlewares/Third_Party/FreeRTOS/Source/croutine.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/FreeRTOS/Source/event_groups.c::Middlewares/Third_Party/FreeRTOS/Source/event_groups.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/FreeRTOS/Source/include/FreeRTOS.h::Middlewares/Third_Party/FreeRTOS/Source/include/FreeRTOS.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/FreeRTOS/Source/include/StackMacros.h::Middlewares/Third_Party/FreeRTOS/Source/include/StackMacros.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/FreeRTOS/Source/include/croutine.h::Middlewares/Third_Party/FreeRTOS/Source/include/croutine.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/FreeRTOS/Source/include/deprecated_definitions.h::Middlewares/Third_Party/FreeRTOS/Source/include/deprecated_definitions.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/FreeRTOS/Source/include/event_groups.h::Middlewares/Third_Party/FreeRTOS/Source/include/event_groups.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/FreeRTOS/Source/include/list.h::Middlewares/Third_Party/FreeRTOS/Source/include/list.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/FreeRTOS/Source/include/message_buffer.h::Middlewares/Third_Party/FreeRTOS/Source/include/message_buffer.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/FreeRTOS/Source/include/mpu_prototypes.h::Middlewares/Third_Party/FreeRTOS/Source/include/mpu_prototypes.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/FreeRTOS/Source/include/mpu_wrappers.h::Middlewares/Third_Party/FreeRTOS/Source/include/mpu_wrappers.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/FreeRTOS/Source/include/portable.h::Middlewares/Third_Party/FreeRTOS/Source/include/portable.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/FreeRTOS/Source/include/projdefs.h::Middlewares/Third_Party/FreeRTOS/Source/include/projdefs.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/FreeRTOS/Source/include/queue.h::Middlewares/Third_Party/FreeRTOS/Source/include/queue.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/FreeRTOS/Source/include/semphr.h::Middlewares/Third_Party/FreeRTOS/Source/include/semphr.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/FreeRTOS/Source/include/stack_macros.h::Middlewares/Third_Party/FreeRTOS/Source/include/stack_macros.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/FreeRTOS/Source/include/stream_buffer.h::Middlewares/Third_Party/FreeRTOS/Source/include/stream_buffer.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/FreeRTOS/Source/include/task.h::Middlewares/Third_Party/FreeRTOS/Source/include/task.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/FreeRTOS/Source/include/timers.h::Middlewares/Third_Party/FreeRTOS/Source/include/timers.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/FreeRTOS/Source/list.c::Middlewares/Third_Party/FreeRTOS/Source/list.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM7/r0p1/port.c::Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM7/r0p1/port.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM7/r0p1/portmacro.h::Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM7/r0p1/portmacro.h +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.c::Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/FreeRTOS/Source/queue.c::Middlewares/Third_Party/FreeRTOS/Source/queue.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/FreeRTOS/Source/stream_buffer.c::Middlewares/Third_Party/FreeRTOS/Source/stream_buffer.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/FreeRTOS/Source/tasks.c::Middlewares/Third_Party/FreeRTOS/Source/tasks.c +/home/scaprile/work/cesanta/mongoose/extra/stm_exp_pack/Middlewares/Third_Party/FreeRTOS/Source/timers.c::Middlewares/Third_Party/FreeRTOS/Source/timers.c diff --git a/extra/stm_exp_pack/Documentation/GettingStarted.html b/extra/stm_exp_pack/Documentation/GettingStarted.html new file mode 100644 index 00000000..3723edeb --- /dev/null +++ b/extra/stm_exp_pack/Documentation/GettingStarted.html @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/extra/stm_exp_pack/Drivers/CMSIS/Device/ST/STM32F7xx/Source/Templates/gcc/startup_stm32f722xx.s b/extra/stm_exp_pack/Drivers/CMSIS/Device/ST/STM32F7xx/Source/Templates/gcc/startup_stm32f722xx.s new file mode 100644 index 00000000..891e2473 --- /dev/null +++ b/extra/stm_exp_pack/Drivers/CMSIS/Device/ST/STM32F7xx/Source/Templates/gcc/startup_stm32f722xx.s @@ -0,0 +1,535 @@ +/** + ****************************************************************************** + * @file startup_stm32f722xx.s + * @author MCD Application Team + * @brief STM32F722xx Devices vector table for GCC based toolchain. + * This module performs: + * - Set the initial SP + * - Set the initial PC == Reset_Handler, + * - Set the vector table entries with the exceptions ISR address + * - Branches to main in the C library (which eventually + * calls main()). + * After Reset the Cortex-M7 processor is in Thread mode, + * priority is Privileged, and the Stack is set to Main. + ****************************************************************************** + * @attention + * + * Copyright (c) 2016 STMicroelectronics. + * All rights reserved. + * + * This software is licensed under terms that can be found in the LICENSE file + * in the root directory of this software component. + * If no LICENSE file comes with this software, it is provided AS-IS. + * + ****************************************************************************** + */ + + .syntax unified + .cpu cortex-m7 + .fpu softvfp + .thumb + +.global g_pfnVectors +.global Default_Handler + +/* start address for the initialization values of the .data section. +defined in linker script */ +.word _sidata +/* start address for the .data section. defined in linker script */ +.word _sdata +/* end address for the .data section. defined in linker script */ +.word _edata +/* start address for the .bss section. defined in linker script */ +.word _sbss +/* end address for the .bss section. defined in linker script */ +.word _ebss +/* stack used for SystemInit_ExtMemCtl; always internal RAM used */ + +/** + * @brief This is the code that gets called when the processor first + * starts execution following a reset event. Only the absolutely + * necessary set is performed, after which the application + * supplied main() routine is called. + * @param None + * @retval : None +*/ + + .section .text.Reset_Handler + .weak Reset_Handler + .type Reset_Handler, %function +Reset_Handler: + ldr sp, =_estack /* set stack pointer */ + +/* Copy the data segment initializers from flash to SRAM */ + ldr r0, =_sdata + ldr r1, =_edata + ldr r2, =_sidata + movs r3, #0 + b LoopCopyDataInit + +CopyDataInit: + ldr r4, [r2, r3] + str r4, [r0, r3] + adds r3, r3, #4 + +LoopCopyDataInit: + adds r4, r0, r3 + cmp r4, r1 + bcc CopyDataInit + +/* Zero fill the bss segment. */ + ldr r2, =_sbss + ldr r4, =_ebss + movs r3, #0 + b LoopFillZerobss + +FillZerobss: + str r3, [r2] + adds r2, r2, #4 + +LoopFillZerobss: + cmp r2, r4 + bcc FillZerobss + +/* Call the clock system intitialization function.*/ + bl SystemInit +/* Call static constructors */ + bl __libc_init_array +/* Call the application's entry point.*/ + bl main + bx lr +.size Reset_Handler, .-Reset_Handler + +/** + * @brief This is the code that gets called when the processor receives an + * unexpected interrupt. This simply enters an infinite loop, preserving + * the system state for examination by a debugger. + * @param None + * @retval None +*/ + .section .text.Default_Handler,"ax",%progbits +Default_Handler: +Infinite_Loop: + b Infinite_Loop + .size Default_Handler, .-Default_Handler +/****************************************************************************** +* +* The minimal vector table for a Cortex M7. Note that the proper constructs +* must be placed on this to ensure that it ends up at physical address +* 0x0000.0000. +* +*******************************************************************************/ + .section .isr_vector,"a",%progbits + .type g_pfnVectors, %object + .size g_pfnVectors, .-g_pfnVectors + + +g_pfnVectors: + .word _estack + .word Reset_Handler + + .word NMI_Handler + .word HardFault_Handler + .word MemManage_Handler + .word BusFault_Handler + .word UsageFault_Handler + .word 0 + .word 0 + .word 0 + .word 0 + .word SVC_Handler + .word DebugMon_Handler + .word 0 + .word PendSV_Handler + .word SysTick_Handler + + /* External Interrupts */ + .word WWDG_IRQHandler /* Window WatchDog */ + .word PVD_IRQHandler /* PVD through EXTI Line detection */ + .word TAMP_STAMP_IRQHandler /* Tamper and TimeStamps through the EXTI line */ + .word RTC_WKUP_IRQHandler /* RTC Wakeup through the EXTI line */ + .word FLASH_IRQHandler /* FLASH */ + .word RCC_IRQHandler /* RCC */ + .word EXTI0_IRQHandler /* EXTI Line0 */ + .word EXTI1_IRQHandler /* EXTI Line1 */ + .word EXTI2_IRQHandler /* EXTI Line2 */ + .word EXTI3_IRQHandler /* EXTI Line3 */ + .word EXTI4_IRQHandler /* EXTI Line4 */ + .word DMA1_Stream0_IRQHandler /* DMA1 Stream 0 */ + .word DMA1_Stream1_IRQHandler /* DMA1 Stream 1 */ + .word DMA1_Stream2_IRQHandler /* DMA1 Stream 2 */ + .word DMA1_Stream3_IRQHandler /* DMA1 Stream 3 */ + .word DMA1_Stream4_IRQHandler /* DMA1 Stream 4 */ + .word DMA1_Stream5_IRQHandler /* DMA1 Stream 5 */ + .word DMA1_Stream6_IRQHandler /* DMA1 Stream 6 */ + .word ADC_IRQHandler /* ADC1, ADC2 and ADC3s */ + .word CAN1_TX_IRQHandler /* CAN1 TX */ + .word CAN1_RX0_IRQHandler /* CAN1 RX0 */ + .word CAN1_RX1_IRQHandler /* CAN1 RX1 */ + .word CAN1_SCE_IRQHandler /* CAN1 SCE */ + .word EXTI9_5_IRQHandler /* External Line[9:5]s */ + .word TIM1_BRK_TIM9_IRQHandler /* TIM1 Break and TIM9 */ + .word TIM1_UP_TIM10_IRQHandler /* TIM1 Update and TIM10 */ + .word TIM1_TRG_COM_TIM11_IRQHandler /* TIM1 Trigger and Commutation and TIM11 */ + .word TIM1_CC_IRQHandler /* TIM1 Capture Compare */ + .word TIM2_IRQHandler /* TIM2 */ + .word TIM3_IRQHandler /* TIM3 */ + .word TIM4_IRQHandler /* TIM4 */ + .word I2C1_EV_IRQHandler /* I2C1 Event */ + .word I2C1_ER_IRQHandler /* I2C1 Error */ + .word I2C2_EV_IRQHandler /* I2C2 Event */ + .word I2C2_ER_IRQHandler /* I2C2 Error */ + .word SPI1_IRQHandler /* SPI1 */ + .word SPI2_IRQHandler /* SPI2 */ + .word USART1_IRQHandler /* USART1 */ + .word USART2_IRQHandler /* USART2 */ + .word USART3_IRQHandler /* USART3 */ + .word EXTI15_10_IRQHandler /* External Line[15:10]s */ + .word RTC_Alarm_IRQHandler /* RTC Alarm (A and B) through EXTI Line */ + .word OTG_FS_WKUP_IRQHandler /* USB OTG FS Wakeup through EXTI line */ + .word TIM8_BRK_TIM12_IRQHandler /* TIM8 Break and TIM12 */ + .word TIM8_UP_TIM13_IRQHandler /* TIM8 Update and TIM13 */ + .word TIM8_TRG_COM_TIM14_IRQHandler /* TIM8 Trigger and Commutation and TIM14 */ + .word TIM8_CC_IRQHandler /* TIM8 Capture Compare */ + .word DMA1_Stream7_IRQHandler /* DMA1 Stream7 */ + .word FMC_IRQHandler /* FMC */ + .word SDMMC1_IRQHandler /* SDMMC1 */ + .word TIM5_IRQHandler /* TIM5 */ + .word SPI3_IRQHandler /* SPI3 */ + .word UART4_IRQHandler /* UART4 */ + .word UART5_IRQHandler /* UART5 */ + .word TIM6_DAC_IRQHandler /* TIM6 and DAC1&2 underrun errors */ + .word TIM7_IRQHandler /* TIM7 */ + .word DMA2_Stream0_IRQHandler /* DMA2 Stream 0 */ + .word DMA2_Stream1_IRQHandler /* DMA2 Stream 1 */ + .word DMA2_Stream2_IRQHandler /* DMA2 Stream 2 */ + .word DMA2_Stream3_IRQHandler /* DMA2 Stream 3 */ + .word DMA2_Stream4_IRQHandler /* DMA2 Stream 4 */ + .word 0 /* Reserved */ + .word 0 /* Reserved */ + .word 0 /* Reserved */ + .word 0 /* Reserved */ + .word 0 /* Reserved */ + .word 0 /* Reserved */ + .word OTG_FS_IRQHandler /* USB OTG FS */ + .word DMA2_Stream5_IRQHandler /* DMA2 Stream 5 */ + .word DMA2_Stream6_IRQHandler /* DMA2 Stream 6 */ + .word DMA2_Stream7_IRQHandler /* DMA2 Stream 7 */ + .word USART6_IRQHandler /* USART6 */ + .word I2C3_EV_IRQHandler /* I2C3 event */ + .word I2C3_ER_IRQHandler /* I2C3 error */ + .word OTG_HS_EP1_OUT_IRQHandler /* USB OTG HS End Point 1 Out */ + .word OTG_HS_EP1_IN_IRQHandler /* USB OTG HS End Point 1 In */ + .word OTG_HS_WKUP_IRQHandler /* USB OTG HS Wakeup through EXTI */ + .word OTG_HS_IRQHandler /* USB OTG HS */ + .word 0 /* Reserved */ + .word 0 /* Reserved */ + .word RNG_IRQHandler /* RNG */ + .word FPU_IRQHandler /* FPU */ + .word UART7_IRQHandler /* UART7 */ + .word UART8_IRQHandler /* UART8 */ + .word SPI4_IRQHandler /* SPI4 */ + .word SPI5_IRQHandler /* SPI5 */ + .word 0 /* Reserved */ + .word SAI1_IRQHandler /* SAI1 */ + .word 0 /* Reserved */ + .word 0 /* Reserved */ + .word 0 /* Reserved */ + .word SAI2_IRQHandler /* SAI2 */ + .word QUADSPI_IRQHandler /* QUADSPI */ + .word LPTIM1_IRQHandler /* LPTIM1 */ + .word 0 /* Reserved */ + .word 0 /* Reserved */ + .word 0 /* Reserved */ + .word 0 /* Reserved */ + .word 0 /* Reserved */ + .word 0 /* Reserved */ + .word 0 /* Reserved */ + .word 0 /* Reserved */ + .word 0 /* Reserved */ + .word SDMMC2_IRQHandler /* SDMMC2 */ + +/******************************************************************************* +* +* Provide weak aliases for each Exception handler to the Default_Handler. +* As they are weak aliases, any function with the same name will override +* this definition. +* +*******************************************************************************/ + .weak NMI_Handler + .thumb_set NMI_Handler,Default_Handler + + .weak HardFault_Handler + .thumb_set HardFault_Handler,Default_Handler + + .weak MemManage_Handler + .thumb_set MemManage_Handler,Default_Handler + + .weak BusFault_Handler + .thumb_set BusFault_Handler,Default_Handler + + .weak UsageFault_Handler + .thumb_set UsageFault_Handler,Default_Handler + + .weak SVC_Handler + .thumb_set SVC_Handler,Default_Handler + + .weak DebugMon_Handler + .thumb_set DebugMon_Handler,Default_Handler + + .weak PendSV_Handler + .thumb_set PendSV_Handler,Default_Handler + + .weak SysTick_Handler + .thumb_set SysTick_Handler,Default_Handler + + .weak WWDG_IRQHandler + .thumb_set WWDG_IRQHandler,Default_Handler + + .weak PVD_IRQHandler + .thumb_set PVD_IRQHandler,Default_Handler + + .weak TAMP_STAMP_IRQHandler + .thumb_set TAMP_STAMP_IRQHandler,Default_Handler + + .weak RTC_WKUP_IRQHandler + .thumb_set RTC_WKUP_IRQHandler,Default_Handler + + .weak FLASH_IRQHandler + .thumb_set FLASH_IRQHandler,Default_Handler + + .weak RCC_IRQHandler + .thumb_set RCC_IRQHandler,Default_Handler + + .weak EXTI0_IRQHandler + .thumb_set EXTI0_IRQHandler,Default_Handler + + .weak EXTI1_IRQHandler + .thumb_set EXTI1_IRQHandler,Default_Handler + + .weak EXTI2_IRQHandler + .thumb_set EXTI2_IRQHandler,Default_Handler + + .weak EXTI3_IRQHandler + .thumb_set EXTI3_IRQHandler,Default_Handler + + .weak EXTI4_IRQHandler + .thumb_set EXTI4_IRQHandler,Default_Handler + + .weak DMA1_Stream0_IRQHandler + .thumb_set DMA1_Stream0_IRQHandler,Default_Handler + + .weak DMA1_Stream1_IRQHandler + .thumb_set DMA1_Stream1_IRQHandler,Default_Handler + + .weak DMA1_Stream2_IRQHandler + .thumb_set DMA1_Stream2_IRQHandler,Default_Handler + + .weak DMA1_Stream3_IRQHandler + .thumb_set DMA1_Stream3_IRQHandler,Default_Handler + + .weak DMA1_Stream4_IRQHandler + .thumb_set DMA1_Stream4_IRQHandler,Default_Handler + + .weak DMA1_Stream5_IRQHandler + .thumb_set DMA1_Stream5_IRQHandler,Default_Handler + + .weak DMA1_Stream6_IRQHandler + .thumb_set DMA1_Stream6_IRQHandler,Default_Handler + + .weak ADC_IRQHandler + .thumb_set ADC_IRQHandler,Default_Handler + + .weak CAN1_TX_IRQHandler + .thumb_set CAN1_TX_IRQHandler,Default_Handler + + .weak CAN1_RX0_IRQHandler + .thumb_set CAN1_RX0_IRQHandler,Default_Handler + + .weak CAN1_RX1_IRQHandler + .thumb_set CAN1_RX1_IRQHandler,Default_Handler + + .weak CAN1_SCE_IRQHandler + .thumb_set CAN1_SCE_IRQHandler,Default_Handler + + .weak EXTI9_5_IRQHandler + .thumb_set EXTI9_5_IRQHandler,Default_Handler + + .weak TIM1_BRK_TIM9_IRQHandler + .thumb_set TIM1_BRK_TIM9_IRQHandler,Default_Handler + + .weak TIM1_UP_TIM10_IRQHandler + .thumb_set TIM1_UP_TIM10_IRQHandler,Default_Handler + + .weak TIM1_TRG_COM_TIM11_IRQHandler + .thumb_set TIM1_TRG_COM_TIM11_IRQHandler,Default_Handler + + .weak TIM1_CC_IRQHandler + .thumb_set TIM1_CC_IRQHandler,Default_Handler + + .weak TIM2_IRQHandler + .thumb_set TIM2_IRQHandler,Default_Handler + + .weak TIM3_IRQHandler + .thumb_set TIM3_IRQHandler,Default_Handler + + .weak TIM4_IRQHandler + .thumb_set TIM4_IRQHandler,Default_Handler + + .weak I2C1_EV_IRQHandler + .thumb_set I2C1_EV_IRQHandler,Default_Handler + + .weak I2C1_ER_IRQHandler + .thumb_set I2C1_ER_IRQHandler,Default_Handler + + .weak I2C2_EV_IRQHandler + .thumb_set I2C2_EV_IRQHandler,Default_Handler + + .weak I2C2_ER_IRQHandler + .thumb_set I2C2_ER_IRQHandler,Default_Handler + + .weak SPI1_IRQHandler + .thumb_set SPI1_IRQHandler,Default_Handler + + .weak SPI2_IRQHandler + .thumb_set SPI2_IRQHandler,Default_Handler + + .weak USART1_IRQHandler + .thumb_set USART1_IRQHandler,Default_Handler + + .weak USART2_IRQHandler + .thumb_set USART2_IRQHandler,Default_Handler + + .weak USART3_IRQHandler + .thumb_set USART3_IRQHandler,Default_Handler + + .weak EXTI15_10_IRQHandler + .thumb_set EXTI15_10_IRQHandler,Default_Handler + + .weak RTC_Alarm_IRQHandler + .thumb_set RTC_Alarm_IRQHandler,Default_Handler + + .weak OTG_FS_WKUP_IRQHandler + .thumb_set OTG_FS_WKUP_IRQHandler,Default_Handler + + .weak TIM8_BRK_TIM12_IRQHandler + .thumb_set TIM8_BRK_TIM12_IRQHandler,Default_Handler + + .weak TIM8_UP_TIM13_IRQHandler + .thumb_set TIM8_UP_TIM13_IRQHandler,Default_Handler + + .weak TIM8_TRG_COM_TIM14_IRQHandler + .thumb_set TIM8_TRG_COM_TIM14_IRQHandler,Default_Handler + + .weak TIM8_CC_IRQHandler + .thumb_set TIM8_CC_IRQHandler,Default_Handler + + .weak DMA1_Stream7_IRQHandler + .thumb_set DMA1_Stream7_IRQHandler,Default_Handler + + .weak FMC_IRQHandler + .thumb_set FMC_IRQHandler,Default_Handler + + .weak SDMMC1_IRQHandler + .thumb_set SDMMC1_IRQHandler,Default_Handler + + .weak TIM5_IRQHandler + .thumb_set TIM5_IRQHandler,Default_Handler + + .weak SPI3_IRQHandler + .thumb_set SPI3_IRQHandler,Default_Handler + + .weak UART4_IRQHandler + .thumb_set UART4_IRQHandler,Default_Handler + + .weak UART5_IRQHandler + .thumb_set UART5_IRQHandler,Default_Handler + + .weak TIM6_DAC_IRQHandler + .thumb_set TIM6_DAC_IRQHandler,Default_Handler + + .weak TIM7_IRQHandler + .thumb_set TIM7_IRQHandler,Default_Handler + + .weak DMA2_Stream0_IRQHandler + .thumb_set DMA2_Stream0_IRQHandler,Default_Handler + + .weak DMA2_Stream1_IRQHandler + .thumb_set DMA2_Stream1_IRQHandler,Default_Handler + + .weak DMA2_Stream2_IRQHandler + .thumb_set DMA2_Stream2_IRQHandler,Default_Handler + + .weak DMA2_Stream3_IRQHandler + .thumb_set DMA2_Stream3_IRQHandler,Default_Handler + + .weak DMA2_Stream4_IRQHandler + .thumb_set DMA2_Stream4_IRQHandler,Default_Handler + + .weak OTG_FS_IRQHandler + .thumb_set OTG_FS_IRQHandler,Default_Handler + + .weak DMA2_Stream5_IRQHandler + .thumb_set DMA2_Stream5_IRQHandler,Default_Handler + + .weak DMA2_Stream6_IRQHandler + .thumb_set DMA2_Stream6_IRQHandler,Default_Handler + + .weak DMA2_Stream7_IRQHandler + .thumb_set DMA2_Stream7_IRQHandler,Default_Handler + + .weak USART6_IRQHandler + .thumb_set USART6_IRQHandler,Default_Handler + + .weak I2C3_EV_IRQHandler + .thumb_set I2C3_EV_IRQHandler,Default_Handler + + .weak I2C3_ER_IRQHandler + .thumb_set I2C3_ER_IRQHandler,Default_Handler + + .weak OTG_HS_EP1_OUT_IRQHandler + .thumb_set OTG_HS_EP1_OUT_IRQHandler,Default_Handler + + .weak OTG_HS_EP1_IN_IRQHandler + .thumb_set OTG_HS_EP1_IN_IRQHandler,Default_Handler + + .weak OTG_HS_WKUP_IRQHandler + .thumb_set OTG_HS_WKUP_IRQHandler,Default_Handler + + .weak OTG_HS_IRQHandler + .thumb_set OTG_HS_IRQHandler,Default_Handler + + .weak RNG_IRQHandler + .thumb_set RNG_IRQHandler,Default_Handler + + .weak FPU_IRQHandler + .thumb_set FPU_IRQHandler,Default_Handler + + .weak UART7_IRQHandler + .thumb_set UART7_IRQHandler,Default_Handler + + .weak UART8_IRQHandler + .thumb_set UART8_IRQHandler,Default_Handler + + .weak SPI4_IRQHandler + .thumb_set SPI4_IRQHandler,Default_Handler + + .weak SPI5_IRQHandler + .thumb_set SPI5_IRQHandler,Default_Handler + + .weak SAI1_IRQHandler + .thumb_set SAI1_IRQHandler,Default_Handler + + .weak SAI2_IRQHandler + .thumb_set SAI2_IRQHandler,Default_Handler + + .weak QUADSPI_IRQHandler + .thumb_set QUADSPI_IRQHandler,Default_Handler + + .weak LPTIM1_IRQHandler + .thumb_set LPTIM1_IRQHandler,Default_Handler + + .weak SDMMC2_IRQHandler + .thumb_set SDMMC2_IRQHandler,Default_Handler + + diff --git a/extra/stm_exp_pack/Drivers/CMSIS/Device/ST/STM32F7xx/Source/Templates/gcc/startup_stm32f723xx.s b/extra/stm_exp_pack/Drivers/CMSIS/Device/ST/STM32F7xx/Source/Templates/gcc/startup_stm32f723xx.s new file mode 100644 index 00000000..f1ed9046 --- /dev/null +++ b/extra/stm_exp_pack/Drivers/CMSIS/Device/ST/STM32F7xx/Source/Templates/gcc/startup_stm32f723xx.s @@ -0,0 +1,535 @@ +/** + ****************************************************************************** + * @file startup_stm32f723xx.s + * @author MCD Application Team + * @brief STM32F723xx Devices vector table for GCC based toolchain. + * This module performs: + * - Set the initial SP + * - Set the initial PC == Reset_Handler, + * - Set the vector table entries with the exceptions ISR address + * - Branches to main in the C library (which eventually + * calls main()). + * After Reset the Cortex-M7 processor is in Thread mode, + * priority is Privileged, and the Stack is set to Main. + ****************************************************************************** + * @attention + * + * Copyright (c) 2016 STMicroelectronics. + * All rights reserved. + * + * This software is licensed under terms that can be found in the LICENSE file + * in the root directory of this software component. + * If no LICENSE file comes with this software, it is provided AS-IS. + * + ****************************************************************************** + */ + + .syntax unified + .cpu cortex-m7 + .fpu softvfp + .thumb + +.global g_pfnVectors +.global Default_Handler + +/* start address for the initialization values of the .data section. +defined in linker script */ +.word _sidata +/* start address for the .data section. defined in linker script */ +.word _sdata +/* end address for the .data section. defined in linker script */ +.word _edata +/* start address for the .bss section. defined in linker script */ +.word _sbss +/* end address for the .bss section. defined in linker script */ +.word _ebss +/* stack used for SystemInit_ExtMemCtl; always internal RAM used */ + +/** + * @brief This is the code that gets called when the processor first + * starts execution following a reset event. Only the absolutely + * necessary set is performed, after which the application + * supplied main() routine is called. + * @param None + * @retval : None +*/ + + .section .text.Reset_Handler + .weak Reset_Handler + .type Reset_Handler, %function +Reset_Handler: + ldr sp, =_estack /* set stack pointer */ + +/* Copy the data segment initializers from flash to SRAM */ + ldr r0, =_sdata + ldr r1, =_edata + ldr r2, =_sidata + movs r3, #0 + b LoopCopyDataInit + +CopyDataInit: + ldr r4, [r2, r3] + str r4, [r0, r3] + adds r3, r3, #4 + +LoopCopyDataInit: + adds r4, r0, r3 + cmp r4, r1 + bcc CopyDataInit + +/* Zero fill the bss segment. */ + ldr r2, =_sbss + ldr r4, =_ebss + movs r3, #0 + b LoopFillZerobss + +FillZerobss: + str r3, [r2] + adds r2, r2, #4 + +LoopFillZerobss: + cmp r2, r4 + bcc FillZerobss + +/* Call the clock system intitialization function.*/ + bl SystemInit +/* Call static constructors */ + bl __libc_init_array +/* Call the application's entry point.*/ + bl main + bx lr +.size Reset_Handler, .-Reset_Handler + +/** + * @brief This is the code that gets called when the processor receives an + * unexpected interrupt. This simply enters an infinite loop, preserving + * the system state for examination by a debugger. + * @param None + * @retval None +*/ + .section .text.Default_Handler,"ax",%progbits +Default_Handler: +Infinite_Loop: + b Infinite_Loop + .size Default_Handler, .-Default_Handler +/****************************************************************************** +* +* The minimal vector table for a Cortex M7. Note that the proper constructs +* must be placed on this to ensure that it ends up at physical address +* 0x0000.0000. +* +*******************************************************************************/ + .section .isr_vector,"a",%progbits + .type g_pfnVectors, %object + .size g_pfnVectors, .-g_pfnVectors + + +g_pfnVectors: + .word _estack + .word Reset_Handler + + .word NMI_Handler + .word HardFault_Handler + .word MemManage_Handler + .word BusFault_Handler + .word UsageFault_Handler + .word 0 + .word 0 + .word 0 + .word 0 + .word SVC_Handler + .word DebugMon_Handler + .word 0 + .word PendSV_Handler + .word SysTick_Handler + + /* External Interrupts */ + .word WWDG_IRQHandler /* Window WatchDog */ + .word PVD_IRQHandler /* PVD through EXTI Line detection */ + .word TAMP_STAMP_IRQHandler /* Tamper and TimeStamps through the EXTI line */ + .word RTC_WKUP_IRQHandler /* RTC Wakeup through the EXTI line */ + .word FLASH_IRQHandler /* FLASH */ + .word RCC_IRQHandler /* RCC */ + .word EXTI0_IRQHandler /* EXTI Line0 */ + .word EXTI1_IRQHandler /* EXTI Line1 */ + .word EXTI2_IRQHandler /* EXTI Line2 */ + .word EXTI3_IRQHandler /* EXTI Line3 */ + .word EXTI4_IRQHandler /* EXTI Line4 */ + .word DMA1_Stream0_IRQHandler /* DMA1 Stream 0 */ + .word DMA1_Stream1_IRQHandler /* DMA1 Stream 1 */ + .word DMA1_Stream2_IRQHandler /* DMA1 Stream 2 */ + .word DMA1_Stream3_IRQHandler /* DMA1 Stream 3 */ + .word DMA1_Stream4_IRQHandler /* DMA1 Stream 4 */ + .word DMA1_Stream5_IRQHandler /* DMA1 Stream 5 */ + .word DMA1_Stream6_IRQHandler /* DMA1 Stream 6 */ + .word ADC_IRQHandler /* ADC1, ADC2 and ADC3s */ + .word CAN1_TX_IRQHandler /* CAN1 TX */ + .word CAN1_RX0_IRQHandler /* CAN1 RX0 */ + .word CAN1_RX1_IRQHandler /* CAN1 RX1 */ + .word CAN1_SCE_IRQHandler /* CAN1 SCE */ + .word EXTI9_5_IRQHandler /* External Line[9:5]s */ + .word TIM1_BRK_TIM9_IRQHandler /* TIM1 Break and TIM9 */ + .word TIM1_UP_TIM10_IRQHandler /* TIM1 Update and TIM10 */ + .word TIM1_TRG_COM_TIM11_IRQHandler /* TIM1 Trigger and Commutation and TIM11 */ + .word TIM1_CC_IRQHandler /* TIM1 Capture Compare */ + .word TIM2_IRQHandler /* TIM2 */ + .word TIM3_IRQHandler /* TIM3 */ + .word TIM4_IRQHandler /* TIM4 */ + .word I2C1_EV_IRQHandler /* I2C1 Event */ + .word I2C1_ER_IRQHandler /* I2C1 Error */ + .word I2C2_EV_IRQHandler /* I2C2 Event */ + .word I2C2_ER_IRQHandler /* I2C2 Error */ + .word SPI1_IRQHandler /* SPI1 */ + .word SPI2_IRQHandler /* SPI2 */ + .word USART1_IRQHandler /* USART1 */ + .word USART2_IRQHandler /* USART2 */ + .word USART3_IRQHandler /* USART3 */ + .word EXTI15_10_IRQHandler /* External Line[15:10]s */ + .word RTC_Alarm_IRQHandler /* RTC Alarm (A and B) through EXTI Line */ + .word OTG_FS_WKUP_IRQHandler /* USB OTG FS Wakeup through EXTI line */ + .word TIM8_BRK_TIM12_IRQHandler /* TIM8 Break and TIM12 */ + .word TIM8_UP_TIM13_IRQHandler /* TIM8 Update and TIM13 */ + .word TIM8_TRG_COM_TIM14_IRQHandler /* TIM8 Trigger and Commutation and TIM14 */ + .word TIM8_CC_IRQHandler /* TIM8 Capture Compare */ + .word DMA1_Stream7_IRQHandler /* DMA1 Stream7 */ + .word FMC_IRQHandler /* FMC */ + .word SDMMC1_IRQHandler /* SDMMC1 */ + .word TIM5_IRQHandler /* TIM5 */ + .word SPI3_IRQHandler /* SPI3 */ + .word UART4_IRQHandler /* UART4 */ + .word UART5_IRQHandler /* UART5 */ + .word TIM6_DAC_IRQHandler /* TIM6 and DAC1&2 underrun errors */ + .word TIM7_IRQHandler /* TIM7 */ + .word DMA2_Stream0_IRQHandler /* DMA2 Stream 0 */ + .word DMA2_Stream1_IRQHandler /* DMA2 Stream 1 */ + .word DMA2_Stream2_IRQHandler /* DMA2 Stream 2 */ + .word DMA2_Stream3_IRQHandler /* DMA2 Stream 3 */ + .word DMA2_Stream4_IRQHandler /* DMA2 Stream 4 */ + .word 0 /* Reserved */ + .word 0 /* Reserved */ + .word 0 /* Reserved */ + .word 0 /* Reserved */ + .word 0 /* Reserved */ + .word 0 /* Reserved */ + .word OTG_FS_IRQHandler /* USB OTG FS */ + .word DMA2_Stream5_IRQHandler /* DMA2 Stream 5 */ + .word DMA2_Stream6_IRQHandler /* DMA2 Stream 6 */ + .word DMA2_Stream7_IRQHandler /* DMA2 Stream 7 */ + .word USART6_IRQHandler /* USART6 */ + .word I2C3_EV_IRQHandler /* I2C3 event */ + .word I2C3_ER_IRQHandler /* I2C3 error */ + .word OTG_HS_EP1_OUT_IRQHandler /* USB OTG HS End Point 1 Out */ + .word OTG_HS_EP1_IN_IRQHandler /* USB OTG HS End Point 1 In */ + .word OTG_HS_WKUP_IRQHandler /* USB OTG HS Wakeup through EXTI */ + .word OTG_HS_IRQHandler /* USB OTG HS */ + .word 0 /* Reserved */ + .word 0 /* Reserved */ + .word RNG_IRQHandler /* RNG */ + .word FPU_IRQHandler /* FPU */ + .word UART7_IRQHandler /* UART7 */ + .word UART8_IRQHandler /* UART8 */ + .word SPI4_IRQHandler /* SPI4 */ + .word SPI5_IRQHandler /* SPI5 */ + .word 0 /* Reserved */ + .word SAI1_IRQHandler /* SAI1 */ + .word 0 /* Reserved */ + .word 0 /* Reserved */ + .word 0 /* Reserved */ + .word SAI2_IRQHandler /* SAI2 */ + .word QUADSPI_IRQHandler /* QUADSPI */ + .word LPTIM1_IRQHandler /* LPTIM1 */ + .word 0 /* Reserved */ + .word 0 /* Reserved */ + .word 0 /* Reserved */ + .word 0 /* Reserved */ + .word 0 /* Reserved */ + .word 0 /* Reserved */ + .word 0 /* Reserved */ + .word 0 /* Reserved */ + .word 0 /* Reserved */ + .word SDMMC2_IRQHandler /* SDMMC2 */ + +/******************************************************************************* +* +* Provide weak aliases for each Exception handler to the Default_Handler. +* As they are weak aliases, any function with the same name will override +* this definition. +* +*******************************************************************************/ + .weak NMI_Handler + .thumb_set NMI_Handler,Default_Handler + + .weak HardFault_Handler + .thumb_set HardFault_Handler,Default_Handler + + .weak MemManage_Handler + .thumb_set MemManage_Handler,Default_Handler + + .weak BusFault_Handler + .thumb_set BusFault_Handler,Default_Handler + + .weak UsageFault_Handler + .thumb_set UsageFault_Handler,Default_Handler + + .weak SVC_Handler + .thumb_set SVC_Handler,Default_Handler + + .weak DebugMon_Handler + .thumb_set DebugMon_Handler,Default_Handler + + .weak PendSV_Handler + .thumb_set PendSV_Handler,Default_Handler + + .weak SysTick_Handler + .thumb_set SysTick_Handler,Default_Handler + + .weak WWDG_IRQHandler + .thumb_set WWDG_IRQHandler,Default_Handler + + .weak PVD_IRQHandler + .thumb_set PVD_IRQHandler,Default_Handler + + .weak TAMP_STAMP_IRQHandler + .thumb_set TAMP_STAMP_IRQHandler,Default_Handler + + .weak RTC_WKUP_IRQHandler + .thumb_set RTC_WKUP_IRQHandler,Default_Handler + + .weak FLASH_IRQHandler + .thumb_set FLASH_IRQHandler,Default_Handler + + .weak RCC_IRQHandler + .thumb_set RCC_IRQHandler,Default_Handler + + .weak EXTI0_IRQHandler + .thumb_set EXTI0_IRQHandler,Default_Handler + + .weak EXTI1_IRQHandler + .thumb_set EXTI1_IRQHandler,Default_Handler + + .weak EXTI2_IRQHandler + .thumb_set EXTI2_IRQHandler,Default_Handler + + .weak EXTI3_IRQHandler + .thumb_set EXTI3_IRQHandler,Default_Handler + + .weak EXTI4_IRQHandler + .thumb_set EXTI4_IRQHandler,Default_Handler + + .weak DMA1_Stream0_IRQHandler + .thumb_set DMA1_Stream0_IRQHandler,Default_Handler + + .weak DMA1_Stream1_IRQHandler + .thumb_set DMA1_Stream1_IRQHandler,Default_Handler + + .weak DMA1_Stream2_IRQHandler + .thumb_set DMA1_Stream2_IRQHandler,Default_Handler + + .weak DMA1_Stream3_IRQHandler + .thumb_set DMA1_Stream3_IRQHandler,Default_Handler + + .weak DMA1_Stream4_IRQHandler + .thumb_set DMA1_Stream4_IRQHandler,Default_Handler + + .weak DMA1_Stream5_IRQHandler + .thumb_set DMA1_Stream5_IRQHandler,Default_Handler + + .weak DMA1_Stream6_IRQHandler + .thumb_set DMA1_Stream6_IRQHandler,Default_Handler + + .weak ADC_IRQHandler + .thumb_set ADC_IRQHandler,Default_Handler + + .weak CAN1_TX_IRQHandler + .thumb_set CAN1_TX_IRQHandler,Default_Handler + + .weak CAN1_RX0_IRQHandler + .thumb_set CAN1_RX0_IRQHandler,Default_Handler + + .weak CAN1_RX1_IRQHandler + .thumb_set CAN1_RX1_IRQHandler,Default_Handler + + .weak CAN1_SCE_IRQHandler + .thumb_set CAN1_SCE_IRQHandler,Default_Handler + + .weak EXTI9_5_IRQHandler + .thumb_set EXTI9_5_IRQHandler,Default_Handler + + .weak TIM1_BRK_TIM9_IRQHandler + .thumb_set TIM1_BRK_TIM9_IRQHandler,Default_Handler + + .weak TIM1_UP_TIM10_IRQHandler + .thumb_set TIM1_UP_TIM10_IRQHandler,Default_Handler + + .weak TIM1_TRG_COM_TIM11_IRQHandler + .thumb_set TIM1_TRG_COM_TIM11_IRQHandler,Default_Handler + + .weak TIM1_CC_IRQHandler + .thumb_set TIM1_CC_IRQHandler,Default_Handler + + .weak TIM2_IRQHandler + .thumb_set TIM2_IRQHandler,Default_Handler + + .weak TIM3_IRQHandler + .thumb_set TIM3_IRQHandler,Default_Handler + + .weak TIM4_IRQHandler + .thumb_set TIM4_IRQHandler,Default_Handler + + .weak I2C1_EV_IRQHandler + .thumb_set I2C1_EV_IRQHandler,Default_Handler + + .weak I2C1_ER_IRQHandler + .thumb_set I2C1_ER_IRQHandler,Default_Handler + + .weak I2C2_EV_IRQHandler + .thumb_set I2C2_EV_IRQHandler,Default_Handler + + .weak I2C2_ER_IRQHandler + .thumb_set I2C2_ER_IRQHandler,Default_Handler + + .weak SPI1_IRQHandler + .thumb_set SPI1_IRQHandler,Default_Handler + + .weak SPI2_IRQHandler + .thumb_set SPI2_IRQHandler,Default_Handler + + .weak USART1_IRQHandler + .thumb_set USART1_IRQHandler,Default_Handler + + .weak USART2_IRQHandler + .thumb_set USART2_IRQHandler,Default_Handler + + .weak USART3_IRQHandler + .thumb_set USART3_IRQHandler,Default_Handler + + .weak EXTI15_10_IRQHandler + .thumb_set EXTI15_10_IRQHandler,Default_Handler + + .weak RTC_Alarm_IRQHandler + .thumb_set RTC_Alarm_IRQHandler,Default_Handler + + .weak OTG_FS_WKUP_IRQHandler + .thumb_set OTG_FS_WKUP_IRQHandler,Default_Handler + + .weak TIM8_BRK_TIM12_IRQHandler + .thumb_set TIM8_BRK_TIM12_IRQHandler,Default_Handler + + .weak TIM8_UP_TIM13_IRQHandler + .thumb_set TIM8_UP_TIM13_IRQHandler,Default_Handler + + .weak TIM8_TRG_COM_TIM14_IRQHandler + .thumb_set TIM8_TRG_COM_TIM14_IRQHandler,Default_Handler + + .weak TIM8_CC_IRQHandler + .thumb_set TIM8_CC_IRQHandler,Default_Handler + + .weak DMA1_Stream7_IRQHandler + .thumb_set DMA1_Stream7_IRQHandler,Default_Handler + + .weak FMC_IRQHandler + .thumb_set FMC_IRQHandler,Default_Handler + + .weak SDMMC1_IRQHandler + .thumb_set SDMMC1_IRQHandler,Default_Handler + + .weak TIM5_IRQHandler + .thumb_set TIM5_IRQHandler,Default_Handler + + .weak SPI3_IRQHandler + .thumb_set SPI3_IRQHandler,Default_Handler + + .weak UART4_IRQHandler + .thumb_set UART4_IRQHandler,Default_Handler + + .weak UART5_IRQHandler + .thumb_set UART5_IRQHandler,Default_Handler + + .weak TIM6_DAC_IRQHandler + .thumb_set TIM6_DAC_IRQHandler,Default_Handler + + .weak TIM7_IRQHandler + .thumb_set TIM7_IRQHandler,Default_Handler + + .weak DMA2_Stream0_IRQHandler + .thumb_set DMA2_Stream0_IRQHandler,Default_Handler + + .weak DMA2_Stream1_IRQHandler + .thumb_set DMA2_Stream1_IRQHandler,Default_Handler + + .weak DMA2_Stream2_IRQHandler + .thumb_set DMA2_Stream2_IRQHandler,Default_Handler + + .weak DMA2_Stream3_IRQHandler + .thumb_set DMA2_Stream3_IRQHandler,Default_Handler + + .weak DMA2_Stream4_IRQHandler + .thumb_set DMA2_Stream4_IRQHandler,Default_Handler + + .weak OTG_FS_IRQHandler + .thumb_set OTG_FS_IRQHandler,Default_Handler + + .weak DMA2_Stream5_IRQHandler + .thumb_set DMA2_Stream5_IRQHandler,Default_Handler + + .weak DMA2_Stream6_IRQHandler + .thumb_set DMA2_Stream6_IRQHandler,Default_Handler + + .weak DMA2_Stream7_IRQHandler + .thumb_set DMA2_Stream7_IRQHandler,Default_Handler + + .weak USART6_IRQHandler + .thumb_set USART6_IRQHandler,Default_Handler + + .weak I2C3_EV_IRQHandler + .thumb_set I2C3_EV_IRQHandler,Default_Handler + + .weak I2C3_ER_IRQHandler + .thumb_set I2C3_ER_IRQHandler,Default_Handler + + .weak OTG_HS_EP1_OUT_IRQHandler + .thumb_set OTG_HS_EP1_OUT_IRQHandler,Default_Handler + + .weak OTG_HS_EP1_IN_IRQHandler + .thumb_set OTG_HS_EP1_IN_IRQHandler,Default_Handler + + .weak OTG_HS_WKUP_IRQHandler + .thumb_set OTG_HS_WKUP_IRQHandler,Default_Handler + + .weak OTG_HS_IRQHandler + .thumb_set OTG_HS_IRQHandler,Default_Handler + + .weak RNG_IRQHandler + .thumb_set RNG_IRQHandler,Default_Handler + + .weak FPU_IRQHandler + .thumb_set FPU_IRQHandler,Default_Handler + + .weak UART7_IRQHandler + .thumb_set UART7_IRQHandler,Default_Handler + + .weak UART8_IRQHandler + .thumb_set UART8_IRQHandler,Default_Handler + + .weak SPI4_IRQHandler + .thumb_set SPI4_IRQHandler,Default_Handler + + .weak SPI5_IRQHandler + .thumb_set SPI5_IRQHandler,Default_Handler + + .weak SAI1_IRQHandler + .thumb_set SAI1_IRQHandler,Default_Handler + + .weak SAI2_IRQHandler + .thumb_set SAI2_IRQHandler,Default_Handler + + .weak QUADSPI_IRQHandler + .thumb_set QUADSPI_IRQHandler,Default_Handler + + .weak LPTIM1_IRQHandler + .thumb_set LPTIM1_IRQHandler,Default_Handler + + .weak SDMMC2_IRQHandler + .thumb_set SDMMC2_IRQHandler,Default_Handler + + diff --git a/extra/stm_exp_pack/Drivers/CMSIS/Device/ST/STM32F7xx/Source/Templates/gcc/startup_stm32f730xx.s b/extra/stm_exp_pack/Drivers/CMSIS/Device/ST/STM32F7xx/Source/Templates/gcc/startup_stm32f730xx.s new file mode 100644 index 00000000..002b13c0 --- /dev/null +++ b/extra/stm_exp_pack/Drivers/CMSIS/Device/ST/STM32F7xx/Source/Templates/gcc/startup_stm32f730xx.s @@ -0,0 +1,538 @@ +/** + ****************************************************************************** + * @file startup_stm32f730xx.s + * @author MCD Application Team + * @brief STM32F730xx Devices vector table for GCC based toolchain. + * This module performs: + * - Set the initial SP + * - Set the initial PC == Reset_Handler, + * - Set the vector table entries with the exceptions ISR address + * - Branches to main in the C library (which eventually + * calls main()). + * After Reset the Cortex-M7 processor is in Thread mode, + * priority is Privileged, and the Stack is set to Main. + ****************************************************************************** + * @attention + * + * Copyright (c) 2016 STMicroelectronics. + * All rights reserved. + * + * This software is licensed under terms that can be found in the LICENSE file + * in the root directory of this software component. + * If no LICENSE file comes with this software, it is provided AS-IS. + * + ****************************************************************************** + */ + + .syntax unified + .cpu cortex-m7 + .fpu softvfp + .thumb + +.global g_pfnVectors +.global Default_Handler + +/* start address for the initialization values of the .data section. +defined in linker script */ +.word _sidata +/* start address for the .data section. defined in linker script */ +.word _sdata +/* end address for the .data section. defined in linker script */ +.word _edata +/* start address for the .bss section. defined in linker script */ +.word _sbss +/* end address for the .bss section. defined in linker script */ +.word _ebss +/* stack used for SystemInit_ExtMemCtl; always internal RAM used */ + +/** + * @brief This is the code that gets called when the processor first + * starts execution following a reset event. Only the absolutely + * necessary set is performed, after which the application + * supplied main() routine is called. + * @param None + * @retval : None +*/ + + .section .text.Reset_Handler + .weak Reset_Handler + .type Reset_Handler, %function +Reset_Handler: + ldr sp, =_estack /* set stack pointer */ + +/* Copy the data segment initializers from flash to SRAM */ + ldr r0, =_sdata + ldr r1, =_edata + ldr r2, =_sidata + movs r3, #0 + b LoopCopyDataInit + +CopyDataInit: + ldr r4, [r2, r3] + str r4, [r0, r3] + adds r3, r3, #4 + +LoopCopyDataInit: + adds r4, r0, r3 + cmp r4, r1 + bcc CopyDataInit + +/* Zero fill the bss segment. */ + ldr r2, =_sbss + ldr r4, =_ebss + movs r3, #0 + b LoopFillZerobss + +FillZerobss: + str r3, [r2] + adds r2, r2, #4 + +LoopFillZerobss: + cmp r2, r4 + bcc FillZerobss + +/* Call the clock system intitialization function.*/ + bl SystemInit +/* Call static constructors */ + bl __libc_init_array +/* Call the application's entry point.*/ + bl main + bx lr +.size Reset_Handler, .-Reset_Handler + +/** + * @brief This is the code that gets called when the processor receives an + * unexpected interrupt. This simply enters an infinite loop, preserving + * the system state for examination by a debugger. + * @param None + * @retval None +*/ + .section .text.Default_Handler,"ax",%progbits +Default_Handler: +Infinite_Loop: + b Infinite_Loop + .size Default_Handler, .-Default_Handler +/****************************************************************************** +* +* The minimal vector table for a Cortex M7. Note that the proper constructs +* must be placed on this to ensure that it ends up at physical address +* 0x0000.0000. +* +*******************************************************************************/ + .section .isr_vector,"a",%progbits + .type g_pfnVectors, %object + .size g_pfnVectors, .-g_pfnVectors + + +g_pfnVectors: + .word _estack + .word Reset_Handler + + .word NMI_Handler + .word HardFault_Handler + .word MemManage_Handler + .word BusFault_Handler + .word UsageFault_Handler + .word 0 + .word 0 + .word 0 + .word 0 + .word SVC_Handler + .word DebugMon_Handler + .word 0 + .word PendSV_Handler + .word SysTick_Handler + + /* External Interrupts */ + .word WWDG_IRQHandler /* Window WatchDog */ + .word PVD_IRQHandler /* PVD through EXTI Line detection */ + .word TAMP_STAMP_IRQHandler /* Tamper and TimeStamps through the EXTI line */ + .word RTC_WKUP_IRQHandler /* RTC Wakeup through the EXTI line */ + .word FLASH_IRQHandler /* FLASH */ + .word RCC_IRQHandler /* RCC */ + .word EXTI0_IRQHandler /* EXTI Line0 */ + .word EXTI1_IRQHandler /* EXTI Line1 */ + .word EXTI2_IRQHandler /* EXTI Line2 */ + .word EXTI3_IRQHandler /* EXTI Line3 */ + .word EXTI4_IRQHandler /* EXTI Line4 */ + .word DMA1_Stream0_IRQHandler /* DMA1 Stream 0 */ + .word DMA1_Stream1_IRQHandler /* DMA1 Stream 1 */ + .word DMA1_Stream2_IRQHandler /* DMA1 Stream 2 */ + .word DMA1_Stream3_IRQHandler /* DMA1 Stream 3 */ + .word DMA1_Stream4_IRQHandler /* DMA1 Stream 4 */ + .word DMA1_Stream5_IRQHandler /* DMA1 Stream 5 */ + .word DMA1_Stream6_IRQHandler /* DMA1 Stream 6 */ + .word ADC_IRQHandler /* ADC1, ADC2 and ADC3s */ + .word CAN1_TX_IRQHandler /* CAN1 TX */ + .word CAN1_RX0_IRQHandler /* CAN1 RX0 */ + .word CAN1_RX1_IRQHandler /* CAN1 RX1 */ + .word CAN1_SCE_IRQHandler /* CAN1 SCE */ + .word EXTI9_5_IRQHandler /* External Line[9:5]s */ + .word TIM1_BRK_TIM9_IRQHandler /* TIM1 Break and TIM9 */ + .word TIM1_UP_TIM10_IRQHandler /* TIM1 Update and TIM10 */ + .word TIM1_TRG_COM_TIM11_IRQHandler /* TIM1 Trigger and Commutation and TIM11 */ + .word TIM1_CC_IRQHandler /* TIM1 Capture Compare */ + .word TIM2_IRQHandler /* TIM2 */ + .word TIM3_IRQHandler /* TIM3 */ + .word TIM4_IRQHandler /* TIM4 */ + .word I2C1_EV_IRQHandler /* I2C1 Event */ + .word I2C1_ER_IRQHandler /* I2C1 Error */ + .word I2C2_EV_IRQHandler /* I2C2 Event */ + .word I2C2_ER_IRQHandler /* I2C2 Error */ + .word SPI1_IRQHandler /* SPI1 */ + .word SPI2_IRQHandler /* SPI2 */ + .word USART1_IRQHandler /* USART1 */ + .word USART2_IRQHandler /* USART2 */ + .word USART3_IRQHandler /* USART3 */ + .word EXTI15_10_IRQHandler /* External Line[15:10]s */ + .word RTC_Alarm_IRQHandler /* RTC Alarm (A and B) through EXTI Line */ + .word OTG_FS_WKUP_IRQHandler /* USB OTG FS Wakeup through EXTI line */ + .word TIM8_BRK_TIM12_IRQHandler /* TIM8 Break and TIM12 */ + .word TIM8_UP_TIM13_IRQHandler /* TIM8 Update and TIM13 */ + .word TIM8_TRG_COM_TIM14_IRQHandler /* TIM8 Trigger and Commutation and TIM14 */ + .word TIM8_CC_IRQHandler /* TIM8 Capture Compare */ + .word DMA1_Stream7_IRQHandler /* DMA1 Stream7 */ + .word FMC_IRQHandler /* FMC */ + .word SDMMC1_IRQHandler /* SDMMC1 */ + .word TIM5_IRQHandler /* TIM5 */ + .word SPI3_IRQHandler /* SPI3 */ + .word UART4_IRQHandler /* UART4 */ + .word UART5_IRQHandler /* UART5 */ + .word TIM6_DAC_IRQHandler /* TIM6 and DAC1&2 underrun errors */ + .word TIM7_IRQHandler /* TIM7 */ + .word DMA2_Stream0_IRQHandler /* DMA2 Stream 0 */ + .word DMA2_Stream1_IRQHandler /* DMA2 Stream 1 */ + .word DMA2_Stream2_IRQHandler /* DMA2 Stream 2 */ + .word DMA2_Stream3_IRQHandler /* DMA2 Stream 3 */ + .word DMA2_Stream4_IRQHandler /* DMA2 Stream 4 */ + .word 0 /* Reserved */ + .word 0 /* Reserved */ + .word 0 /* Reserved */ + .word 0 /* Reserved */ + .word 0 /* Reserved */ + .word 0 /* Reserved */ + .word OTG_FS_IRQHandler /* USB OTG FS */ + .word DMA2_Stream5_IRQHandler /* DMA2 Stream 5 */ + .word DMA2_Stream6_IRQHandler /* DMA2 Stream 6 */ + .word DMA2_Stream7_IRQHandler /* DMA2 Stream 7 */ + .word USART6_IRQHandler /* USART6 */ + .word I2C3_EV_IRQHandler /* I2C3 event */ + .word I2C3_ER_IRQHandler /* I2C3 error */ + .word OTG_HS_EP1_OUT_IRQHandler /* USB OTG HS End Point 1 Out */ + .word OTG_HS_EP1_IN_IRQHandler /* USB OTG HS End Point 1 In */ + .word OTG_HS_WKUP_IRQHandler /* USB OTG HS Wakeup through EXTI */ + .word OTG_HS_IRQHandler /* USB OTG HS */ + .word 0 /* Reserved */ + .word AES_IRQHandler /* AES */ + .word RNG_IRQHandler /* RNG */ + .word FPU_IRQHandler /* FPU */ + .word UART7_IRQHandler /* UART7 */ + .word UART8_IRQHandler /* UART8 */ + .word SPI4_IRQHandler /* SPI4 */ + .word SPI5_IRQHandler /* SPI5 */ + .word 0 /* Reserved */ + .word SAI1_IRQHandler /* SAI1 */ + .word 0 /* Reserved */ + .word 0 /* Reserved */ + .word 0 /* Reserved */ + .word SAI2_IRQHandler /* SAI2 */ + .word QUADSPI_IRQHandler /* QUADSPI */ + .word LPTIM1_IRQHandler /* LPTIM1 */ + .word 0 /* Reserved */ + .word 0 /* Reserved */ + .word 0 /* Reserved */ + .word 0 /* Reserved */ + .word 0 /* Reserved */ + .word 0 /* Reserved */ + .word 0 /* Reserved */ + .word 0 /* Reserved */ + .word 0 /* Reserved */ + .word SDMMC2_IRQHandler /* SDMMC2 */ + +/******************************************************************************* +* +* Provide weak aliases for each Exception handler to the Default_Handler. +* As they are weak aliases, any function with the same name will override +* this definition. +* +*******************************************************************************/ + .weak NMI_Handler + .thumb_set NMI_Handler,Default_Handler + + .weak HardFault_Handler + .thumb_set HardFault_Handler,Default_Handler + + .weak MemManage_Handler + .thumb_set MemManage_Handler,Default_Handler + + .weak BusFault_Handler + .thumb_set BusFault_Handler,Default_Handler + + .weak UsageFault_Handler + .thumb_set UsageFault_Handler,Default_Handler + + .weak SVC_Handler + .thumb_set SVC_Handler,Default_Handler + + .weak DebugMon_Handler + .thumb_set DebugMon_Handler,Default_Handler + + .weak PendSV_Handler + .thumb_set PendSV_Handler,Default_Handler + + .weak SysTick_Handler + .thumb_set SysTick_Handler,Default_Handler + + .weak WWDG_IRQHandler + .thumb_set WWDG_IRQHandler,Default_Handler + + .weak PVD_IRQHandler + .thumb_set PVD_IRQHandler,Default_Handler + + .weak TAMP_STAMP_IRQHandler + .thumb_set TAMP_STAMP_IRQHandler,Default_Handler + + .weak RTC_WKUP_IRQHandler + .thumb_set RTC_WKUP_IRQHandler,Default_Handler + + .weak FLASH_IRQHandler + .thumb_set FLASH_IRQHandler,Default_Handler + + .weak RCC_IRQHandler + .thumb_set RCC_IRQHandler,Default_Handler + + .weak EXTI0_IRQHandler + .thumb_set EXTI0_IRQHandler,Default_Handler + + .weak EXTI1_IRQHandler + .thumb_set EXTI1_IRQHandler,Default_Handler + + .weak EXTI2_IRQHandler + .thumb_set EXTI2_IRQHandler,Default_Handler + + .weak EXTI3_IRQHandler + .thumb_set EXTI3_IRQHandler,Default_Handler + + .weak EXTI4_IRQHandler + .thumb_set EXTI4_IRQHandler,Default_Handler + + .weak DMA1_Stream0_IRQHandler + .thumb_set DMA1_Stream0_IRQHandler,Default_Handler + + .weak DMA1_Stream1_IRQHandler + .thumb_set DMA1_Stream1_IRQHandler,Default_Handler + + .weak DMA1_Stream2_IRQHandler + .thumb_set DMA1_Stream2_IRQHandler,Default_Handler + + .weak DMA1_Stream3_IRQHandler + .thumb_set DMA1_Stream3_IRQHandler,Default_Handler + + .weak DMA1_Stream4_IRQHandler + .thumb_set DMA1_Stream4_IRQHandler,Default_Handler + + .weak DMA1_Stream5_IRQHandler + .thumb_set DMA1_Stream5_IRQHandler,Default_Handler + + .weak DMA1_Stream6_IRQHandler + .thumb_set DMA1_Stream6_IRQHandler,Default_Handler + + .weak ADC_IRQHandler + .thumb_set ADC_IRQHandler,Default_Handler + + .weak CAN1_TX_IRQHandler + .thumb_set CAN1_TX_IRQHandler,Default_Handler + + .weak CAN1_RX0_IRQHandler + .thumb_set CAN1_RX0_IRQHandler,Default_Handler + + .weak CAN1_RX1_IRQHandler + .thumb_set CAN1_RX1_IRQHandler,Default_Handler + + .weak CAN1_SCE_IRQHandler + .thumb_set CAN1_SCE_IRQHandler,Default_Handler + + .weak EXTI9_5_IRQHandler + .thumb_set EXTI9_5_IRQHandler,Default_Handler + + .weak TIM1_BRK_TIM9_IRQHandler + .thumb_set TIM1_BRK_TIM9_IRQHandler,Default_Handler + + .weak TIM1_UP_TIM10_IRQHandler + .thumb_set TIM1_UP_TIM10_IRQHandler,Default_Handler + + .weak TIM1_TRG_COM_TIM11_IRQHandler + .thumb_set TIM1_TRG_COM_TIM11_IRQHandler,Default_Handler + + .weak TIM1_CC_IRQHandler + .thumb_set TIM1_CC_IRQHandler,Default_Handler + + .weak TIM2_IRQHandler + .thumb_set TIM2_IRQHandler,Default_Handler + + .weak TIM3_IRQHandler + .thumb_set TIM3_IRQHandler,Default_Handler + + .weak TIM4_IRQHandler + .thumb_set TIM4_IRQHandler,Default_Handler + + .weak I2C1_EV_IRQHandler + .thumb_set I2C1_EV_IRQHandler,Default_Handler + + .weak I2C1_ER_IRQHandler + .thumb_set I2C1_ER_IRQHandler,Default_Handler + + .weak I2C2_EV_IRQHandler + .thumb_set I2C2_EV_IRQHandler,Default_Handler + + .weak I2C2_ER_IRQHandler + .thumb_set I2C2_ER_IRQHandler,Default_Handler + + .weak SPI1_IRQHandler + .thumb_set SPI1_IRQHandler,Default_Handler + + .weak SPI2_IRQHandler + .thumb_set SPI2_IRQHandler,Default_Handler + + .weak USART1_IRQHandler + .thumb_set USART1_IRQHandler,Default_Handler + + .weak USART2_IRQHandler + .thumb_set USART2_IRQHandler,Default_Handler + + .weak USART3_IRQHandler + .thumb_set USART3_IRQHandler,Default_Handler + + .weak EXTI15_10_IRQHandler + .thumb_set EXTI15_10_IRQHandler,Default_Handler + + .weak RTC_Alarm_IRQHandler + .thumb_set RTC_Alarm_IRQHandler,Default_Handler + + .weak OTG_FS_WKUP_IRQHandler + .thumb_set OTG_FS_WKUP_IRQHandler,Default_Handler + + .weak TIM8_BRK_TIM12_IRQHandler + .thumb_set TIM8_BRK_TIM12_IRQHandler,Default_Handler + + .weak TIM8_UP_TIM13_IRQHandler + .thumb_set TIM8_UP_TIM13_IRQHandler,Default_Handler + + .weak TIM8_TRG_COM_TIM14_IRQHandler + .thumb_set TIM8_TRG_COM_TIM14_IRQHandler,Default_Handler + + .weak TIM8_CC_IRQHandler + .thumb_set TIM8_CC_IRQHandler,Default_Handler + + .weak DMA1_Stream7_IRQHandler + .thumb_set DMA1_Stream7_IRQHandler,Default_Handler + + .weak FMC_IRQHandler + .thumb_set FMC_IRQHandler,Default_Handler + + .weak SDMMC1_IRQHandler + .thumb_set SDMMC1_IRQHandler,Default_Handler + + .weak TIM5_IRQHandler + .thumb_set TIM5_IRQHandler,Default_Handler + + .weak SPI3_IRQHandler + .thumb_set SPI3_IRQHandler,Default_Handler + + .weak UART4_IRQHandler + .thumb_set UART4_IRQHandler,Default_Handler + + .weak UART5_IRQHandler + .thumb_set UART5_IRQHandler,Default_Handler + + .weak TIM6_DAC_IRQHandler + .thumb_set TIM6_DAC_IRQHandler,Default_Handler + + .weak TIM7_IRQHandler + .thumb_set TIM7_IRQHandler,Default_Handler + + .weak DMA2_Stream0_IRQHandler + .thumb_set DMA2_Stream0_IRQHandler,Default_Handler + + .weak DMA2_Stream1_IRQHandler + .thumb_set DMA2_Stream1_IRQHandler,Default_Handler + + .weak DMA2_Stream2_IRQHandler + .thumb_set DMA2_Stream2_IRQHandler,Default_Handler + + .weak DMA2_Stream3_IRQHandler + .thumb_set DMA2_Stream3_IRQHandler,Default_Handler + + .weak DMA2_Stream4_IRQHandler + .thumb_set DMA2_Stream4_IRQHandler,Default_Handler + + .weak OTG_FS_IRQHandler + .thumb_set OTG_FS_IRQHandler,Default_Handler + + .weak DMA2_Stream5_IRQHandler + .thumb_set DMA2_Stream5_IRQHandler,Default_Handler + + .weak DMA2_Stream6_IRQHandler + .thumb_set DMA2_Stream6_IRQHandler,Default_Handler + + .weak DMA2_Stream7_IRQHandler + .thumb_set DMA2_Stream7_IRQHandler,Default_Handler + + .weak USART6_IRQHandler + .thumb_set USART6_IRQHandler,Default_Handler + + .weak I2C3_EV_IRQHandler + .thumb_set I2C3_EV_IRQHandler,Default_Handler + + .weak I2C3_ER_IRQHandler + .thumb_set I2C3_ER_IRQHandler,Default_Handler + + .weak OTG_HS_EP1_OUT_IRQHandler + .thumb_set OTG_HS_EP1_OUT_IRQHandler,Default_Handler + + .weak OTG_HS_EP1_IN_IRQHandler + .thumb_set OTG_HS_EP1_IN_IRQHandler,Default_Handler + + .weak OTG_HS_WKUP_IRQHandler + .thumb_set OTG_HS_WKUP_IRQHandler,Default_Handler + + .weak OTG_HS_IRQHandler + .thumb_set OTG_HS_IRQHandler,Default_Handler + + .weak AES_IRQHandler + .thumb_set AES_IRQHandler,Default_Handler + + .weak RNG_IRQHandler + .thumb_set RNG_IRQHandler,Default_Handler + + .weak FPU_IRQHandler + .thumb_set FPU_IRQHandler,Default_Handler + + .weak UART7_IRQHandler + .thumb_set UART7_IRQHandler,Default_Handler + + .weak UART8_IRQHandler + .thumb_set UART8_IRQHandler,Default_Handler + + .weak SPI4_IRQHandler + .thumb_set SPI4_IRQHandler,Default_Handler + + .weak SPI5_IRQHandler + .thumb_set SPI5_IRQHandler,Default_Handler + + .weak SAI1_IRQHandler + .thumb_set SAI1_IRQHandler,Default_Handler + + .weak SAI2_IRQHandler + .thumb_set SAI2_IRQHandler,Default_Handler + + .weak QUADSPI_IRQHandler + .thumb_set QUADSPI_IRQHandler,Default_Handler + + .weak LPTIM1_IRQHandler + .thumb_set LPTIM1_IRQHandler,Default_Handler + + .weak SDMMC2_IRQHandler + .thumb_set SDMMC2_IRQHandler,Default_Handler + + diff --git a/extra/stm_exp_pack/Drivers/CMSIS/Device/ST/STM32F7xx/Source/Templates/gcc/startup_stm32f732xx.s b/extra/stm_exp_pack/Drivers/CMSIS/Device/ST/STM32F7xx/Source/Templates/gcc/startup_stm32f732xx.s new file mode 100644 index 00000000..b79bb71e --- /dev/null +++ b/extra/stm_exp_pack/Drivers/CMSIS/Device/ST/STM32F7xx/Source/Templates/gcc/startup_stm32f732xx.s @@ -0,0 +1,538 @@ +/** + ****************************************************************************** + * @file startup_stm32f732xx.s + * @author MCD Application Team + * @brief STM32F732xx Devices vector table for GCC based toolchain. + * This module performs: + * - Set the initial SP + * - Set the initial PC == Reset_Handler, + * - Set the vector table entries with the exceptions ISR address + * - Branches to main in the C library (which eventually + * calls main()). + * After Reset the Cortex-M7 processor is in Thread mode, + * priority is Privileged, and the Stack is set to Main. + ****************************************************************************** + * @attention + * + * Copyright (c) 2016 STMicroelectronics. + * All rights reserved. + * + * This software is licensed under terms that can be found in the LICENSE file + * in the root directory of this software component. + * If no LICENSE file comes with this software, it is provided AS-IS. + * + ****************************************************************************** + */ + + .syntax unified + .cpu cortex-m7 + .fpu softvfp + .thumb + +.global g_pfnVectors +.global Default_Handler + +/* start address for the initialization values of the .data section. +defined in linker script */ +.word _sidata +/* start address for the .data section. defined in linker script */ +.word _sdata +/* end address for the .data section. defined in linker script */ +.word _edata +/* start address for the .bss section. defined in linker script */ +.word _sbss +/* end address for the .bss section. defined in linker script */ +.word _ebss +/* stack used for SystemInit_ExtMemCtl; always internal RAM used */ + +/** + * @brief This is the code that gets called when the processor first + * starts execution following a reset event. Only the absolutely + * necessary set is performed, after which the application + * supplied main() routine is called. + * @param None + * @retval : None +*/ + + .section .text.Reset_Handler + .weak Reset_Handler + .type Reset_Handler, %function +Reset_Handler: + ldr sp, =_estack /* set stack pointer */ + +/* Copy the data segment initializers from flash to SRAM */ + ldr r0, =_sdata + ldr r1, =_edata + ldr r2, =_sidata + movs r3, #0 + b LoopCopyDataInit + +CopyDataInit: + ldr r4, [r2, r3] + str r4, [r0, r3] + adds r3, r3, #4 + +LoopCopyDataInit: + adds r4, r0, r3 + cmp r4, r1 + bcc CopyDataInit + +/* Zero fill the bss segment. */ + ldr r2, =_sbss + ldr r4, =_ebss + movs r3, #0 + b LoopFillZerobss + +FillZerobss: + str r3, [r2] + adds r2, r2, #4 + +LoopFillZerobss: + cmp r2, r4 + bcc FillZerobss + +/* Call the clock system intitialization function.*/ + bl SystemInit +/* Call static constructors */ + bl __libc_init_array +/* Call the application's entry point.*/ + bl main + bx lr +.size Reset_Handler, .-Reset_Handler + +/** + * @brief This is the code that gets called when the processor receives an + * unexpected interrupt. This simply enters an infinite loop, preserving + * the system state for examination by a debugger. + * @param None + * @retval None +*/ + .section .text.Default_Handler,"ax",%progbits +Default_Handler: +Infinite_Loop: + b Infinite_Loop + .size Default_Handler, .-Default_Handler +/****************************************************************************** +* +* The minimal vector table for a Cortex M7. Note that the proper constructs +* must be placed on this to ensure that it ends up at physical address +* 0x0000.0000. +* +*******************************************************************************/ + .section .isr_vector,"a",%progbits + .type g_pfnVectors, %object + .size g_pfnVectors, .-g_pfnVectors + + +g_pfnVectors: + .word _estack + .word Reset_Handler + + .word NMI_Handler + .word HardFault_Handler + .word MemManage_Handler + .word BusFault_Handler + .word UsageFault_Handler + .word 0 + .word 0 + .word 0 + .word 0 + .word SVC_Handler + .word DebugMon_Handler + .word 0 + .word PendSV_Handler + .word SysTick_Handler + + /* External Interrupts */ + .word WWDG_IRQHandler /* Window WatchDog */ + .word PVD_IRQHandler /* PVD through EXTI Line detection */ + .word TAMP_STAMP_IRQHandler /* Tamper and TimeStamps through the EXTI line */ + .word RTC_WKUP_IRQHandler /* RTC Wakeup through the EXTI line */ + .word FLASH_IRQHandler /* FLASH */ + .word RCC_IRQHandler /* RCC */ + .word EXTI0_IRQHandler /* EXTI Line0 */ + .word EXTI1_IRQHandler /* EXTI Line1 */ + .word EXTI2_IRQHandler /* EXTI Line2 */ + .word EXTI3_IRQHandler /* EXTI Line3 */ + .word EXTI4_IRQHandler /* EXTI Line4 */ + .word DMA1_Stream0_IRQHandler /* DMA1 Stream 0 */ + .word DMA1_Stream1_IRQHandler /* DMA1 Stream 1 */ + .word DMA1_Stream2_IRQHandler /* DMA1 Stream 2 */ + .word DMA1_Stream3_IRQHandler /* DMA1 Stream 3 */ + .word DMA1_Stream4_IRQHandler /* DMA1 Stream 4 */ + .word DMA1_Stream5_IRQHandler /* DMA1 Stream 5 */ + .word DMA1_Stream6_IRQHandler /* DMA1 Stream 6 */ + .word ADC_IRQHandler /* ADC1, ADC2 and ADC3s */ + .word CAN1_TX_IRQHandler /* CAN1 TX */ + .word CAN1_RX0_IRQHandler /* CAN1 RX0 */ + .word CAN1_RX1_IRQHandler /* CAN1 RX1 */ + .word CAN1_SCE_IRQHandler /* CAN1 SCE */ + .word EXTI9_5_IRQHandler /* External Line[9:5]s */ + .word TIM1_BRK_TIM9_IRQHandler /* TIM1 Break and TIM9 */ + .word TIM1_UP_TIM10_IRQHandler /* TIM1 Update and TIM10 */ + .word TIM1_TRG_COM_TIM11_IRQHandler /* TIM1 Trigger and Commutation and TIM11 */ + .word TIM1_CC_IRQHandler /* TIM1 Capture Compare */ + .word TIM2_IRQHandler /* TIM2 */ + .word TIM3_IRQHandler /* TIM3 */ + .word TIM4_IRQHandler /* TIM4 */ + .word I2C1_EV_IRQHandler /* I2C1 Event */ + .word I2C1_ER_IRQHandler /* I2C1 Error */ + .word I2C2_EV_IRQHandler /* I2C2 Event */ + .word I2C2_ER_IRQHandler /* I2C2 Error */ + .word SPI1_IRQHandler /* SPI1 */ + .word SPI2_IRQHandler /* SPI2 */ + .word USART1_IRQHandler /* USART1 */ + .word USART2_IRQHandler /* USART2 */ + .word USART3_IRQHandler /* USART3 */ + .word EXTI15_10_IRQHandler /* External Line[15:10]s */ + .word RTC_Alarm_IRQHandler /* RTC Alarm (A and B) through EXTI Line */ + .word OTG_FS_WKUP_IRQHandler /* USB OTG FS Wakeup through EXTI line */ + .word TIM8_BRK_TIM12_IRQHandler /* TIM8 Break and TIM12 */ + .word TIM8_UP_TIM13_IRQHandler /* TIM8 Update and TIM13 */ + .word TIM8_TRG_COM_TIM14_IRQHandler /* TIM8 Trigger and Commutation and TIM14 */ + .word TIM8_CC_IRQHandler /* TIM8 Capture Compare */ + .word DMA1_Stream7_IRQHandler /* DMA1 Stream7 */ + .word FMC_IRQHandler /* FMC */ + .word SDMMC1_IRQHandler /* SDMMC1 */ + .word TIM5_IRQHandler /* TIM5 */ + .word SPI3_IRQHandler /* SPI3 */ + .word UART4_IRQHandler /* UART4 */ + .word UART5_IRQHandler /* UART5 */ + .word TIM6_DAC_IRQHandler /* TIM6 and DAC1&2 underrun errors */ + .word TIM7_IRQHandler /* TIM7 */ + .word DMA2_Stream0_IRQHandler /* DMA2 Stream 0 */ + .word DMA2_Stream1_IRQHandler /* DMA2 Stream 1 */ + .word DMA2_Stream2_IRQHandler /* DMA2 Stream 2 */ + .word DMA2_Stream3_IRQHandler /* DMA2 Stream 3 */ + .word DMA2_Stream4_IRQHandler /* DMA2 Stream 4 */ + .word 0 /* Reserved */ + .word 0 /* Reserved */ + .word 0 /* Reserved */ + .word 0 /* Reserved */ + .word 0 /* Reserved */ + .word 0 /* Reserved */ + .word OTG_FS_IRQHandler /* USB OTG FS */ + .word DMA2_Stream5_IRQHandler /* DMA2 Stream 5 */ + .word DMA2_Stream6_IRQHandler /* DMA2 Stream 6 */ + .word DMA2_Stream7_IRQHandler /* DMA2 Stream 7 */ + .word USART6_IRQHandler /* USART6 */ + .word I2C3_EV_IRQHandler /* I2C3 event */ + .word I2C3_ER_IRQHandler /* I2C3 error */ + .word OTG_HS_EP1_OUT_IRQHandler /* USB OTG HS End Point 1 Out */ + .word OTG_HS_EP1_IN_IRQHandler /* USB OTG HS End Point 1 In */ + .word OTG_HS_WKUP_IRQHandler /* USB OTG HS Wakeup through EXTI */ + .word OTG_HS_IRQHandler /* USB OTG HS */ + .word 0 /* Reserved */ + .word AES_IRQHandler /* AES */ + .word RNG_IRQHandler /* RNG */ + .word FPU_IRQHandler /* FPU */ + .word UART7_IRQHandler /* UART7 */ + .word UART8_IRQHandler /* UART8 */ + .word SPI4_IRQHandler /* SPI4 */ + .word SPI5_IRQHandler /* SPI5 */ + .word 0 /* Reserved */ + .word SAI1_IRQHandler /* SAI1 */ + .word 0 /* Reserved */ + .word 0 /* Reserved */ + .word 0 /* Reserved */ + .word SAI2_IRQHandler /* SAI2 */ + .word QUADSPI_IRQHandler /* QUADSPI */ + .word LPTIM1_IRQHandler /* LPTIM1 */ + .word 0 /* Reserved */ + .word 0 /* Reserved */ + .word 0 /* Reserved */ + .word 0 /* Reserved */ + .word 0 /* Reserved */ + .word 0 /* Reserved */ + .word 0 /* Reserved */ + .word 0 /* Reserved */ + .word 0 /* Reserved */ + .word SDMMC2_IRQHandler /* SDMMC2 */ + +/******************************************************************************* +* +* Provide weak aliases for each Exception handler to the Default_Handler. +* As they are weak aliases, any function with the same name will override +* this definition. +* +*******************************************************************************/ + .weak NMI_Handler + .thumb_set NMI_Handler,Default_Handler + + .weak HardFault_Handler + .thumb_set HardFault_Handler,Default_Handler + + .weak MemManage_Handler + .thumb_set MemManage_Handler,Default_Handler + + .weak BusFault_Handler + .thumb_set BusFault_Handler,Default_Handler + + .weak UsageFault_Handler + .thumb_set UsageFault_Handler,Default_Handler + + .weak SVC_Handler + .thumb_set SVC_Handler,Default_Handler + + .weak DebugMon_Handler + .thumb_set DebugMon_Handler,Default_Handler + + .weak PendSV_Handler + .thumb_set PendSV_Handler,Default_Handler + + .weak SysTick_Handler + .thumb_set SysTick_Handler,Default_Handler + + .weak WWDG_IRQHandler + .thumb_set WWDG_IRQHandler,Default_Handler + + .weak PVD_IRQHandler + .thumb_set PVD_IRQHandler,Default_Handler + + .weak TAMP_STAMP_IRQHandler + .thumb_set TAMP_STAMP_IRQHandler,Default_Handler + + .weak RTC_WKUP_IRQHandler + .thumb_set RTC_WKUP_IRQHandler,Default_Handler + + .weak FLASH_IRQHandler + .thumb_set FLASH_IRQHandler,Default_Handler + + .weak RCC_IRQHandler + .thumb_set RCC_IRQHandler,Default_Handler + + .weak EXTI0_IRQHandler + .thumb_set EXTI0_IRQHandler,Default_Handler + + .weak EXTI1_IRQHandler + .thumb_set EXTI1_IRQHandler,Default_Handler + + .weak EXTI2_IRQHandler + .thumb_set EXTI2_IRQHandler,Default_Handler + + .weak EXTI3_IRQHandler + .thumb_set EXTI3_IRQHandler,Default_Handler + + .weak EXTI4_IRQHandler + .thumb_set EXTI4_IRQHandler,Default_Handler + + .weak DMA1_Stream0_IRQHandler + .thumb_set DMA1_Stream0_IRQHandler,Default_Handler + + .weak DMA1_Stream1_IRQHandler + .thumb_set DMA1_Stream1_IRQHandler,Default_Handler + + .weak DMA1_Stream2_IRQHandler + .thumb_set DMA1_Stream2_IRQHandler,Default_Handler + + .weak DMA1_Stream3_IRQHandler + .thumb_set DMA1_Stream3_IRQHandler,Default_Handler + + .weak DMA1_Stream4_IRQHandler + .thumb_set DMA1_Stream4_IRQHandler,Default_Handler + + .weak DMA1_Stream5_IRQHandler + .thumb_set DMA1_Stream5_IRQHandler,Default_Handler + + .weak DMA1_Stream6_IRQHandler + .thumb_set DMA1_Stream6_IRQHandler,Default_Handler + + .weak ADC_IRQHandler + .thumb_set ADC_IRQHandler,Default_Handler + + .weak CAN1_TX_IRQHandler + .thumb_set CAN1_TX_IRQHandler,Default_Handler + + .weak CAN1_RX0_IRQHandler + .thumb_set CAN1_RX0_IRQHandler,Default_Handler + + .weak CAN1_RX1_IRQHandler + .thumb_set CAN1_RX1_IRQHandler,Default_Handler + + .weak CAN1_SCE_IRQHandler + .thumb_set CAN1_SCE_IRQHandler,Default_Handler + + .weak EXTI9_5_IRQHandler + .thumb_set EXTI9_5_IRQHandler,Default_Handler + + .weak TIM1_BRK_TIM9_IRQHandler + .thumb_set TIM1_BRK_TIM9_IRQHandler,Default_Handler + + .weak TIM1_UP_TIM10_IRQHandler + .thumb_set TIM1_UP_TIM10_IRQHandler,Default_Handler + + .weak TIM1_TRG_COM_TIM11_IRQHandler + .thumb_set TIM1_TRG_COM_TIM11_IRQHandler,Default_Handler + + .weak TIM1_CC_IRQHandler + .thumb_set TIM1_CC_IRQHandler,Default_Handler + + .weak TIM2_IRQHandler + .thumb_set TIM2_IRQHandler,Default_Handler + + .weak TIM3_IRQHandler + .thumb_set TIM3_IRQHandler,Default_Handler + + .weak TIM4_IRQHandler + .thumb_set TIM4_IRQHandler,Default_Handler + + .weak I2C1_EV_IRQHandler + .thumb_set I2C1_EV_IRQHandler,Default_Handler + + .weak I2C1_ER_IRQHandler + .thumb_set I2C1_ER_IRQHandler,Default_Handler + + .weak I2C2_EV_IRQHandler + .thumb_set I2C2_EV_IRQHandler,Default_Handler + + .weak I2C2_ER_IRQHandler + .thumb_set I2C2_ER_IRQHandler,Default_Handler + + .weak SPI1_IRQHandler + .thumb_set SPI1_IRQHandler,Default_Handler + + .weak SPI2_IRQHandler + .thumb_set SPI2_IRQHandler,Default_Handler + + .weak USART1_IRQHandler + .thumb_set USART1_IRQHandler,Default_Handler + + .weak USART2_IRQHandler + .thumb_set USART2_IRQHandler,Default_Handler + + .weak USART3_IRQHandler + .thumb_set USART3_IRQHandler,Default_Handler + + .weak EXTI15_10_IRQHandler + .thumb_set EXTI15_10_IRQHandler,Default_Handler + + .weak RTC_Alarm_IRQHandler + .thumb_set RTC_Alarm_IRQHandler,Default_Handler + + .weak OTG_FS_WKUP_IRQHandler + .thumb_set OTG_FS_WKUP_IRQHandler,Default_Handler + + .weak TIM8_BRK_TIM12_IRQHandler + .thumb_set TIM8_BRK_TIM12_IRQHandler,Default_Handler + + .weak TIM8_UP_TIM13_IRQHandler + .thumb_set TIM8_UP_TIM13_IRQHandler,Default_Handler + + .weak TIM8_TRG_COM_TIM14_IRQHandler + .thumb_set TIM8_TRG_COM_TIM14_IRQHandler,Default_Handler + + .weak TIM8_CC_IRQHandler + .thumb_set TIM8_CC_IRQHandler,Default_Handler + + .weak DMA1_Stream7_IRQHandler + .thumb_set DMA1_Stream7_IRQHandler,Default_Handler + + .weak FMC_IRQHandler + .thumb_set FMC_IRQHandler,Default_Handler + + .weak SDMMC1_IRQHandler + .thumb_set SDMMC1_IRQHandler,Default_Handler + + .weak TIM5_IRQHandler + .thumb_set TIM5_IRQHandler,Default_Handler + + .weak SPI3_IRQHandler + .thumb_set SPI3_IRQHandler,Default_Handler + + .weak UART4_IRQHandler + .thumb_set UART4_IRQHandler,Default_Handler + + .weak UART5_IRQHandler + .thumb_set UART5_IRQHandler,Default_Handler + + .weak TIM6_DAC_IRQHandler + .thumb_set TIM6_DAC_IRQHandler,Default_Handler + + .weak TIM7_IRQHandler + .thumb_set TIM7_IRQHandler,Default_Handler + + .weak DMA2_Stream0_IRQHandler + .thumb_set DMA2_Stream0_IRQHandler,Default_Handler + + .weak DMA2_Stream1_IRQHandler + .thumb_set DMA2_Stream1_IRQHandler,Default_Handler + + .weak DMA2_Stream2_IRQHandler + .thumb_set DMA2_Stream2_IRQHandler,Default_Handler + + .weak DMA2_Stream3_IRQHandler + .thumb_set DMA2_Stream3_IRQHandler,Default_Handler + + .weak DMA2_Stream4_IRQHandler + .thumb_set DMA2_Stream4_IRQHandler,Default_Handler + + .weak OTG_FS_IRQHandler + .thumb_set OTG_FS_IRQHandler,Default_Handler + + .weak DMA2_Stream5_IRQHandler + .thumb_set DMA2_Stream5_IRQHandler,Default_Handler + + .weak DMA2_Stream6_IRQHandler + .thumb_set DMA2_Stream6_IRQHandler,Default_Handler + + .weak DMA2_Stream7_IRQHandler + .thumb_set DMA2_Stream7_IRQHandler,Default_Handler + + .weak USART6_IRQHandler + .thumb_set USART6_IRQHandler,Default_Handler + + .weak I2C3_EV_IRQHandler + .thumb_set I2C3_EV_IRQHandler,Default_Handler + + .weak I2C3_ER_IRQHandler + .thumb_set I2C3_ER_IRQHandler,Default_Handler + + .weak OTG_HS_EP1_OUT_IRQHandler + .thumb_set OTG_HS_EP1_OUT_IRQHandler,Default_Handler + + .weak OTG_HS_EP1_IN_IRQHandler + .thumb_set OTG_HS_EP1_IN_IRQHandler,Default_Handler + + .weak OTG_HS_WKUP_IRQHandler + .thumb_set OTG_HS_WKUP_IRQHandler,Default_Handler + + .weak OTG_HS_IRQHandler + .thumb_set OTG_HS_IRQHandler,Default_Handler + + .weak AES_IRQHandler + .thumb_set AES_IRQHandler,Default_Handler + + .weak RNG_IRQHandler + .thumb_set RNG_IRQHandler,Default_Handler + + .weak FPU_IRQHandler + .thumb_set FPU_IRQHandler,Default_Handler + + .weak UART7_IRQHandler + .thumb_set UART7_IRQHandler,Default_Handler + + .weak UART8_IRQHandler + .thumb_set UART8_IRQHandler,Default_Handler + + .weak SPI4_IRQHandler + .thumb_set SPI4_IRQHandler,Default_Handler + + .weak SPI5_IRQHandler + .thumb_set SPI5_IRQHandler,Default_Handler + + .weak SAI1_IRQHandler + .thumb_set SAI1_IRQHandler,Default_Handler + + .weak SAI2_IRQHandler + .thumb_set SAI2_IRQHandler,Default_Handler + + .weak QUADSPI_IRQHandler + .thumb_set QUADSPI_IRQHandler,Default_Handler + + .weak LPTIM1_IRQHandler + .thumb_set LPTIM1_IRQHandler,Default_Handler + + .weak SDMMC2_IRQHandler + .thumb_set SDMMC2_IRQHandler,Default_Handler + + diff --git a/extra/stm_exp_pack/Drivers/CMSIS/Device/ST/STM32F7xx/Source/Templates/gcc/startup_stm32f733xx.s b/extra/stm_exp_pack/Drivers/CMSIS/Device/ST/STM32F7xx/Source/Templates/gcc/startup_stm32f733xx.s new file mode 100644 index 00000000..04dc6799 --- /dev/null +++ b/extra/stm_exp_pack/Drivers/CMSIS/Device/ST/STM32F7xx/Source/Templates/gcc/startup_stm32f733xx.s @@ -0,0 +1,538 @@ +/** + ****************************************************************************** + * @file startup_stm32f733xx.s + * @author MCD Application Team + * @brief STM32F733xx Devices vector table for GCC based toolchain. + * This module performs: + * - Set the initial SP + * - Set the initial PC == Reset_Handler, + * - Set the vector table entries with the exceptions ISR address + * - Branches to main in the C library (which eventually + * calls main()). + * After Reset the Cortex-M7 processor is in Thread mode, + * priority is Privileged, and the Stack is set to Main. + ****************************************************************************** + * @attention + * + * Copyright (c) 2016 STMicroelectronics. + * All rights reserved. + * + * This software is licensed under terms that can be found in the LICENSE file + * in the root directory of this software component. + * If no LICENSE file comes with this software, it is provided AS-IS. + * + ****************************************************************************** + */ + + .syntax unified + .cpu cortex-m7 + .fpu softvfp + .thumb + +.global g_pfnVectors +.global Default_Handler + +/* start address for the initialization values of the .data section. +defined in linker script */ +.word _sidata +/* start address for the .data section. defined in linker script */ +.word _sdata +/* end address for the .data section. defined in linker script */ +.word _edata +/* start address for the .bss section. defined in linker script */ +.word _sbss +/* end address for the .bss section. defined in linker script */ +.word _ebss +/* stack used for SystemInit_ExtMemCtl; always internal RAM used */ + +/** + * @brief This is the code that gets called when the processor first + * starts execution following a reset event. Only the absolutely + * necessary set is performed, after which the application + * supplied main() routine is called. + * @param None + * @retval : None +*/ + + .section .text.Reset_Handler + .weak Reset_Handler + .type Reset_Handler, %function +Reset_Handler: + ldr sp, =_estack /* set stack pointer */ + +/* Copy the data segment initializers from flash to SRAM */ + ldr r0, =_sdata + ldr r1, =_edata + ldr r2, =_sidata + movs r3, #0 + b LoopCopyDataInit + +CopyDataInit: + ldr r4, [r2, r3] + str r4, [r0, r3] + adds r3, r3, #4 + +LoopCopyDataInit: + adds r4, r0, r3 + cmp r4, r1 + bcc CopyDataInit + +/* Zero fill the bss segment. */ + ldr r2, =_sbss + ldr r4, =_ebss + movs r3, #0 + b LoopFillZerobss + +FillZerobss: + str r3, [r2] + adds r2, r2, #4 + +LoopFillZerobss: + cmp r2, r4 + bcc FillZerobss + +/* Call the clock system intitialization function.*/ + bl SystemInit +/* Call static constructors */ + bl __libc_init_array +/* Call the application's entry point.*/ + bl main + bx lr +.size Reset_Handler, .-Reset_Handler + +/** + * @brief This is the code that gets called when the processor receives an + * unexpected interrupt. This simply enters an infinite loop, preserving + * the system state for examination by a debugger. + * @param None + * @retval None +*/ + .section .text.Default_Handler,"ax",%progbits +Default_Handler: +Infinite_Loop: + b Infinite_Loop + .size Default_Handler, .-Default_Handler +/****************************************************************************** +* +* The minimal vector table for a Cortex M7. Note that the proper constructs +* must be placed on this to ensure that it ends up at physical address +* 0x0000.0000. +* +*******************************************************************************/ + .section .isr_vector,"a",%progbits + .type g_pfnVectors, %object + .size g_pfnVectors, .-g_pfnVectors + + +g_pfnVectors: + .word _estack + .word Reset_Handler + + .word NMI_Handler + .word HardFault_Handler + .word MemManage_Handler + .word BusFault_Handler + .word UsageFault_Handler + .word 0 + .word 0 + .word 0 + .word 0 + .word SVC_Handler + .word DebugMon_Handler + .word 0 + .word PendSV_Handler + .word SysTick_Handler + + /* External Interrupts */ + .word WWDG_IRQHandler /* Window WatchDog */ + .word PVD_IRQHandler /* PVD through EXTI Line detection */ + .word TAMP_STAMP_IRQHandler /* Tamper and TimeStamps through the EXTI line */ + .word RTC_WKUP_IRQHandler /* RTC Wakeup through the EXTI line */ + .word FLASH_IRQHandler /* FLASH */ + .word RCC_IRQHandler /* RCC */ + .word EXTI0_IRQHandler /* EXTI Line0 */ + .word EXTI1_IRQHandler /* EXTI Line1 */ + .word EXTI2_IRQHandler /* EXTI Line2 */ + .word EXTI3_IRQHandler /* EXTI Line3 */ + .word EXTI4_IRQHandler /* EXTI Line4 */ + .word DMA1_Stream0_IRQHandler /* DMA1 Stream 0 */ + .word DMA1_Stream1_IRQHandler /* DMA1 Stream 1 */ + .word DMA1_Stream2_IRQHandler /* DMA1 Stream 2 */ + .word DMA1_Stream3_IRQHandler /* DMA1 Stream 3 */ + .word DMA1_Stream4_IRQHandler /* DMA1 Stream 4 */ + .word DMA1_Stream5_IRQHandler /* DMA1 Stream 5 */ + .word DMA1_Stream6_IRQHandler /* DMA1 Stream 6 */ + .word ADC_IRQHandler /* ADC1, ADC2 and ADC3s */ + .word CAN1_TX_IRQHandler /* CAN1 TX */ + .word CAN1_RX0_IRQHandler /* CAN1 RX0 */ + .word CAN1_RX1_IRQHandler /* CAN1 RX1 */ + .word CAN1_SCE_IRQHandler /* CAN1 SCE */ + .word EXTI9_5_IRQHandler /* External Line[9:5]s */ + .word TIM1_BRK_TIM9_IRQHandler /* TIM1 Break and TIM9 */ + .word TIM1_UP_TIM10_IRQHandler /* TIM1 Update and TIM10 */ + .word TIM1_TRG_COM_TIM11_IRQHandler /* TIM1 Trigger and Commutation and TIM11 */ + .word TIM1_CC_IRQHandler /* TIM1 Capture Compare */ + .word TIM2_IRQHandler /* TIM2 */ + .word TIM3_IRQHandler /* TIM3 */ + .word TIM4_IRQHandler /* TIM4 */ + .word I2C1_EV_IRQHandler /* I2C1 Event */ + .word I2C1_ER_IRQHandler /* I2C1 Error */ + .word I2C2_EV_IRQHandler /* I2C2 Event */ + .word I2C2_ER_IRQHandler /* I2C2 Error */ + .word SPI1_IRQHandler /* SPI1 */ + .word SPI2_IRQHandler /* SPI2 */ + .word USART1_IRQHandler /* USART1 */ + .word USART2_IRQHandler /* USART2 */ + .word USART3_IRQHandler /* USART3 */ + .word EXTI15_10_IRQHandler /* External Line[15:10]s */ + .word RTC_Alarm_IRQHandler /* RTC Alarm (A and B) through EXTI Line */ + .word OTG_FS_WKUP_IRQHandler /* USB OTG FS Wakeup through EXTI line */ + .word TIM8_BRK_TIM12_IRQHandler /* TIM8 Break and TIM12 */ + .word TIM8_UP_TIM13_IRQHandler /* TIM8 Update and TIM13 */ + .word TIM8_TRG_COM_TIM14_IRQHandler /* TIM8 Trigger and Commutation and TIM14 */ + .word TIM8_CC_IRQHandler /* TIM8 Capture Compare */ + .word DMA1_Stream7_IRQHandler /* DMA1 Stream7 */ + .word FMC_IRQHandler /* FMC */ + .word SDMMC1_IRQHandler /* SDMMC1 */ + .word TIM5_IRQHandler /* TIM5 */ + .word SPI3_IRQHandler /* SPI3 */ + .word UART4_IRQHandler /* UART4 */ + .word UART5_IRQHandler /* UART5 */ + .word TIM6_DAC_IRQHandler /* TIM6 and DAC1&2 underrun errors */ + .word TIM7_IRQHandler /* TIM7 */ + .word DMA2_Stream0_IRQHandler /* DMA2 Stream 0 */ + .word DMA2_Stream1_IRQHandler /* DMA2 Stream 1 */ + .word DMA2_Stream2_IRQHandler /* DMA2 Stream 2 */ + .word DMA2_Stream3_IRQHandler /* DMA2 Stream 3 */ + .word DMA2_Stream4_IRQHandler /* DMA2 Stream 4 */ + .word 0 /* Reserved */ + .word 0 /* Reserved */ + .word 0 /* Reserved */ + .word 0 /* Reserved */ + .word 0 /* Reserved */ + .word 0 /* Reserved */ + .word OTG_FS_IRQHandler /* USB OTG FS */ + .word DMA2_Stream5_IRQHandler /* DMA2 Stream 5 */ + .word DMA2_Stream6_IRQHandler /* DMA2 Stream 6 */ + .word DMA2_Stream7_IRQHandler /* DMA2 Stream 7 */ + .word USART6_IRQHandler /* USART6 */ + .word I2C3_EV_IRQHandler /* I2C3 event */ + .word I2C3_ER_IRQHandler /* I2C3 error */ + .word OTG_HS_EP1_OUT_IRQHandler /* USB OTG HS End Point 1 Out */ + .word OTG_HS_EP1_IN_IRQHandler /* USB OTG HS End Point 1 In */ + .word OTG_HS_WKUP_IRQHandler /* USB OTG HS Wakeup through EXTI */ + .word OTG_HS_IRQHandler /* USB OTG HS */ + .word 0 /* Reserved */ + .word AES_IRQHandler /* AES */ + .word RNG_IRQHandler /* RNG */ + .word FPU_IRQHandler /* FPU */ + .word UART7_IRQHandler /* UART7 */ + .word UART8_IRQHandler /* UART8 */ + .word SPI4_IRQHandler /* SPI4 */ + .word SPI5_IRQHandler /* SPI5 */ + .word 0 /* Reserved */ + .word SAI1_IRQHandler /* SAI1 */ + .word 0 /* Reserved */ + .word 0 /* Reserved */ + .word 0 /* Reserved */ + .word SAI2_IRQHandler /* SAI2 */ + .word QUADSPI_IRQHandler /* QUADSPI */ + .word LPTIM1_IRQHandler /* LPTIM1 */ + .word 0 /* Reserved */ + .word 0 /* Reserved */ + .word 0 /* Reserved */ + .word 0 /* Reserved */ + .word 0 /* Reserved */ + .word 0 /* Reserved */ + .word 0 /* Reserved */ + .word 0 /* Reserved */ + .word 0 /* Reserved */ + .word SDMMC2_IRQHandler /* SDMMC2 */ + +/******************************************************************************* +* +* Provide weak aliases for each Exception handler to the Default_Handler. +* As they are weak aliases, any function with the same name will override +* this definition. +* +*******************************************************************************/ + .weak NMI_Handler + .thumb_set NMI_Handler,Default_Handler + + .weak HardFault_Handler + .thumb_set HardFault_Handler,Default_Handler + + .weak MemManage_Handler + .thumb_set MemManage_Handler,Default_Handler + + .weak BusFault_Handler + .thumb_set BusFault_Handler,Default_Handler + + .weak UsageFault_Handler + .thumb_set UsageFault_Handler,Default_Handler + + .weak SVC_Handler + .thumb_set SVC_Handler,Default_Handler + + .weak DebugMon_Handler + .thumb_set DebugMon_Handler,Default_Handler + + .weak PendSV_Handler + .thumb_set PendSV_Handler,Default_Handler + + .weak SysTick_Handler + .thumb_set SysTick_Handler,Default_Handler + + .weak WWDG_IRQHandler + .thumb_set WWDG_IRQHandler,Default_Handler + + .weak PVD_IRQHandler + .thumb_set PVD_IRQHandler,Default_Handler + + .weak TAMP_STAMP_IRQHandler + .thumb_set TAMP_STAMP_IRQHandler,Default_Handler + + .weak RTC_WKUP_IRQHandler + .thumb_set RTC_WKUP_IRQHandler,Default_Handler + + .weak FLASH_IRQHandler + .thumb_set FLASH_IRQHandler,Default_Handler + + .weak RCC_IRQHandler + .thumb_set RCC_IRQHandler,Default_Handler + + .weak EXTI0_IRQHandler + .thumb_set EXTI0_IRQHandler,Default_Handler + + .weak EXTI1_IRQHandler + .thumb_set EXTI1_IRQHandler,Default_Handler + + .weak EXTI2_IRQHandler + .thumb_set EXTI2_IRQHandler,Default_Handler + + .weak EXTI3_IRQHandler + .thumb_set EXTI3_IRQHandler,Default_Handler + + .weak EXTI4_IRQHandler + .thumb_set EXTI4_IRQHandler,Default_Handler + + .weak DMA1_Stream0_IRQHandler + .thumb_set DMA1_Stream0_IRQHandler,Default_Handler + + .weak DMA1_Stream1_IRQHandler + .thumb_set DMA1_Stream1_IRQHandler,Default_Handler + + .weak DMA1_Stream2_IRQHandler + .thumb_set DMA1_Stream2_IRQHandler,Default_Handler + + .weak DMA1_Stream3_IRQHandler + .thumb_set DMA1_Stream3_IRQHandler,Default_Handler + + .weak DMA1_Stream4_IRQHandler + .thumb_set DMA1_Stream4_IRQHandler,Default_Handler + + .weak DMA1_Stream5_IRQHandler + .thumb_set DMA1_Stream5_IRQHandler,Default_Handler + + .weak DMA1_Stream6_IRQHandler + .thumb_set DMA1_Stream6_IRQHandler,Default_Handler + + .weak ADC_IRQHandler + .thumb_set ADC_IRQHandler,Default_Handler + + .weak CAN1_TX_IRQHandler + .thumb_set CAN1_TX_IRQHandler,Default_Handler + + .weak CAN1_RX0_IRQHandler + .thumb_set CAN1_RX0_IRQHandler,Default_Handler + + .weak CAN1_RX1_IRQHandler + .thumb_set CAN1_RX1_IRQHandler,Default_Handler + + .weak CAN1_SCE_IRQHandler + .thumb_set CAN1_SCE_IRQHandler,Default_Handler + + .weak EXTI9_5_IRQHandler + .thumb_set EXTI9_5_IRQHandler,Default_Handler + + .weak TIM1_BRK_TIM9_IRQHandler + .thumb_set TIM1_BRK_TIM9_IRQHandler,Default_Handler + + .weak TIM1_UP_TIM10_IRQHandler + .thumb_set TIM1_UP_TIM10_IRQHandler,Default_Handler + + .weak TIM1_TRG_COM_TIM11_IRQHandler + .thumb_set TIM1_TRG_COM_TIM11_IRQHandler,Default_Handler + + .weak TIM1_CC_IRQHandler + .thumb_set TIM1_CC_IRQHandler,Default_Handler + + .weak TIM2_IRQHandler + .thumb_set TIM2_IRQHandler,Default_Handler + + .weak TIM3_IRQHandler + .thumb_set TIM3_IRQHandler,Default_Handler + + .weak TIM4_IRQHandler + .thumb_set TIM4_IRQHandler,Default_Handler + + .weak I2C1_EV_IRQHandler + .thumb_set I2C1_EV_IRQHandler,Default_Handler + + .weak I2C1_ER_IRQHandler + .thumb_set I2C1_ER_IRQHandler,Default_Handler + + .weak I2C2_EV_IRQHandler + .thumb_set I2C2_EV_IRQHandler,Default_Handler + + .weak I2C2_ER_IRQHandler + .thumb_set I2C2_ER_IRQHandler,Default_Handler + + .weak SPI1_IRQHandler + .thumb_set SPI1_IRQHandler,Default_Handler + + .weak SPI2_IRQHandler + .thumb_set SPI2_IRQHandler,Default_Handler + + .weak USART1_IRQHandler + .thumb_set USART1_IRQHandler,Default_Handler + + .weak USART2_IRQHandler + .thumb_set USART2_IRQHandler,Default_Handler + + .weak USART3_IRQHandler + .thumb_set USART3_IRQHandler,Default_Handler + + .weak EXTI15_10_IRQHandler + .thumb_set EXTI15_10_IRQHandler,Default_Handler + + .weak RTC_Alarm_IRQHandler + .thumb_set RTC_Alarm_IRQHandler,Default_Handler + + .weak OTG_FS_WKUP_IRQHandler + .thumb_set OTG_FS_WKUP_IRQHandler,Default_Handler + + .weak TIM8_BRK_TIM12_IRQHandler + .thumb_set TIM8_BRK_TIM12_IRQHandler,Default_Handler + + .weak TIM8_UP_TIM13_IRQHandler + .thumb_set TIM8_UP_TIM13_IRQHandler,Default_Handler + + .weak TIM8_TRG_COM_TIM14_IRQHandler + .thumb_set TIM8_TRG_COM_TIM14_IRQHandler,Default_Handler + + .weak TIM8_CC_IRQHandler + .thumb_set TIM8_CC_IRQHandler,Default_Handler + + .weak DMA1_Stream7_IRQHandler + .thumb_set DMA1_Stream7_IRQHandler,Default_Handler + + .weak FMC_IRQHandler + .thumb_set FMC_IRQHandler,Default_Handler + + .weak SDMMC1_IRQHandler + .thumb_set SDMMC1_IRQHandler,Default_Handler + + .weak TIM5_IRQHandler + .thumb_set TIM5_IRQHandler,Default_Handler + + .weak SPI3_IRQHandler + .thumb_set SPI3_IRQHandler,Default_Handler + + .weak UART4_IRQHandler + .thumb_set UART4_IRQHandler,Default_Handler + + .weak UART5_IRQHandler + .thumb_set UART5_IRQHandler,Default_Handler + + .weak TIM6_DAC_IRQHandler + .thumb_set TIM6_DAC_IRQHandler,Default_Handler + + .weak TIM7_IRQHandler + .thumb_set TIM7_IRQHandler,Default_Handler + + .weak DMA2_Stream0_IRQHandler + .thumb_set DMA2_Stream0_IRQHandler,Default_Handler + + .weak DMA2_Stream1_IRQHandler + .thumb_set DMA2_Stream1_IRQHandler,Default_Handler + + .weak DMA2_Stream2_IRQHandler + .thumb_set DMA2_Stream2_IRQHandler,Default_Handler + + .weak DMA2_Stream3_IRQHandler + .thumb_set DMA2_Stream3_IRQHandler,Default_Handler + + .weak DMA2_Stream4_IRQHandler + .thumb_set DMA2_Stream4_IRQHandler,Default_Handler + + .weak OTG_FS_IRQHandler + .thumb_set OTG_FS_IRQHandler,Default_Handler + + .weak DMA2_Stream5_IRQHandler + .thumb_set DMA2_Stream5_IRQHandler,Default_Handler + + .weak DMA2_Stream6_IRQHandler + .thumb_set DMA2_Stream6_IRQHandler,Default_Handler + + .weak DMA2_Stream7_IRQHandler + .thumb_set DMA2_Stream7_IRQHandler,Default_Handler + + .weak USART6_IRQHandler + .thumb_set USART6_IRQHandler,Default_Handler + + .weak I2C3_EV_IRQHandler + .thumb_set I2C3_EV_IRQHandler,Default_Handler + + .weak I2C3_ER_IRQHandler + .thumb_set I2C3_ER_IRQHandler,Default_Handler + + .weak OTG_HS_EP1_OUT_IRQHandler + .thumb_set OTG_HS_EP1_OUT_IRQHandler,Default_Handler + + .weak OTG_HS_EP1_IN_IRQHandler + .thumb_set OTG_HS_EP1_IN_IRQHandler,Default_Handler + + .weak OTG_HS_WKUP_IRQHandler + .thumb_set OTG_HS_WKUP_IRQHandler,Default_Handler + + .weak OTG_HS_IRQHandler + .thumb_set OTG_HS_IRQHandler,Default_Handler + + .weak AES_IRQHandler + .thumb_set AES_IRQHandler,Default_Handler + + .weak RNG_IRQHandler + .thumb_set RNG_IRQHandler,Default_Handler + + .weak FPU_IRQHandler + .thumb_set FPU_IRQHandler,Default_Handler + + .weak UART7_IRQHandler + .thumb_set UART7_IRQHandler,Default_Handler + + .weak UART8_IRQHandler + .thumb_set UART8_IRQHandler,Default_Handler + + .weak SPI4_IRQHandler + .thumb_set SPI4_IRQHandler,Default_Handler + + .weak SPI5_IRQHandler + .thumb_set SPI5_IRQHandler,Default_Handler + + .weak SAI1_IRQHandler + .thumb_set SAI1_IRQHandler,Default_Handler + + .weak SAI2_IRQHandler + .thumb_set SAI2_IRQHandler,Default_Handler + + .weak QUADSPI_IRQHandler + .thumb_set QUADSPI_IRQHandler,Default_Handler + + .weak LPTIM1_IRQHandler + .thumb_set LPTIM1_IRQHandler,Default_Handler + + .weak SDMMC2_IRQHandler + .thumb_set SDMMC2_IRQHandler,Default_Handler + + diff --git a/extra/stm_exp_pack/Drivers/CMSIS/Device/ST/STM32F7xx/Source/Templates/gcc/startup_stm32f745xx.s b/extra/stm_exp_pack/Drivers/CMSIS/Device/ST/STM32F7xx/Source/Templates/gcc/startup_stm32f745xx.s new file mode 100644 index 00000000..5f195c91 --- /dev/null +++ b/extra/stm_exp_pack/Drivers/CMSIS/Device/ST/STM32F7xx/Source/Templates/gcc/startup_stm32f745xx.s @@ -0,0 +1,565 @@ +/** + ****************************************************************************** + * @file startup_stm32f745xx.s + * @author MCD Application Team + * @brief STM32F745xx Devices vector table for GCC toolchain based application. + * This module performs: + * - Set the initial SP + * - Set the initial PC == Reset_Handler, + * - Set the vector table entries with the exceptions ISR address + * - Branches to main in the C library (which eventually + * calls main()). + * After Reset the Cortex-M7 processor is in Thread mode, + * priority is Privileged, and the Stack is set to Main. + ****************************************************************************** + * @attention + * + * Copyright (c) 2016 STMicroelectronics. + * All rights reserved. + * + * This software is licensed under terms that can be found in the LICENSE file + * in the root directory of this software component. + * If no LICENSE file comes with this software, it is provided AS-IS. + * + ****************************************************************************** + */ + + .syntax unified + .cpu cortex-m7 + .fpu softvfp + .thumb + +.global g_pfnVectors +.global Default_Handler + +/* start address for the initialization values of the .data section. +defined in linker script */ +.word _sidata +/* start address for the .data section. defined in linker script */ +.word _sdata +/* end address for the .data section. defined in linker script */ +.word _edata +/* start address for the .bss section. defined in linker script */ +.word _sbss +/* end address for the .bss section. defined in linker script */ +.word _ebss +/* stack used for SystemInit_ExtMemCtl; always internal RAM used */ + +/** + * @brief This is the code that gets called when the processor first + * starts execution following a reset event. Only the absolutely + * necessary set is performed, after which the application + * supplied main() routine is called. + * @param None + * @retval : None +*/ + + .section .text.Reset_Handler + .weak Reset_Handler + .type Reset_Handler, %function +Reset_Handler: + ldr sp, =_estack /* set stack pointer */ + +/* Copy the data segment initializers from flash to SRAM */ + ldr r0, =_sdata + ldr r1, =_edata + ldr r2, =_sidata + movs r3, #0 + b LoopCopyDataInit + +CopyDataInit: + ldr r4, [r2, r3] + str r4, [r0, r3] + adds r3, r3, #4 + +LoopCopyDataInit: + adds r4, r0, r3 + cmp r4, r1 + bcc CopyDataInit + +/* Zero fill the bss segment. */ + ldr r2, =_sbss + ldr r4, =_ebss + movs r3, #0 + b LoopFillZerobss + +FillZerobss: + str r3, [r2] + adds r2, r2, #4 + +LoopFillZerobss: + cmp r2, r4 + bcc FillZerobss + +/* Call the clock system initialization function.*/ + bl SystemInit +/* Call static constructors */ + bl __libc_init_array +/* Call the application's entry point.*/ + bl main + bx lr +.size Reset_Handler, .-Reset_Handler + +/** + * @brief This is the code that gets called when the processor receives an + * unexpected interrupt. This simply enters an infinite loop, preserving + * the system state for examination by a debugger. + * @param None + * @retval None +*/ + .section .text.Default_Handler,"ax",%progbits +Default_Handler: +Infinite_Loop: + b Infinite_Loop + .size Default_Handler, .-Default_Handler +/****************************************************************************** +* +* The minimal vector table for a Cortex M7. Note that the proper constructs +* must be placed on this to ensure that it ends up at physical address +* 0x0000.0000. +* +*******************************************************************************/ + .section .isr_vector,"a",%progbits + .type g_pfnVectors, %object + .size g_pfnVectors, .-g_pfnVectors + + +g_pfnVectors: + .word _estack + .word Reset_Handler + + .word NMI_Handler + .word HardFault_Handler + .word MemManage_Handler + .word BusFault_Handler + .word UsageFault_Handler + .word 0 + .word 0 + .word 0 + .word 0 + .word SVC_Handler + .word DebugMon_Handler + .word 0 + .word PendSV_Handler + .word SysTick_Handler + + /* External Interrupts */ + .word WWDG_IRQHandler /* Window WatchDog */ + .word PVD_IRQHandler /* PVD through EXTI Line detection */ + .word TAMP_STAMP_IRQHandler /* Tamper and TimeStamps through the EXTI line */ + .word RTC_WKUP_IRQHandler /* RTC Wakeup through the EXTI line */ + .word FLASH_IRQHandler /* FLASH */ + .word RCC_IRQHandler /* RCC */ + .word EXTI0_IRQHandler /* EXTI Line0 */ + .word EXTI1_IRQHandler /* EXTI Line1 */ + .word EXTI2_IRQHandler /* EXTI Line2 */ + .word EXTI3_IRQHandler /* EXTI Line3 */ + .word EXTI4_IRQHandler /* EXTI Line4 */ + .word DMA1_Stream0_IRQHandler /* DMA1 Stream 0 */ + .word DMA1_Stream1_IRQHandler /* DMA1 Stream 1 */ + .word DMA1_Stream2_IRQHandler /* DMA1 Stream 2 */ + .word DMA1_Stream3_IRQHandler /* DMA1 Stream 3 */ + .word DMA1_Stream4_IRQHandler /* DMA1 Stream 4 */ + .word DMA1_Stream5_IRQHandler /* DMA1 Stream 5 */ + .word DMA1_Stream6_IRQHandler /* DMA1 Stream 6 */ + .word ADC_IRQHandler /* ADC1, ADC2 and ADC3s */ + .word CAN1_TX_IRQHandler /* CAN1 TX */ + .word CAN1_RX0_IRQHandler /* CAN1 RX0 */ + .word CAN1_RX1_IRQHandler /* CAN1 RX1 */ + .word CAN1_SCE_IRQHandler /* CAN1 SCE */ + .word EXTI9_5_IRQHandler /* External Line[9:5]s */ + .word TIM1_BRK_TIM9_IRQHandler /* TIM1 Break and TIM9 */ + .word TIM1_UP_TIM10_IRQHandler /* TIM1 Update and TIM10 */ + .word TIM1_TRG_COM_TIM11_IRQHandler /* TIM1 Trigger and Commutation and TIM11 */ + .word TIM1_CC_IRQHandler /* TIM1 Capture Compare */ + .word TIM2_IRQHandler /* TIM2 */ + .word TIM3_IRQHandler /* TIM3 */ + .word TIM4_IRQHandler /* TIM4 */ + .word I2C1_EV_IRQHandler /* I2C1 Event */ + .word I2C1_ER_IRQHandler /* I2C1 Error */ + .word I2C2_EV_IRQHandler /* I2C2 Event */ + .word I2C2_ER_IRQHandler /* I2C2 Error */ + .word SPI1_IRQHandler /* SPI1 */ + .word SPI2_IRQHandler /* SPI2 */ + .word USART1_IRQHandler /* USART1 */ + .word USART2_IRQHandler /* USART2 */ + .word USART3_IRQHandler /* USART3 */ + .word EXTI15_10_IRQHandler /* External Line[15:10]s */ + .word RTC_Alarm_IRQHandler /* RTC Alarm (A and B) through EXTI Line */ + .word OTG_FS_WKUP_IRQHandler /* USB OTG FS Wakeup through EXTI line */ + .word TIM8_BRK_TIM12_IRQHandler /* TIM8 Break and TIM12 */ + .word TIM8_UP_TIM13_IRQHandler /* TIM8 Update and TIM13 */ + .word TIM8_TRG_COM_TIM14_IRQHandler /* TIM8 Trigger and Commutation and TIM14 */ + .word TIM8_CC_IRQHandler /* TIM8 Capture Compare */ + .word DMA1_Stream7_IRQHandler /* DMA1 Stream7 */ + .word FMC_IRQHandler /* FMC */ + .word SDMMC1_IRQHandler /* SDMMC1 */ + .word TIM5_IRQHandler /* TIM5 */ + .word SPI3_IRQHandler /* SPI3 */ + .word UART4_IRQHandler /* UART4 */ + .word UART5_IRQHandler /* UART5 */ + .word TIM6_DAC_IRQHandler /* TIM6 and DAC1&2 underrun errors */ + .word TIM7_IRQHandler /* TIM7 */ + .word DMA2_Stream0_IRQHandler /* DMA2 Stream 0 */ + .word DMA2_Stream1_IRQHandler /* DMA2 Stream 1 */ + .word DMA2_Stream2_IRQHandler /* DMA2 Stream 2 */ + .word DMA2_Stream3_IRQHandler /* DMA2 Stream 3 */ + .word DMA2_Stream4_IRQHandler /* DMA2 Stream 4 */ + .word ETH_IRQHandler /* Ethernet */ + .word ETH_WKUP_IRQHandler /* Ethernet Wakeup through EXTI line */ + .word CAN2_TX_IRQHandler /* CAN2 TX */ + .word CAN2_RX0_IRQHandler /* CAN2 RX0 */ + .word CAN2_RX1_IRQHandler /* CAN2 RX1 */ + .word CAN2_SCE_IRQHandler /* CAN2 SCE */ + .word OTG_FS_IRQHandler /* USB OTG FS */ + .word DMA2_Stream5_IRQHandler /* DMA2 Stream 5 */ + .word DMA2_Stream6_IRQHandler /* DMA2 Stream 6 */ + .word DMA2_Stream7_IRQHandler /* DMA2 Stream 7 */ + .word USART6_IRQHandler /* USART6 */ + .word I2C3_EV_IRQHandler /* I2C3 event */ + .word I2C3_ER_IRQHandler /* I2C3 error */ + .word OTG_HS_EP1_OUT_IRQHandler /* USB OTG HS End Point 1 Out */ + .word OTG_HS_EP1_IN_IRQHandler /* USB OTG HS End Point 1 In */ + .word OTG_HS_WKUP_IRQHandler /* USB OTG HS Wakeup through EXTI */ + .word OTG_HS_IRQHandler /* USB OTG HS */ + .word DCMI_IRQHandler /* DCMI */ + .word 0 /* Reserved */ + .word RNG_IRQHandler /* Rng */ + .word FPU_IRQHandler /* FPU */ + .word UART7_IRQHandler /* UART7 */ + .word UART8_IRQHandler /* UART8 */ + .word SPI4_IRQHandler /* SPI4 */ + .word SPI5_IRQHandler /* SPI5 */ + .word SPI6_IRQHandler /* SPI6 */ + .word SAI1_IRQHandler /* SAI1 */ + .word 0 /* Reserved */ + .word 0 /* Reserved */ + .word DMA2D_IRQHandler /* DMA2D */ + .word SAI2_IRQHandler /* SAI2 */ + .word QUADSPI_IRQHandler /* QUADSPI */ + .word LPTIM1_IRQHandler /* LPTIM1 */ + .word CEC_IRQHandler /* HDMI_CEC */ + .word I2C4_EV_IRQHandler /* I2C4 Event */ + .word I2C4_ER_IRQHandler /* I2C4 Error */ + .word SPDIF_RX_IRQHandler /* SPDIF_RX */ + +/******************************************************************************* +* +* Provide weak aliases for each Exception handler to the Default_Handler. +* As they are weak aliases, any function with the same name will override +* this definition. +* +*******************************************************************************/ + .weak NMI_Handler + .thumb_set NMI_Handler,Default_Handler + + .weak HardFault_Handler + .thumb_set HardFault_Handler,Default_Handler + + .weak MemManage_Handler + .thumb_set MemManage_Handler,Default_Handler + + .weak BusFault_Handler + .thumb_set BusFault_Handler,Default_Handler + + .weak UsageFault_Handler + .thumb_set UsageFault_Handler,Default_Handler + + .weak SVC_Handler + .thumb_set SVC_Handler,Default_Handler + + .weak DebugMon_Handler + .thumb_set DebugMon_Handler,Default_Handler + + .weak PendSV_Handler + .thumb_set PendSV_Handler,Default_Handler + + .weak SysTick_Handler + .thumb_set SysTick_Handler,Default_Handler + + .weak WWDG_IRQHandler + .thumb_set WWDG_IRQHandler,Default_Handler + + .weak PVD_IRQHandler + .thumb_set PVD_IRQHandler,Default_Handler + + .weak TAMP_STAMP_IRQHandler + .thumb_set TAMP_STAMP_IRQHandler,Default_Handler + + .weak RTC_WKUP_IRQHandler + .thumb_set RTC_WKUP_IRQHandler,Default_Handler + + .weak FLASH_IRQHandler + .thumb_set FLASH_IRQHandler,Default_Handler + + .weak RCC_IRQHandler + .thumb_set RCC_IRQHandler,Default_Handler + + .weak EXTI0_IRQHandler + .thumb_set EXTI0_IRQHandler,Default_Handler + + .weak EXTI1_IRQHandler + .thumb_set EXTI1_IRQHandler,Default_Handler + + .weak EXTI2_IRQHandler + .thumb_set EXTI2_IRQHandler,Default_Handler + + .weak EXTI3_IRQHandler + .thumb_set EXTI3_IRQHandler,Default_Handler + + .weak EXTI4_IRQHandler + .thumb_set EXTI4_IRQHandler,Default_Handler + + .weak DMA1_Stream0_IRQHandler + .thumb_set DMA1_Stream0_IRQHandler,Default_Handler + + .weak DMA1_Stream1_IRQHandler + .thumb_set DMA1_Stream1_IRQHandler,Default_Handler + + .weak DMA1_Stream2_IRQHandler + .thumb_set DMA1_Stream2_IRQHandler,Default_Handler + + .weak DMA1_Stream3_IRQHandler + .thumb_set DMA1_Stream3_IRQHandler,Default_Handler + + .weak DMA1_Stream4_IRQHandler + .thumb_set DMA1_Stream4_IRQHandler,Default_Handler + + .weak DMA1_Stream5_IRQHandler + .thumb_set DMA1_Stream5_IRQHandler,Default_Handler + + .weak DMA1_Stream6_IRQHandler + .thumb_set DMA1_Stream6_IRQHandler,Default_Handler + + .weak ADC_IRQHandler + .thumb_set ADC_IRQHandler,Default_Handler + + .weak CAN1_TX_IRQHandler + .thumb_set CAN1_TX_IRQHandler,Default_Handler + + .weak CAN1_RX0_IRQHandler + .thumb_set CAN1_RX0_IRQHandler,Default_Handler + + .weak CAN1_RX1_IRQHandler + .thumb_set CAN1_RX1_IRQHandler,Default_Handler + + .weak CAN1_SCE_IRQHandler + .thumb_set CAN1_SCE_IRQHandler,Default_Handler + + .weak EXTI9_5_IRQHandler + .thumb_set EXTI9_5_IRQHandler,Default_Handler + + .weak TIM1_BRK_TIM9_IRQHandler + .thumb_set TIM1_BRK_TIM9_IRQHandler,Default_Handler + + .weak TIM1_UP_TIM10_IRQHandler + .thumb_set TIM1_UP_TIM10_IRQHandler,Default_Handler + + .weak TIM1_TRG_COM_TIM11_IRQHandler + .thumb_set TIM1_TRG_COM_TIM11_IRQHandler,Default_Handler + + .weak TIM1_CC_IRQHandler + .thumb_set TIM1_CC_IRQHandler,Default_Handler + + .weak TIM2_IRQHandler + .thumb_set TIM2_IRQHandler,Default_Handler + + .weak TIM3_IRQHandler + .thumb_set TIM3_IRQHandler,Default_Handler + + .weak TIM4_IRQHandler + .thumb_set TIM4_IRQHandler,Default_Handler + + .weak I2C1_EV_IRQHandler + .thumb_set I2C1_EV_IRQHandler,Default_Handler + + .weak I2C1_ER_IRQHandler + .thumb_set I2C1_ER_IRQHandler,Default_Handler + + .weak I2C2_EV_IRQHandler + .thumb_set I2C2_EV_IRQHandler,Default_Handler + + .weak I2C2_ER_IRQHandler + .thumb_set I2C2_ER_IRQHandler,Default_Handler + + .weak SPI1_IRQHandler + .thumb_set SPI1_IRQHandler,Default_Handler + + .weak SPI2_IRQHandler + .thumb_set SPI2_IRQHandler,Default_Handler + + .weak USART1_IRQHandler + .thumb_set USART1_IRQHandler,Default_Handler + + .weak USART2_IRQHandler + .thumb_set USART2_IRQHandler,Default_Handler + + .weak USART3_IRQHandler + .thumb_set USART3_IRQHandler,Default_Handler + + .weak EXTI15_10_IRQHandler + .thumb_set EXTI15_10_IRQHandler,Default_Handler + + .weak RTC_Alarm_IRQHandler + .thumb_set RTC_Alarm_IRQHandler,Default_Handler + + .weak OTG_FS_WKUP_IRQHandler + .thumb_set OTG_FS_WKUP_IRQHandler,Default_Handler + + .weak TIM8_BRK_TIM12_IRQHandler + .thumb_set TIM8_BRK_TIM12_IRQHandler,Default_Handler + + .weak TIM8_UP_TIM13_IRQHandler + .thumb_set TIM8_UP_TIM13_IRQHandler,Default_Handler + + .weak TIM8_TRG_COM_TIM14_IRQHandler + .thumb_set TIM8_TRG_COM_TIM14_IRQHandler,Default_Handler + + .weak TIM8_CC_IRQHandler + .thumb_set TIM8_CC_IRQHandler,Default_Handler + + .weak DMA1_Stream7_IRQHandler + .thumb_set DMA1_Stream7_IRQHandler,Default_Handler + + .weak FMC_IRQHandler + .thumb_set FMC_IRQHandler,Default_Handler + + .weak SDMMC1_IRQHandler + .thumb_set SDMMC1_IRQHandler,Default_Handler + + .weak TIM5_IRQHandler + .thumb_set TIM5_IRQHandler,Default_Handler + + .weak SPI3_IRQHandler + .thumb_set SPI3_IRQHandler,Default_Handler + + .weak UART4_IRQHandler + .thumb_set UART4_IRQHandler,Default_Handler + + .weak UART5_IRQHandler + .thumb_set UART5_IRQHandler,Default_Handler + + .weak TIM6_DAC_IRQHandler + .thumb_set TIM6_DAC_IRQHandler,Default_Handler + + .weak TIM7_IRQHandler + .thumb_set TIM7_IRQHandler,Default_Handler + + .weak DMA2_Stream0_IRQHandler + .thumb_set DMA2_Stream0_IRQHandler,Default_Handler + + .weak DMA2_Stream1_IRQHandler + .thumb_set DMA2_Stream1_IRQHandler,Default_Handler + + .weak DMA2_Stream2_IRQHandler + .thumb_set DMA2_Stream2_IRQHandler,Default_Handler + + .weak DMA2_Stream3_IRQHandler + .thumb_set DMA2_Stream3_IRQHandler,Default_Handler + + .weak DMA2_Stream4_IRQHandler + .thumb_set DMA2_Stream4_IRQHandler,Default_Handler + + .weak ETH_IRQHandler + .thumb_set ETH_IRQHandler,Default_Handler + + .weak ETH_WKUP_IRQHandler + .thumb_set ETH_WKUP_IRQHandler,Default_Handler + + .weak CAN2_TX_IRQHandler + .thumb_set CAN2_TX_IRQHandler,Default_Handler + + .weak CAN2_RX0_IRQHandler + .thumb_set CAN2_RX0_IRQHandler,Default_Handler + + .weak CAN2_RX1_IRQHandler + .thumb_set CAN2_RX1_IRQHandler,Default_Handler + + .weak CAN2_SCE_IRQHandler + .thumb_set CAN2_SCE_IRQHandler,Default_Handler + + .weak OTG_FS_IRQHandler + .thumb_set OTG_FS_IRQHandler,Default_Handler + + .weak DMA2_Stream5_IRQHandler + .thumb_set DMA2_Stream5_IRQHandler,Default_Handler + + .weak DMA2_Stream6_IRQHandler + .thumb_set DMA2_Stream6_IRQHandler,Default_Handler + + .weak DMA2_Stream7_IRQHandler + .thumb_set DMA2_Stream7_IRQHandler,Default_Handler + + .weak USART6_IRQHandler + .thumb_set USART6_IRQHandler,Default_Handler + + .weak I2C3_EV_IRQHandler + .thumb_set I2C3_EV_IRQHandler,Default_Handler + + .weak I2C3_ER_IRQHandler + .thumb_set I2C3_ER_IRQHandler,Default_Handler + + .weak OTG_HS_EP1_OUT_IRQHandler + .thumb_set OTG_HS_EP1_OUT_IRQHandler,Default_Handler + + .weak OTG_HS_EP1_IN_IRQHandler + .thumb_set OTG_HS_EP1_IN_IRQHandler,Default_Handler + + .weak OTG_HS_WKUP_IRQHandler + .thumb_set OTG_HS_WKUP_IRQHandler,Default_Handler + + .weak OTG_HS_IRQHandler + .thumb_set OTG_HS_IRQHandler,Default_Handler + + .weak DCMI_IRQHandler + .thumb_set DCMI_IRQHandler,Default_Handler + + .weak RNG_IRQHandler + .thumb_set RNG_IRQHandler,Default_Handler + + .weak FPU_IRQHandler + .thumb_set FPU_IRQHandler,Default_Handler + + .weak UART7_IRQHandler + .thumb_set UART7_IRQHandler,Default_Handler + + .weak UART8_IRQHandler + .thumb_set UART8_IRQHandler,Default_Handler + + .weak SPI4_IRQHandler + .thumb_set SPI4_IRQHandler,Default_Handler + + .weak SPI5_IRQHandler + .thumb_set SPI5_IRQHandler,Default_Handler + + .weak SPI6_IRQHandler + .thumb_set SPI6_IRQHandler,Default_Handler + + .weak SAI1_IRQHandler + .thumb_set SAI1_IRQHandler,Default_Handler + + .weak DMA2D_IRQHandler + .thumb_set DMA2D_IRQHandler,Default_Handler + + .weak SAI2_IRQHandler + .thumb_set SAI2_IRQHandler,Default_Handler + + .weak QUADSPI_IRQHandler + .thumb_set QUADSPI_IRQHandler,Default_Handler + + .weak LPTIM1_IRQHandler + .thumb_set LPTIM1_IRQHandler,Default_Handler + + .weak CEC_IRQHandler + .thumb_set CEC_IRQHandler,Default_Handler + + .weak I2C4_EV_IRQHandler + .thumb_set I2C4_EV_IRQHandler,Default_Handler + + .weak I2C4_ER_IRQHandler + .thumb_set I2C4_ER_IRQHandler,Default_Handler + + .weak SPDIF_RX_IRQHandler + .thumb_set SPDIF_RX_IRQHandler,Default_Handler + + diff --git a/extra/stm_exp_pack/Drivers/CMSIS/Device/ST/STM32F7xx/Source/Templates/gcc/startup_stm32f746xx.s b/extra/stm_exp_pack/Drivers/CMSIS/Device/ST/STM32F7xx/Source/Templates/gcc/startup_stm32f746xx.s new file mode 100644 index 00000000..253f8e54 --- /dev/null +++ b/extra/stm_exp_pack/Drivers/CMSIS/Device/ST/STM32F7xx/Source/Templates/gcc/startup_stm32f746xx.s @@ -0,0 +1,571 @@ +/** + ****************************************************************************** + * @file startup_stm32f746xx.s + * @author MCD Application Team + * @brief STM32F746xx Devices vector table for GCC based toolchain. + * This module performs: + * - Set the initial SP + * - Set the initial PC == Reset_Handler, + * - Set the vector table entries with the exceptions ISR address + * - Branches to main in the C library (which eventually + * calls main()). + * After Reset the Cortex-M7 processor is in Thread mode, + * priority is Privileged, and the Stack is set to Main. + ****************************************************************************** + * @attention + * + * Copyright (c) 2016 STMicroelectronics. + * All rights reserved. + * + * This software is licensed under terms that can be found in the LICENSE file + * in the root directory of this software component. + * If no LICENSE file comes with this software, it is provided AS-IS. + * + ****************************************************************************** + */ + + .syntax unified + .cpu cortex-m7 + .fpu softvfp + .thumb + +.global g_pfnVectors +.global Default_Handler + +/* start address for the initialization values of the .data section. +defined in linker script */ +.word _sidata +/* start address for the .data section. defined in linker script */ +.word _sdata +/* end address for the .data section. defined in linker script */ +.word _edata +/* start address for the .bss section. defined in linker script */ +.word _sbss +/* end address for the .bss section. defined in linker script */ +.word _ebss +/* stack used for SystemInit_ExtMemCtl; always internal RAM used */ + +/** + * @brief This is the code that gets called when the processor first + * starts execution following a reset event. Only the absolutely + * necessary set is performed, after which the application + * supplied main() routine is called. + * @param None + * @retval : None +*/ + + .section .text.Reset_Handler + .weak Reset_Handler + .type Reset_Handler, %function +Reset_Handler: + ldr sp, =_estack /* set stack pointer */ + +/* Copy the data segment initializers from flash to SRAM */ + ldr r0, =_sdata + ldr r1, =_edata + ldr r2, =_sidata + movs r3, #0 + b LoopCopyDataInit + +CopyDataInit: + ldr r4, [r2, r3] + str r4, [r0, r3] + adds r3, r3, #4 + +LoopCopyDataInit: + adds r4, r0, r3 + cmp r4, r1 + bcc CopyDataInit + +/* Zero fill the bss segment. */ + ldr r2, =_sbss + ldr r4, =_ebss + movs r3, #0 + b LoopFillZerobss + +FillZerobss: + str r3, [r2] + adds r2, r2, #4 + +LoopFillZerobss: + cmp r2, r4 + bcc FillZerobss + +/* Call the clock system initialization function.*/ + bl SystemInit +/* Call static constructors */ + bl __libc_init_array +/* Call the application's entry point.*/ + bl main + bx lr +.size Reset_Handler, .-Reset_Handler + +/** + * @brief This is the code that gets called when the processor receives an + * unexpected interrupt. This simply enters an infinite loop, preserving + * the system state for examination by a debugger. + * @param None + * @retval None +*/ + .section .text.Default_Handler,"ax",%progbits +Default_Handler: +Infinite_Loop: + b Infinite_Loop + .size Default_Handler, .-Default_Handler +/****************************************************************************** +* +* The minimal vector table for a Cortex M7. Note that the proper constructs +* must be placed on this to ensure that it ends up at physical address +* 0x0000.0000. +* +*******************************************************************************/ + .section .isr_vector,"a",%progbits + .type g_pfnVectors, %object + .size g_pfnVectors, .-g_pfnVectors + + +g_pfnVectors: + .word _estack + .word Reset_Handler + + .word NMI_Handler + .word HardFault_Handler + .word MemManage_Handler + .word BusFault_Handler + .word UsageFault_Handler + .word 0 + .word 0 + .word 0 + .word 0 + .word SVC_Handler + .word DebugMon_Handler + .word 0 + .word PendSV_Handler + .word SysTick_Handler + + /* External Interrupts */ + .word WWDG_IRQHandler /* Window WatchDog */ + .word PVD_IRQHandler /* PVD through EXTI Line detection */ + .word TAMP_STAMP_IRQHandler /* Tamper and TimeStamps through the EXTI line */ + .word RTC_WKUP_IRQHandler /* RTC Wakeup through the EXTI line */ + .word FLASH_IRQHandler /* FLASH */ + .word RCC_IRQHandler /* RCC */ + .word EXTI0_IRQHandler /* EXTI Line0 */ + .word EXTI1_IRQHandler /* EXTI Line1 */ + .word EXTI2_IRQHandler /* EXTI Line2 */ + .word EXTI3_IRQHandler /* EXTI Line3 */ + .word EXTI4_IRQHandler /* EXTI Line4 */ + .word DMA1_Stream0_IRQHandler /* DMA1 Stream 0 */ + .word DMA1_Stream1_IRQHandler /* DMA1 Stream 1 */ + .word DMA1_Stream2_IRQHandler /* DMA1 Stream 2 */ + .word DMA1_Stream3_IRQHandler /* DMA1 Stream 3 */ + .word DMA1_Stream4_IRQHandler /* DMA1 Stream 4 */ + .word DMA1_Stream5_IRQHandler /* DMA1 Stream 5 */ + .word DMA1_Stream6_IRQHandler /* DMA1 Stream 6 */ + .word ADC_IRQHandler /* ADC1, ADC2 and ADC3s */ + .word CAN1_TX_IRQHandler /* CAN1 TX */ + .word CAN1_RX0_IRQHandler /* CAN1 RX0 */ + .word CAN1_RX1_IRQHandler /* CAN1 RX1 */ + .word CAN1_SCE_IRQHandler /* CAN1 SCE */ + .word EXTI9_5_IRQHandler /* External Line[9:5]s */ + .word TIM1_BRK_TIM9_IRQHandler /* TIM1 Break and TIM9 */ + .word TIM1_UP_TIM10_IRQHandler /* TIM1 Update and TIM10 */ + .word TIM1_TRG_COM_TIM11_IRQHandler /* TIM1 Trigger and Commutation and TIM11 */ + .word TIM1_CC_IRQHandler /* TIM1 Capture Compare */ + .word TIM2_IRQHandler /* TIM2 */ + .word TIM3_IRQHandler /* TIM3 */ + .word TIM4_IRQHandler /* TIM4 */ + .word I2C1_EV_IRQHandler /* I2C1 Event */ + .word I2C1_ER_IRQHandler /* I2C1 Error */ + .word I2C2_EV_IRQHandler /* I2C2 Event */ + .word I2C2_ER_IRQHandler /* I2C2 Error */ + .word SPI1_IRQHandler /* SPI1 */ + .word SPI2_IRQHandler /* SPI2 */ + .word USART1_IRQHandler /* USART1 */ + .word USART2_IRQHandler /* USART2 */ + .word USART3_IRQHandler /* USART3 */ + .word EXTI15_10_IRQHandler /* External Line[15:10]s */ + .word RTC_Alarm_IRQHandler /* RTC Alarm (A and B) through EXTI Line */ + .word OTG_FS_WKUP_IRQHandler /* USB OTG FS Wakeup through EXTI line */ + .word TIM8_BRK_TIM12_IRQHandler /* TIM8 Break and TIM12 */ + .word TIM8_UP_TIM13_IRQHandler /* TIM8 Update and TIM13 */ + .word TIM8_TRG_COM_TIM14_IRQHandler /* TIM8 Trigger and Commutation and TIM14 */ + .word TIM8_CC_IRQHandler /* TIM8 Capture Compare */ + .word DMA1_Stream7_IRQHandler /* DMA1 Stream7 */ + .word FMC_IRQHandler /* FMC */ + .word SDMMC1_IRQHandler /* SDMMC1 */ + .word TIM5_IRQHandler /* TIM5 */ + .word SPI3_IRQHandler /* SPI3 */ + .word UART4_IRQHandler /* UART4 */ + .word UART5_IRQHandler /* UART5 */ + .word TIM6_DAC_IRQHandler /* TIM6 and DAC1&2 underrun errors */ + .word TIM7_IRQHandler /* TIM7 */ + .word DMA2_Stream0_IRQHandler /* DMA2 Stream 0 */ + .word DMA2_Stream1_IRQHandler /* DMA2 Stream 1 */ + .word DMA2_Stream2_IRQHandler /* DMA2 Stream 2 */ + .word DMA2_Stream3_IRQHandler /* DMA2 Stream 3 */ + .word DMA2_Stream4_IRQHandler /* DMA2 Stream 4 */ + .word ETH_IRQHandler /* Ethernet */ + .word ETH_WKUP_IRQHandler /* Ethernet Wakeup through EXTI line */ + .word CAN2_TX_IRQHandler /* CAN2 TX */ + .word CAN2_RX0_IRQHandler /* CAN2 RX0 */ + .word CAN2_RX1_IRQHandler /* CAN2 RX1 */ + .word CAN2_SCE_IRQHandler /* CAN2 SCE */ + .word OTG_FS_IRQHandler /* USB OTG FS */ + .word DMA2_Stream5_IRQHandler /* DMA2 Stream 5 */ + .word DMA2_Stream6_IRQHandler /* DMA2 Stream 6 */ + .word DMA2_Stream7_IRQHandler /* DMA2 Stream 7 */ + .word USART6_IRQHandler /* USART6 */ + .word I2C3_EV_IRQHandler /* I2C3 event */ + .word I2C3_ER_IRQHandler /* I2C3 error */ + .word OTG_HS_EP1_OUT_IRQHandler /* USB OTG HS End Point 1 Out */ + .word OTG_HS_EP1_IN_IRQHandler /* USB OTG HS End Point 1 In */ + .word OTG_HS_WKUP_IRQHandler /* USB OTG HS Wakeup through EXTI */ + .word OTG_HS_IRQHandler /* USB OTG HS */ + .word DCMI_IRQHandler /* DCMI */ + .word 0 /* Reserved */ + .word RNG_IRQHandler /* Rng */ + .word FPU_IRQHandler /* FPU */ + .word UART7_IRQHandler /* UART7 */ + .word UART8_IRQHandler /* UART8 */ + .word SPI4_IRQHandler /* SPI4 */ + .word SPI5_IRQHandler /* SPI5 */ + .word SPI6_IRQHandler /* SPI6 */ + .word SAI1_IRQHandler /* SAI1 */ + .word LTDC_IRQHandler /* LTDC */ + .word LTDC_ER_IRQHandler /* LTDC error */ + .word DMA2D_IRQHandler /* DMA2D */ + .word SAI2_IRQHandler /* SAI2 */ + .word QUADSPI_IRQHandler /* QUADSPI */ + .word LPTIM1_IRQHandler /* LPTIM1 */ + .word CEC_IRQHandler /* HDMI_CEC */ + .word I2C4_EV_IRQHandler /* I2C4 Event */ + .word I2C4_ER_IRQHandler /* I2C4 Error */ + .word SPDIF_RX_IRQHandler /* SPDIF_RX */ + +/******************************************************************************* +* +* Provide weak aliases for each Exception handler to the Default_Handler. +* As they are weak aliases, any function with the same name will override +* this definition. +* +*******************************************************************************/ + .weak NMI_Handler + .thumb_set NMI_Handler,Default_Handler + + .weak HardFault_Handler + .thumb_set HardFault_Handler,Default_Handler + + .weak MemManage_Handler + .thumb_set MemManage_Handler,Default_Handler + + .weak BusFault_Handler + .thumb_set BusFault_Handler,Default_Handler + + .weak UsageFault_Handler + .thumb_set UsageFault_Handler,Default_Handler + + .weak SVC_Handler + .thumb_set SVC_Handler,Default_Handler + + .weak DebugMon_Handler + .thumb_set DebugMon_Handler,Default_Handler + + .weak PendSV_Handler + .thumb_set PendSV_Handler,Default_Handler + + .weak SysTick_Handler + .thumb_set SysTick_Handler,Default_Handler + + .weak WWDG_IRQHandler + .thumb_set WWDG_IRQHandler,Default_Handler + + .weak PVD_IRQHandler + .thumb_set PVD_IRQHandler,Default_Handler + + .weak TAMP_STAMP_IRQHandler + .thumb_set TAMP_STAMP_IRQHandler,Default_Handler + + .weak RTC_WKUP_IRQHandler + .thumb_set RTC_WKUP_IRQHandler,Default_Handler + + .weak FLASH_IRQHandler + .thumb_set FLASH_IRQHandler,Default_Handler + + .weak RCC_IRQHandler + .thumb_set RCC_IRQHandler,Default_Handler + + .weak EXTI0_IRQHandler + .thumb_set EXTI0_IRQHandler,Default_Handler + + .weak EXTI1_IRQHandler + .thumb_set EXTI1_IRQHandler,Default_Handler + + .weak EXTI2_IRQHandler + .thumb_set EXTI2_IRQHandler,Default_Handler + + .weak EXTI3_IRQHandler + .thumb_set EXTI3_IRQHandler,Default_Handler + + .weak EXTI4_IRQHandler + .thumb_set EXTI4_IRQHandler,Default_Handler + + .weak DMA1_Stream0_IRQHandler + .thumb_set DMA1_Stream0_IRQHandler,Default_Handler + + .weak DMA1_Stream1_IRQHandler + .thumb_set DMA1_Stream1_IRQHandler,Default_Handler + + .weak DMA1_Stream2_IRQHandler + .thumb_set DMA1_Stream2_IRQHandler,Default_Handler + + .weak DMA1_Stream3_IRQHandler + .thumb_set DMA1_Stream3_IRQHandler,Default_Handler + + .weak DMA1_Stream4_IRQHandler + .thumb_set DMA1_Stream4_IRQHandler,Default_Handler + + .weak DMA1_Stream5_IRQHandler + .thumb_set DMA1_Stream5_IRQHandler,Default_Handler + + .weak DMA1_Stream6_IRQHandler + .thumb_set DMA1_Stream6_IRQHandler,Default_Handler + + .weak ADC_IRQHandler + .thumb_set ADC_IRQHandler,Default_Handler + + .weak CAN1_TX_IRQHandler + .thumb_set CAN1_TX_IRQHandler,Default_Handler + + .weak CAN1_RX0_IRQHandler + .thumb_set CAN1_RX0_IRQHandler,Default_Handler + + .weak CAN1_RX1_IRQHandler + .thumb_set CAN1_RX1_IRQHandler,Default_Handler + + .weak CAN1_SCE_IRQHandler + .thumb_set CAN1_SCE_IRQHandler,Default_Handler + + .weak EXTI9_5_IRQHandler + .thumb_set EXTI9_5_IRQHandler,Default_Handler + + .weak TIM1_BRK_TIM9_IRQHandler + .thumb_set TIM1_BRK_TIM9_IRQHandler,Default_Handler + + .weak TIM1_UP_TIM10_IRQHandler + .thumb_set TIM1_UP_TIM10_IRQHandler,Default_Handler + + .weak TIM1_TRG_COM_TIM11_IRQHandler + .thumb_set TIM1_TRG_COM_TIM11_IRQHandler,Default_Handler + + .weak TIM1_CC_IRQHandler + .thumb_set TIM1_CC_IRQHandler,Default_Handler + + .weak TIM2_IRQHandler + .thumb_set TIM2_IRQHandler,Default_Handler + + .weak TIM3_IRQHandler + .thumb_set TIM3_IRQHandler,Default_Handler + + .weak TIM4_IRQHandler + .thumb_set TIM4_IRQHandler,Default_Handler + + .weak I2C1_EV_IRQHandler + .thumb_set I2C1_EV_IRQHandler,Default_Handler + + .weak I2C1_ER_IRQHandler + .thumb_set I2C1_ER_IRQHandler,Default_Handler + + .weak I2C2_EV_IRQHandler + .thumb_set I2C2_EV_IRQHandler,Default_Handler + + .weak I2C2_ER_IRQHandler + .thumb_set I2C2_ER_IRQHandler,Default_Handler + + .weak SPI1_IRQHandler + .thumb_set SPI1_IRQHandler,Default_Handler + + .weak SPI2_IRQHandler + .thumb_set SPI2_IRQHandler,Default_Handler + + .weak USART1_IRQHandler + .thumb_set USART1_IRQHandler,Default_Handler + + .weak USART2_IRQHandler + .thumb_set USART2_IRQHandler,Default_Handler + + .weak USART3_IRQHandler + .thumb_set USART3_IRQHandler,Default_Handler + + .weak EXTI15_10_IRQHandler + .thumb_set EXTI15_10_IRQHandler,Default_Handler + + .weak RTC_Alarm_IRQHandler + .thumb_set RTC_Alarm_IRQHandler,Default_Handler + + .weak OTG_FS_WKUP_IRQHandler + .thumb_set OTG_FS_WKUP_IRQHandler,Default_Handler + + .weak TIM8_BRK_TIM12_IRQHandler + .thumb_set TIM8_BRK_TIM12_IRQHandler,Default_Handler + + .weak TIM8_UP_TIM13_IRQHandler + .thumb_set TIM8_UP_TIM13_IRQHandler,Default_Handler + + .weak TIM8_TRG_COM_TIM14_IRQHandler + .thumb_set TIM8_TRG_COM_TIM14_IRQHandler,Default_Handler + + .weak TIM8_CC_IRQHandler + .thumb_set TIM8_CC_IRQHandler,Default_Handler + + .weak DMA1_Stream7_IRQHandler + .thumb_set DMA1_Stream7_IRQHandler,Default_Handler + + .weak FMC_IRQHandler + .thumb_set FMC_IRQHandler,Default_Handler + + .weak SDMMC1_IRQHandler + .thumb_set SDMMC1_IRQHandler,Default_Handler + + .weak TIM5_IRQHandler + .thumb_set TIM5_IRQHandler,Default_Handler + + .weak SPI3_IRQHandler + .thumb_set SPI3_IRQHandler,Default_Handler + + .weak UART4_IRQHandler + .thumb_set UART4_IRQHandler,Default_Handler + + .weak UART5_IRQHandler + .thumb_set UART5_IRQHandler,Default_Handler + + .weak TIM6_DAC_IRQHandler + .thumb_set TIM6_DAC_IRQHandler,Default_Handler + + .weak TIM7_IRQHandler + .thumb_set TIM7_IRQHandler,Default_Handler + + .weak DMA2_Stream0_IRQHandler + .thumb_set DMA2_Stream0_IRQHandler,Default_Handler + + .weak DMA2_Stream1_IRQHandler + .thumb_set DMA2_Stream1_IRQHandler,Default_Handler + + .weak DMA2_Stream2_IRQHandler + .thumb_set DMA2_Stream2_IRQHandler,Default_Handler + + .weak DMA2_Stream3_IRQHandler + .thumb_set DMA2_Stream3_IRQHandler,Default_Handler + + .weak DMA2_Stream4_IRQHandler + .thumb_set DMA2_Stream4_IRQHandler,Default_Handler + + .weak ETH_IRQHandler + .thumb_set ETH_IRQHandler,Default_Handler + + .weak ETH_WKUP_IRQHandler + .thumb_set ETH_WKUP_IRQHandler,Default_Handler + + .weak CAN2_TX_IRQHandler + .thumb_set CAN2_TX_IRQHandler,Default_Handler + + .weak CAN2_RX0_IRQHandler + .thumb_set CAN2_RX0_IRQHandler,Default_Handler + + .weak CAN2_RX1_IRQHandler + .thumb_set CAN2_RX1_IRQHandler,Default_Handler + + .weak CAN2_SCE_IRQHandler + .thumb_set CAN2_SCE_IRQHandler,Default_Handler + + .weak OTG_FS_IRQHandler + .thumb_set OTG_FS_IRQHandler,Default_Handler + + .weak DMA2_Stream5_IRQHandler + .thumb_set DMA2_Stream5_IRQHandler,Default_Handler + + .weak DMA2_Stream6_IRQHandler + .thumb_set DMA2_Stream6_IRQHandler,Default_Handler + + .weak DMA2_Stream7_IRQHandler + .thumb_set DMA2_Stream7_IRQHandler,Default_Handler + + .weak USART6_IRQHandler + .thumb_set USART6_IRQHandler,Default_Handler + + .weak I2C3_EV_IRQHandler + .thumb_set I2C3_EV_IRQHandler,Default_Handler + + .weak I2C3_ER_IRQHandler + .thumb_set I2C3_ER_IRQHandler,Default_Handler + + .weak OTG_HS_EP1_OUT_IRQHandler + .thumb_set OTG_HS_EP1_OUT_IRQHandler,Default_Handler + + .weak OTG_HS_EP1_IN_IRQHandler + .thumb_set OTG_HS_EP1_IN_IRQHandler,Default_Handler + + .weak OTG_HS_WKUP_IRQHandler + .thumb_set OTG_HS_WKUP_IRQHandler,Default_Handler + + .weak OTG_HS_IRQHandler + .thumb_set OTG_HS_IRQHandler,Default_Handler + + .weak DCMI_IRQHandler + .thumb_set DCMI_IRQHandler,Default_Handler + + .weak RNG_IRQHandler + .thumb_set RNG_IRQHandler,Default_Handler + + .weak FPU_IRQHandler + .thumb_set FPU_IRQHandler,Default_Handler + + .weak UART7_IRQHandler + .thumb_set UART7_IRQHandler,Default_Handler + + .weak UART8_IRQHandler + .thumb_set UART8_IRQHandler,Default_Handler + + .weak SPI4_IRQHandler + .thumb_set SPI4_IRQHandler,Default_Handler + + .weak SPI5_IRQHandler + .thumb_set SPI5_IRQHandler,Default_Handler + + .weak SPI6_IRQHandler + .thumb_set SPI6_IRQHandler,Default_Handler + + .weak SAI1_IRQHandler + .thumb_set SAI1_IRQHandler,Default_Handler + + .weak LTDC_IRQHandler + .thumb_set LTDC_IRQHandler,Default_Handler + + .weak LTDC_ER_IRQHandler + .thumb_set LTDC_ER_IRQHandler,Default_Handler + + .weak DMA2D_IRQHandler + .thumb_set DMA2D_IRQHandler,Default_Handler + + .weak SAI2_IRQHandler + .thumb_set SAI2_IRQHandler,Default_Handler + + .weak QUADSPI_IRQHandler + .thumb_set QUADSPI_IRQHandler,Default_Handler + + .weak LPTIM1_IRQHandler + .thumb_set LPTIM1_IRQHandler,Default_Handler + + .weak CEC_IRQHandler + .thumb_set CEC_IRQHandler,Default_Handler + + .weak I2C4_EV_IRQHandler + .thumb_set I2C4_EV_IRQHandler,Default_Handler + + .weak I2C4_ER_IRQHandler + .thumb_set I2C4_ER_IRQHandler,Default_Handler + + .weak SPDIF_RX_IRQHandler + .thumb_set SPDIF_RX_IRQHandler,Default_Handler + + diff --git a/extra/stm_exp_pack/Drivers/CMSIS/Device/ST/STM32F7xx/Source/Templates/gcc/startup_stm32f750xx.s b/extra/stm_exp_pack/Drivers/CMSIS/Device/ST/STM32F7xx/Source/Templates/gcc/startup_stm32f750xx.s new file mode 100644 index 00000000..705eb251 --- /dev/null +++ b/extra/stm_exp_pack/Drivers/CMSIS/Device/ST/STM32F7xx/Source/Templates/gcc/startup_stm32f750xx.s @@ -0,0 +1,574 @@ +/** + ****************************************************************************** + * @file startup_stm32f750xx.s + * @author MCD Application Team + * @brief STM32F750xx Devices vector table for GCC based toolchain. + * This module performs: + * - Set the initial SP + * - Set the initial PC == Reset_Handler, + * - Set the vector table entries with the exceptions ISR address + * - Branches to main in the C library (which eventually + * calls main()). + * After Reset the Cortex-M7 processor is in Thread mode, + * priority is Privileged, and the Stack is set to Main. + ****************************************************************************** + * @attention + * + * Copyright (c) 2016 STMicroelectronics. + * All rights reserved. + * + * This software is licensed under terms that can be found in the LICENSE file + * in the root directory of this software component. + * If no LICENSE file comes with this software, it is provided AS-IS. + * + ****************************************************************************** + */ + + .syntax unified + .cpu cortex-m7 + .fpu softvfp + .thumb + +.global g_pfnVectors +.global Default_Handler + +/* start address for the initialization values of the .data section. +defined in linker script */ +.word _sidata +/* start address for the .data section. defined in linker script */ +.word _sdata +/* end address for the .data section. defined in linker script */ +.word _edata +/* start address for the .bss section. defined in linker script */ +.word _sbss +/* end address for the .bss section. defined in linker script */ +.word _ebss +/* stack used for SystemInit_ExtMemCtl; always internal RAM used */ + +/** + * @brief This is the code that gets called when the processor first + * starts execution following a reset event. Only the absolutely + * necessary set is performed, after which the application + * supplied main() routine is called. + * @param None + * @retval : None +*/ + + .section .text.Reset_Handler + .weak Reset_Handler + .type Reset_Handler, %function +Reset_Handler: + ldr sp, =_estack /* set stack pointer */ + +/* Copy the data segment initializers from flash to SRAM */ + ldr r0, =_sdata + ldr r1, =_edata + ldr r2, =_sidata + movs r3, #0 + b LoopCopyDataInit + +CopyDataInit: + ldr r4, [r2, r3] + str r4, [r0, r3] + adds r3, r3, #4 + +LoopCopyDataInit: + adds r4, r0, r3 + cmp r4, r1 + bcc CopyDataInit + +/* Zero fill the bss segment. */ + ldr r2, =_sbss + ldr r4, =_ebss + movs r3, #0 + b LoopFillZerobss + +FillZerobss: + str r3, [r2] + adds r2, r2, #4 + +LoopFillZerobss: + cmp r2, r4 + bcc FillZerobss + +/* Call the clock system intitialization function.*/ + bl SystemInit +/* Call static constructors */ + bl __libc_init_array +/* Call the application's entry point.*/ + bl main + bx lr +.size Reset_Handler, .-Reset_Handler + +/** + * @brief This is the code that gets called when the processor receives an + * unexpected interrupt. This simply enters an infinite loop, preserving + * the system state for examination by a debugger. + * @param None + * @retval None +*/ + .section .text.Default_Handler,"ax",%progbits +Default_Handler: +Infinite_Loop: + b Infinite_Loop + .size Default_Handler, .-Default_Handler +/****************************************************************************** +* +* The minimal vector table for a Cortex M7. Note that the proper constructs +* must be placed on this to ensure that it ends up at physical address +* 0x0000.0000. +* +*******************************************************************************/ + .section .isr_vector,"a",%progbits + .type g_pfnVectors, %object + .size g_pfnVectors, .-g_pfnVectors + + +g_pfnVectors: + .word _estack + .word Reset_Handler + + .word NMI_Handler + .word HardFault_Handler + .word MemManage_Handler + .word BusFault_Handler + .word UsageFault_Handler + .word 0 + .word 0 + .word 0 + .word 0 + .word SVC_Handler + .word DebugMon_Handler + .word 0 + .word PendSV_Handler + .word SysTick_Handler + + /* External Interrupts */ + .word WWDG_IRQHandler /* Window WatchDog */ + .word PVD_IRQHandler /* PVD through EXTI Line detection */ + .word TAMP_STAMP_IRQHandler /* Tamper and TimeStamps through the EXTI line */ + .word RTC_WKUP_IRQHandler /* RTC Wakeup through the EXTI line */ + .word FLASH_IRQHandler /* FLASH */ + .word RCC_IRQHandler /* RCC */ + .word EXTI0_IRQHandler /* EXTI Line0 */ + .word EXTI1_IRQHandler /* EXTI Line1 */ + .word EXTI2_IRQHandler /* EXTI Line2 */ + .word EXTI3_IRQHandler /* EXTI Line3 */ + .word EXTI4_IRQHandler /* EXTI Line4 */ + .word DMA1_Stream0_IRQHandler /* DMA1 Stream 0 */ + .word DMA1_Stream1_IRQHandler /* DMA1 Stream 1 */ + .word DMA1_Stream2_IRQHandler /* DMA1 Stream 2 */ + .word DMA1_Stream3_IRQHandler /* DMA1 Stream 3 */ + .word DMA1_Stream4_IRQHandler /* DMA1 Stream 4 */ + .word DMA1_Stream5_IRQHandler /* DMA1 Stream 5 */ + .word DMA1_Stream6_IRQHandler /* DMA1 Stream 6 */ + .word ADC_IRQHandler /* ADC1, ADC2 and ADC3s */ + .word CAN1_TX_IRQHandler /* CAN1 TX */ + .word CAN1_RX0_IRQHandler /* CAN1 RX0 */ + .word CAN1_RX1_IRQHandler /* CAN1 RX1 */ + .word CAN1_SCE_IRQHandler /* CAN1 SCE */ + .word EXTI9_5_IRQHandler /* External Line[9:5]s */ + .word TIM1_BRK_TIM9_IRQHandler /* TIM1 Break and TIM9 */ + .word TIM1_UP_TIM10_IRQHandler /* TIM1 Update and TIM10 */ + .word TIM1_TRG_COM_TIM11_IRQHandler /* TIM1 Trigger and Commutation and TIM11 */ + .word TIM1_CC_IRQHandler /* TIM1 Capture Compare */ + .word TIM2_IRQHandler /* TIM2 */ + .word TIM3_IRQHandler /* TIM3 */ + .word TIM4_IRQHandler /* TIM4 */ + .word I2C1_EV_IRQHandler /* I2C1 Event */ + .word I2C1_ER_IRQHandler /* I2C1 Error */ + .word I2C2_EV_IRQHandler /* I2C2 Event */ + .word I2C2_ER_IRQHandler /* I2C2 Error */ + .word SPI1_IRQHandler /* SPI1 */ + .word SPI2_IRQHandler /* SPI2 */ + .word USART1_IRQHandler /* USART1 */ + .word USART2_IRQHandler /* USART2 */ + .word USART3_IRQHandler /* USART3 */ + .word EXTI15_10_IRQHandler /* External Line[15:10]s */ + .word RTC_Alarm_IRQHandler /* RTC Alarm (A and B) through EXTI Line */ + .word OTG_FS_WKUP_IRQHandler /* USB OTG FS Wakeup through EXTI line */ + .word TIM8_BRK_TIM12_IRQHandler /* TIM8 Break and TIM12 */ + .word TIM8_UP_TIM13_IRQHandler /* TIM8 Update and TIM13 */ + .word TIM8_TRG_COM_TIM14_IRQHandler /* TIM8 Trigger and Commutation and TIM14 */ + .word TIM8_CC_IRQHandler /* TIM8 Capture Compare */ + .word DMA1_Stream7_IRQHandler /* DMA1 Stream7 */ + .word FMC_IRQHandler /* FMC */ + .word SDMMC1_IRQHandler /* SDMMC1 */ + .word TIM5_IRQHandler /* TIM5 */ + .word SPI3_IRQHandler /* SPI3 */ + .word UART4_IRQHandler /* UART4 */ + .word UART5_IRQHandler /* UART5 */ + .word TIM6_DAC_IRQHandler /* TIM6 and DAC1&2 underrun errors */ + .word TIM7_IRQHandler /* TIM7 */ + .word DMA2_Stream0_IRQHandler /* DMA2 Stream 0 */ + .word DMA2_Stream1_IRQHandler /* DMA2 Stream 1 */ + .word DMA2_Stream2_IRQHandler /* DMA2 Stream 2 */ + .word DMA2_Stream3_IRQHandler /* DMA2 Stream 3 */ + .word DMA2_Stream4_IRQHandler /* DMA2 Stream 4 */ + .word ETH_IRQHandler /* Ethernet */ + .word ETH_WKUP_IRQHandler /* Ethernet Wakeup through EXTI line */ + .word CAN2_TX_IRQHandler /* CAN2 TX */ + .word CAN2_RX0_IRQHandler /* CAN2 RX0 */ + .word CAN2_RX1_IRQHandler /* CAN2 RX1 */ + .word CAN2_SCE_IRQHandler /* CAN2 SCE */ + .word OTG_FS_IRQHandler /* USB OTG FS */ + .word DMA2_Stream5_IRQHandler /* DMA2 Stream 5 */ + .word DMA2_Stream6_IRQHandler /* DMA2 Stream 6 */ + .word DMA2_Stream7_IRQHandler /* DMA2 Stream 7 */ + .word USART6_IRQHandler /* USART6 */ + .word I2C3_EV_IRQHandler /* I2C3 event */ + .word I2C3_ER_IRQHandler /* I2C3 error */ + .word OTG_HS_EP1_OUT_IRQHandler /* USB OTG HS End Point 1 Out */ + .word OTG_HS_EP1_IN_IRQHandler /* USB OTG HS End Point 1 In */ + .word OTG_HS_WKUP_IRQHandler /* USB OTG HS Wakeup through EXTI */ + .word OTG_HS_IRQHandler /* USB OTG HS */ + .word DCMI_IRQHandler /* DCMI */ + .word CRYP_IRQHandler /* Crypto */ + .word HASH_RNG_IRQHandler /* Hash and Rng */ + .word FPU_IRQHandler /* FPU */ + .word UART7_IRQHandler /* UART7 */ + .word UART8_IRQHandler /* UART8 */ + .word SPI4_IRQHandler /* SPI4 */ + .word SPI5_IRQHandler /* SPI5 */ + .word SPI6_IRQHandler /* SPI6 */ + .word SAI1_IRQHandler /* SAI1 */ + .word LTDC_IRQHandler /* LTDC */ + .word LTDC_ER_IRQHandler /* LTDC error */ + .word DMA2D_IRQHandler /* DMA2D */ + .word SAI2_IRQHandler /* SAI2 */ + .word QUADSPI_IRQHandler /* QUADSPI */ + .word LPTIM1_IRQHandler /* LPTIM1 */ + .word CEC_IRQHandler /* HDMI_CEC */ + .word I2C4_EV_IRQHandler /* I2C4 Event */ + .word I2C4_ER_IRQHandler /* I2C4 Error */ + .word SPDIF_RX_IRQHandler /* SPDIF_RX */ + +/******************************************************************************* +* +* Provide weak aliases for each Exception handler to the Default_Handler. +* As they are weak aliases, any function with the same name will override +* this definition. +* +*******************************************************************************/ + .weak NMI_Handler + .thumb_set NMI_Handler,Default_Handler + + .weak HardFault_Handler + .thumb_set HardFault_Handler,Default_Handler + + .weak MemManage_Handler + .thumb_set MemManage_Handler,Default_Handler + + .weak BusFault_Handler + .thumb_set BusFault_Handler,Default_Handler + + .weak UsageFault_Handler + .thumb_set UsageFault_Handler,Default_Handler + + .weak SVC_Handler + .thumb_set SVC_Handler,Default_Handler + + .weak DebugMon_Handler + .thumb_set DebugMon_Handler,Default_Handler + + .weak PendSV_Handler + .thumb_set PendSV_Handler,Default_Handler + + .weak SysTick_Handler + .thumb_set SysTick_Handler,Default_Handler + + .weak WWDG_IRQHandler + .thumb_set WWDG_IRQHandler,Default_Handler + + .weak PVD_IRQHandler + .thumb_set PVD_IRQHandler,Default_Handler + + .weak TAMP_STAMP_IRQHandler + .thumb_set TAMP_STAMP_IRQHandler,Default_Handler + + .weak RTC_WKUP_IRQHandler + .thumb_set RTC_WKUP_IRQHandler,Default_Handler + + .weak FLASH_IRQHandler + .thumb_set FLASH_IRQHandler,Default_Handler + + .weak RCC_IRQHandler + .thumb_set RCC_IRQHandler,Default_Handler + + .weak EXTI0_IRQHandler + .thumb_set EXTI0_IRQHandler,Default_Handler + + .weak EXTI1_IRQHandler + .thumb_set EXTI1_IRQHandler,Default_Handler + + .weak EXTI2_IRQHandler + .thumb_set EXTI2_IRQHandler,Default_Handler + + .weak EXTI3_IRQHandler + .thumb_set EXTI3_IRQHandler,Default_Handler + + .weak EXTI4_IRQHandler + .thumb_set EXTI4_IRQHandler,Default_Handler + + .weak DMA1_Stream0_IRQHandler + .thumb_set DMA1_Stream0_IRQHandler,Default_Handler + + .weak DMA1_Stream1_IRQHandler + .thumb_set DMA1_Stream1_IRQHandler,Default_Handler + + .weak DMA1_Stream2_IRQHandler + .thumb_set DMA1_Stream2_IRQHandler,Default_Handler + + .weak DMA1_Stream3_IRQHandler + .thumb_set DMA1_Stream3_IRQHandler,Default_Handler + + .weak DMA1_Stream4_IRQHandler + .thumb_set DMA1_Stream4_IRQHandler,Default_Handler + + .weak DMA1_Stream5_IRQHandler + .thumb_set DMA1_Stream5_IRQHandler,Default_Handler + + .weak DMA1_Stream6_IRQHandler + .thumb_set DMA1_Stream6_IRQHandler,Default_Handler + + .weak ADC_IRQHandler + .thumb_set ADC_IRQHandler,Default_Handler + + .weak CAN1_TX_IRQHandler + .thumb_set CAN1_TX_IRQHandler,Default_Handler + + .weak CAN1_RX0_IRQHandler + .thumb_set CAN1_RX0_IRQHandler,Default_Handler + + .weak CAN1_RX1_IRQHandler + .thumb_set CAN1_RX1_IRQHandler,Default_Handler + + .weak CAN1_SCE_IRQHandler + .thumb_set CAN1_SCE_IRQHandler,Default_Handler + + .weak EXTI9_5_IRQHandler + .thumb_set EXTI9_5_IRQHandler,Default_Handler + + .weak TIM1_BRK_TIM9_IRQHandler + .thumb_set TIM1_BRK_TIM9_IRQHandler,Default_Handler + + .weak TIM1_UP_TIM10_IRQHandler + .thumb_set TIM1_UP_TIM10_IRQHandler,Default_Handler + + .weak TIM1_TRG_COM_TIM11_IRQHandler + .thumb_set TIM1_TRG_COM_TIM11_IRQHandler,Default_Handler + + .weak TIM1_CC_IRQHandler + .thumb_set TIM1_CC_IRQHandler,Default_Handler + + .weak TIM2_IRQHandler + .thumb_set TIM2_IRQHandler,Default_Handler + + .weak TIM3_IRQHandler + .thumb_set TIM3_IRQHandler,Default_Handler + + .weak TIM4_IRQHandler + .thumb_set TIM4_IRQHandler,Default_Handler + + .weak I2C1_EV_IRQHandler + .thumb_set I2C1_EV_IRQHandler,Default_Handler + + .weak I2C1_ER_IRQHandler + .thumb_set I2C1_ER_IRQHandler,Default_Handler + + .weak I2C2_EV_IRQHandler + .thumb_set I2C2_EV_IRQHandler,Default_Handler + + .weak I2C2_ER_IRQHandler + .thumb_set I2C2_ER_IRQHandler,Default_Handler + + .weak SPI1_IRQHandler + .thumb_set SPI1_IRQHandler,Default_Handler + + .weak SPI2_IRQHandler + .thumb_set SPI2_IRQHandler,Default_Handler + + .weak USART1_IRQHandler + .thumb_set USART1_IRQHandler,Default_Handler + + .weak USART2_IRQHandler + .thumb_set USART2_IRQHandler,Default_Handler + + .weak USART3_IRQHandler + .thumb_set USART3_IRQHandler,Default_Handler + + .weak EXTI15_10_IRQHandler + .thumb_set EXTI15_10_IRQHandler,Default_Handler + + .weak RTC_Alarm_IRQHandler + .thumb_set RTC_Alarm_IRQHandler,Default_Handler + + .weak OTG_FS_WKUP_IRQHandler + .thumb_set OTG_FS_WKUP_IRQHandler,Default_Handler + + .weak TIM8_BRK_TIM12_IRQHandler + .thumb_set TIM8_BRK_TIM12_IRQHandler,Default_Handler + + .weak TIM8_UP_TIM13_IRQHandler + .thumb_set TIM8_UP_TIM13_IRQHandler,Default_Handler + + .weak TIM8_TRG_COM_TIM14_IRQHandler + .thumb_set TIM8_TRG_COM_TIM14_IRQHandler,Default_Handler + + .weak TIM8_CC_IRQHandler + .thumb_set TIM8_CC_IRQHandler,Default_Handler + + .weak DMA1_Stream7_IRQHandler + .thumb_set DMA1_Stream7_IRQHandler,Default_Handler + + .weak FMC_IRQHandler + .thumb_set FMC_IRQHandler,Default_Handler + + .weak SDMMC1_IRQHandler + .thumb_set SDMMC1_IRQHandler,Default_Handler + + .weak TIM5_IRQHandler + .thumb_set TIM5_IRQHandler,Default_Handler + + .weak SPI3_IRQHandler + .thumb_set SPI3_IRQHandler,Default_Handler + + .weak UART4_IRQHandler + .thumb_set UART4_IRQHandler,Default_Handler + + .weak UART5_IRQHandler + .thumb_set UART5_IRQHandler,Default_Handler + + .weak TIM6_DAC_IRQHandler + .thumb_set TIM6_DAC_IRQHandler,Default_Handler + + .weak TIM7_IRQHandler + .thumb_set TIM7_IRQHandler,Default_Handler + + .weak DMA2_Stream0_IRQHandler + .thumb_set DMA2_Stream0_IRQHandler,Default_Handler + + .weak DMA2_Stream1_IRQHandler + .thumb_set DMA2_Stream1_IRQHandler,Default_Handler + + .weak DMA2_Stream2_IRQHandler + .thumb_set DMA2_Stream2_IRQHandler,Default_Handler + + .weak DMA2_Stream3_IRQHandler + .thumb_set DMA2_Stream3_IRQHandler,Default_Handler + + .weak DMA2_Stream4_IRQHandler + .thumb_set DMA2_Stream4_IRQHandler,Default_Handler + + .weak ETH_IRQHandler + .thumb_set ETH_IRQHandler,Default_Handler + + .weak ETH_WKUP_IRQHandler + .thumb_set ETH_WKUP_IRQHandler,Default_Handler + + .weak CAN2_TX_IRQHandler + .thumb_set CAN2_TX_IRQHandler,Default_Handler + + .weak CAN2_RX0_IRQHandler + .thumb_set CAN2_RX0_IRQHandler,Default_Handler + + .weak CAN2_RX1_IRQHandler + .thumb_set CAN2_RX1_IRQHandler,Default_Handler + + .weak CAN2_SCE_IRQHandler + .thumb_set CAN2_SCE_IRQHandler,Default_Handler + + .weak OTG_FS_IRQHandler + .thumb_set OTG_FS_IRQHandler,Default_Handler + + .weak DMA2_Stream5_IRQHandler + .thumb_set DMA2_Stream5_IRQHandler,Default_Handler + + .weak DMA2_Stream6_IRQHandler + .thumb_set DMA2_Stream6_IRQHandler,Default_Handler + + .weak DMA2_Stream7_IRQHandler + .thumb_set DMA2_Stream7_IRQHandler,Default_Handler + + .weak USART6_IRQHandler + .thumb_set USART6_IRQHandler,Default_Handler + + .weak I2C3_EV_IRQHandler + .thumb_set I2C3_EV_IRQHandler,Default_Handler + + .weak I2C3_ER_IRQHandler + .thumb_set I2C3_ER_IRQHandler,Default_Handler + + .weak OTG_HS_EP1_OUT_IRQHandler + .thumb_set OTG_HS_EP1_OUT_IRQHandler,Default_Handler + + .weak OTG_HS_EP1_IN_IRQHandler + .thumb_set OTG_HS_EP1_IN_IRQHandler,Default_Handler + + .weak OTG_HS_WKUP_IRQHandler + .thumb_set OTG_HS_WKUP_IRQHandler,Default_Handler + + .weak OTG_HS_IRQHandler + .thumb_set OTG_HS_IRQHandler,Default_Handler + + .weak DCMI_IRQHandler + .thumb_set DCMI_IRQHandler,Default_Handler + + .weak CRYP_IRQHandler + .thumb_set CRYP_IRQHandler,Default_Handler + + .weak HASH_RNG_IRQHandler + .thumb_set HASH_RNG_IRQHandler,Default_Handler + + .weak FPU_IRQHandler + .thumb_set FPU_IRQHandler,Default_Handler + + .weak UART7_IRQHandler + .thumb_set UART7_IRQHandler,Default_Handler + + .weak UART8_IRQHandler + .thumb_set UART8_IRQHandler,Default_Handler + + .weak SPI4_IRQHandler + .thumb_set SPI4_IRQHandler,Default_Handler + + .weak SPI5_IRQHandler + .thumb_set SPI5_IRQHandler,Default_Handler + + .weak SPI6_IRQHandler + .thumb_set SPI6_IRQHandler,Default_Handler + + .weak SAI1_IRQHandler + .thumb_set SAI1_IRQHandler,Default_Handler + + .weak LTDC_IRQHandler + .thumb_set LTDC_IRQHandler,Default_Handler + + .weak LTDC_ER_IRQHandler + .thumb_set LTDC_ER_IRQHandler,Default_Handler + + .weak DMA2D_IRQHandler + .thumb_set DMA2D_IRQHandler,Default_Handler + + .weak SAI2_IRQHandler + .thumb_set SAI2_IRQHandler,Default_Handler + + .weak QUADSPI_IRQHandler + .thumb_set QUADSPI_IRQHandler,Default_Handler + + .weak LPTIM1_IRQHandler + .thumb_set LPTIM1_IRQHandler,Default_Handler + + .weak CEC_IRQHandler + .thumb_set CEC_IRQHandler,Default_Handler + + .weak I2C4_EV_IRQHandler + .thumb_set I2C4_EV_IRQHandler,Default_Handler + + .weak I2C4_ER_IRQHandler + .thumb_set I2C4_ER_IRQHandler,Default_Handler + + .weak SPDIF_RX_IRQHandler + .thumb_set SPDIF_RX_IRQHandler,Default_Handler + + diff --git a/extra/stm_exp_pack/Drivers/CMSIS/Device/ST/STM32F7xx/Source/Templates/gcc/startup_stm32f756xx.s b/extra/stm_exp_pack/Drivers/CMSIS/Device/ST/STM32F7xx/Source/Templates/gcc/startup_stm32f756xx.s new file mode 100644 index 00000000..698c58b3 --- /dev/null +++ b/extra/stm_exp_pack/Drivers/CMSIS/Device/ST/STM32F7xx/Source/Templates/gcc/startup_stm32f756xx.s @@ -0,0 +1,574 @@ +/** + ****************************************************************************** + * @file startup_stm32f756xx.s + * @author MCD Application Team + * @brief STM32F756xx Devices vector table for GCC based toolchain. + * This module performs: + * - Set the initial SP + * - Set the initial PC == Reset_Handler, + * - Set the vector table entries with the exceptions ISR address + * - Branches to main in the C library (which eventually + * calls main()). + * After Reset the Cortex-M7 processor is in Thread mode, + * priority is Privileged, and the Stack is set to Main. + ****************************************************************************** + * @attention + * + * Copyright (c) 2016 STMicroelectronics. + * All rights reserved. + * + * This software is licensed under terms that can be found in the LICENSE file + * in the root directory of this software component. + * If no LICENSE file comes with this software, it is provided AS-IS. + * + ****************************************************************************** + */ + + .syntax unified + .cpu cortex-m7 + .fpu softvfp + .thumb + +.global g_pfnVectors +.global Default_Handler + +/* start address for the initialization values of the .data section. +defined in linker script */ +.word _sidata +/* start address for the .data section. defined in linker script */ +.word _sdata +/* end address for the .data section. defined in linker script */ +.word _edata +/* start address for the .bss section. defined in linker script */ +.word _sbss +/* end address for the .bss section. defined in linker script */ +.word _ebss +/* stack used for SystemInit_ExtMemCtl; always internal RAM used */ + +/** + * @brief This is the code that gets called when the processor first + * starts execution following a reset event. Only the absolutely + * necessary set is performed, after which the application + * supplied main() routine is called. + * @param None + * @retval : None +*/ + + .section .text.Reset_Handler + .weak Reset_Handler + .type Reset_Handler, %function +Reset_Handler: + ldr sp, =_estack /* set stack pointer */ + +/* Copy the data segment initializers from flash to SRAM */ + ldr r0, =_sdata + ldr r1, =_edata + ldr r2, =_sidata + movs r3, #0 + b LoopCopyDataInit + +CopyDataInit: + ldr r4, [r2, r3] + str r4, [r0, r3] + adds r3, r3, #4 + +LoopCopyDataInit: + adds r4, r0, r3 + cmp r4, r1 + bcc CopyDataInit + +/* Zero fill the bss segment. */ + ldr r2, =_sbss + ldr r4, =_ebss + movs r3, #0 + b LoopFillZerobss + +FillZerobss: + str r3, [r2] + adds r2, r2, #4 + +LoopFillZerobss: + cmp r2, r4 + bcc FillZerobss + +/* Call the clock system intitialization function.*/ + bl SystemInit +/* Call static constructors */ + bl __libc_init_array +/* Call the application's entry point.*/ + bl main + bx lr +.size Reset_Handler, .-Reset_Handler + +/** + * @brief This is the code that gets called when the processor receives an + * unexpected interrupt. This simply enters an infinite loop, preserving + * the system state for examination by a debugger. + * @param None + * @retval None +*/ + .section .text.Default_Handler,"ax",%progbits +Default_Handler: +Infinite_Loop: + b Infinite_Loop + .size Default_Handler, .-Default_Handler +/****************************************************************************** +* +* The minimal vector table for a Cortex M7. Note that the proper constructs +* must be placed on this to ensure that it ends up at physical address +* 0x0000.0000. +* +*******************************************************************************/ + .section .isr_vector,"a",%progbits + .type g_pfnVectors, %object + .size g_pfnVectors, .-g_pfnVectors + + +g_pfnVectors: + .word _estack + .word Reset_Handler + + .word NMI_Handler + .word HardFault_Handler + .word MemManage_Handler + .word BusFault_Handler + .word UsageFault_Handler + .word 0 + .word 0 + .word 0 + .word 0 + .word SVC_Handler + .word DebugMon_Handler + .word 0 + .word PendSV_Handler + .word SysTick_Handler + + /* External Interrupts */ + .word WWDG_IRQHandler /* Window WatchDog */ + .word PVD_IRQHandler /* PVD through EXTI Line detection */ + .word TAMP_STAMP_IRQHandler /* Tamper and TimeStamps through the EXTI line */ + .word RTC_WKUP_IRQHandler /* RTC Wakeup through the EXTI line */ + .word FLASH_IRQHandler /* FLASH */ + .word RCC_IRQHandler /* RCC */ + .word EXTI0_IRQHandler /* EXTI Line0 */ + .word EXTI1_IRQHandler /* EXTI Line1 */ + .word EXTI2_IRQHandler /* EXTI Line2 */ + .word EXTI3_IRQHandler /* EXTI Line3 */ + .word EXTI4_IRQHandler /* EXTI Line4 */ + .word DMA1_Stream0_IRQHandler /* DMA1 Stream 0 */ + .word DMA1_Stream1_IRQHandler /* DMA1 Stream 1 */ + .word DMA1_Stream2_IRQHandler /* DMA1 Stream 2 */ + .word DMA1_Stream3_IRQHandler /* DMA1 Stream 3 */ + .word DMA1_Stream4_IRQHandler /* DMA1 Stream 4 */ + .word DMA1_Stream5_IRQHandler /* DMA1 Stream 5 */ + .word DMA1_Stream6_IRQHandler /* DMA1 Stream 6 */ + .word ADC_IRQHandler /* ADC1, ADC2 and ADC3s */ + .word CAN1_TX_IRQHandler /* CAN1 TX */ + .word CAN1_RX0_IRQHandler /* CAN1 RX0 */ + .word CAN1_RX1_IRQHandler /* CAN1 RX1 */ + .word CAN1_SCE_IRQHandler /* CAN1 SCE */ + .word EXTI9_5_IRQHandler /* External Line[9:5]s */ + .word TIM1_BRK_TIM9_IRQHandler /* TIM1 Break and TIM9 */ + .word TIM1_UP_TIM10_IRQHandler /* TIM1 Update and TIM10 */ + .word TIM1_TRG_COM_TIM11_IRQHandler /* TIM1 Trigger and Commutation and TIM11 */ + .word TIM1_CC_IRQHandler /* TIM1 Capture Compare */ + .word TIM2_IRQHandler /* TIM2 */ + .word TIM3_IRQHandler /* TIM3 */ + .word TIM4_IRQHandler /* TIM4 */ + .word I2C1_EV_IRQHandler /* I2C1 Event */ + .word I2C1_ER_IRQHandler /* I2C1 Error */ + .word I2C2_EV_IRQHandler /* I2C2 Event */ + .word I2C2_ER_IRQHandler /* I2C2 Error */ + .word SPI1_IRQHandler /* SPI1 */ + .word SPI2_IRQHandler /* SPI2 */ + .word USART1_IRQHandler /* USART1 */ + .word USART2_IRQHandler /* USART2 */ + .word USART3_IRQHandler /* USART3 */ + .word EXTI15_10_IRQHandler /* External Line[15:10]s */ + .word RTC_Alarm_IRQHandler /* RTC Alarm (A and B) through EXTI Line */ + .word OTG_FS_WKUP_IRQHandler /* USB OTG FS Wakeup through EXTI line */ + .word TIM8_BRK_TIM12_IRQHandler /* TIM8 Break and TIM12 */ + .word TIM8_UP_TIM13_IRQHandler /* TIM8 Update and TIM13 */ + .word TIM8_TRG_COM_TIM14_IRQHandler /* TIM8 Trigger and Commutation and TIM14 */ + .word TIM8_CC_IRQHandler /* TIM8 Capture Compare */ + .word DMA1_Stream7_IRQHandler /* DMA1 Stream7 */ + .word FMC_IRQHandler /* FMC */ + .word SDMMC1_IRQHandler /* SDMMC1 */ + .word TIM5_IRQHandler /* TIM5 */ + .word SPI3_IRQHandler /* SPI3 */ + .word UART4_IRQHandler /* UART4 */ + .word UART5_IRQHandler /* UART5 */ + .word TIM6_DAC_IRQHandler /* TIM6 and DAC1&2 underrun errors */ + .word TIM7_IRQHandler /* TIM7 */ + .word DMA2_Stream0_IRQHandler /* DMA2 Stream 0 */ + .word DMA2_Stream1_IRQHandler /* DMA2 Stream 1 */ + .word DMA2_Stream2_IRQHandler /* DMA2 Stream 2 */ + .word DMA2_Stream3_IRQHandler /* DMA2 Stream 3 */ + .word DMA2_Stream4_IRQHandler /* DMA2 Stream 4 */ + .word ETH_IRQHandler /* Ethernet */ + .word ETH_WKUP_IRQHandler /* Ethernet Wakeup through EXTI line */ + .word CAN2_TX_IRQHandler /* CAN2 TX */ + .word CAN2_RX0_IRQHandler /* CAN2 RX0 */ + .word CAN2_RX1_IRQHandler /* CAN2 RX1 */ + .word CAN2_SCE_IRQHandler /* CAN2 SCE */ + .word OTG_FS_IRQHandler /* USB OTG FS */ + .word DMA2_Stream5_IRQHandler /* DMA2 Stream 5 */ + .word DMA2_Stream6_IRQHandler /* DMA2 Stream 6 */ + .word DMA2_Stream7_IRQHandler /* DMA2 Stream 7 */ + .word USART6_IRQHandler /* USART6 */ + .word I2C3_EV_IRQHandler /* I2C3 event */ + .word I2C3_ER_IRQHandler /* I2C3 error */ + .word OTG_HS_EP1_OUT_IRQHandler /* USB OTG HS End Point 1 Out */ + .word OTG_HS_EP1_IN_IRQHandler /* USB OTG HS End Point 1 In */ + .word OTG_HS_WKUP_IRQHandler /* USB OTG HS Wakeup through EXTI */ + .word OTG_HS_IRQHandler /* USB OTG HS */ + .word DCMI_IRQHandler /* DCMI */ + .word CRYP_IRQHandler /* Crypto */ + .word HASH_RNG_IRQHandler /* Hash and Rng */ + .word FPU_IRQHandler /* FPU */ + .word UART7_IRQHandler /* UART7 */ + .word UART8_IRQHandler /* UART8 */ + .word SPI4_IRQHandler /* SPI4 */ + .word SPI5_IRQHandler /* SPI5 */ + .word SPI6_IRQHandler /* SPI6 */ + .word SAI1_IRQHandler /* SAI1 */ + .word LTDC_IRQHandler /* LTDC */ + .word LTDC_ER_IRQHandler /* LTDC error */ + .word DMA2D_IRQHandler /* DMA2D */ + .word SAI2_IRQHandler /* SAI2 */ + .word QUADSPI_IRQHandler /* QUADSPI */ + .word LPTIM1_IRQHandler /* LPTIM1 */ + .word CEC_IRQHandler /* HDMI_CEC */ + .word I2C4_EV_IRQHandler /* I2C4 Event */ + .word I2C4_ER_IRQHandler /* I2C4 Error */ + .word SPDIF_RX_IRQHandler /* SPDIF_RX */ + +/******************************************************************************* +* +* Provide weak aliases for each Exception handler to the Default_Handler. +* As they are weak aliases, any function with the same name will override +* this definition. +* +*******************************************************************************/ + .weak NMI_Handler + .thumb_set NMI_Handler,Default_Handler + + .weak HardFault_Handler + .thumb_set HardFault_Handler,Default_Handler + + .weak MemManage_Handler + .thumb_set MemManage_Handler,Default_Handler + + .weak BusFault_Handler + .thumb_set BusFault_Handler,Default_Handler + + .weak UsageFault_Handler + .thumb_set UsageFault_Handler,Default_Handler + + .weak SVC_Handler + .thumb_set SVC_Handler,Default_Handler + + .weak DebugMon_Handler + .thumb_set DebugMon_Handler,Default_Handler + + .weak PendSV_Handler + .thumb_set PendSV_Handler,Default_Handler + + .weak SysTick_Handler + .thumb_set SysTick_Handler,Default_Handler + + .weak WWDG_IRQHandler + .thumb_set WWDG_IRQHandler,Default_Handler + + .weak PVD_IRQHandler + .thumb_set PVD_IRQHandler,Default_Handler + + .weak TAMP_STAMP_IRQHandler + .thumb_set TAMP_STAMP_IRQHandler,Default_Handler + + .weak RTC_WKUP_IRQHandler + .thumb_set RTC_WKUP_IRQHandler,Default_Handler + + .weak FLASH_IRQHandler + .thumb_set FLASH_IRQHandler,Default_Handler + + .weak RCC_IRQHandler + .thumb_set RCC_IRQHandler,Default_Handler + + .weak EXTI0_IRQHandler + .thumb_set EXTI0_IRQHandler,Default_Handler + + .weak EXTI1_IRQHandler + .thumb_set EXTI1_IRQHandler,Default_Handler + + .weak EXTI2_IRQHandler + .thumb_set EXTI2_IRQHandler,Default_Handler + + .weak EXTI3_IRQHandler + .thumb_set EXTI3_IRQHandler,Default_Handler + + .weak EXTI4_IRQHandler + .thumb_set EXTI4_IRQHandler,Default_Handler + + .weak DMA1_Stream0_IRQHandler + .thumb_set DMA1_Stream0_IRQHandler,Default_Handler + + .weak DMA1_Stream1_IRQHandler + .thumb_set DMA1_Stream1_IRQHandler,Default_Handler + + .weak DMA1_Stream2_IRQHandler + .thumb_set DMA1_Stream2_IRQHandler,Default_Handler + + .weak DMA1_Stream3_IRQHandler + .thumb_set DMA1_Stream3_IRQHandler,Default_Handler + + .weak DMA1_Stream4_IRQHandler + .thumb_set DMA1_Stream4_IRQHandler,Default_Handler + + .weak DMA1_Stream5_IRQHandler + .thumb_set DMA1_Stream5_IRQHandler,Default_Handler + + .weak DMA1_Stream6_IRQHandler + .thumb_set DMA1_Stream6_IRQHandler,Default_Handler + + .weak ADC_IRQHandler + .thumb_set ADC_IRQHandler,Default_Handler + + .weak CAN1_TX_IRQHandler + .thumb_set CAN1_TX_IRQHandler,Default_Handler + + .weak CAN1_RX0_IRQHandler + .thumb_set CAN1_RX0_IRQHandler,Default_Handler + + .weak CAN1_RX1_IRQHandler + .thumb_set CAN1_RX1_IRQHandler,Default_Handler + + .weak CAN1_SCE_IRQHandler + .thumb_set CAN1_SCE_IRQHandler,Default_Handler + + .weak EXTI9_5_IRQHandler + .thumb_set EXTI9_5_IRQHandler,Default_Handler + + .weak TIM1_BRK_TIM9_IRQHandler + .thumb_set TIM1_BRK_TIM9_IRQHandler,Default_Handler + + .weak TIM1_UP_TIM10_IRQHandler + .thumb_set TIM1_UP_TIM10_IRQHandler,Default_Handler + + .weak TIM1_TRG_COM_TIM11_IRQHandler + .thumb_set TIM1_TRG_COM_TIM11_IRQHandler,Default_Handler + + .weak TIM1_CC_IRQHandler + .thumb_set TIM1_CC_IRQHandler,Default_Handler + + .weak TIM2_IRQHandler + .thumb_set TIM2_IRQHandler,Default_Handler + + .weak TIM3_IRQHandler + .thumb_set TIM3_IRQHandler,Default_Handler + + .weak TIM4_IRQHandler + .thumb_set TIM4_IRQHandler,Default_Handler + + .weak I2C1_EV_IRQHandler + .thumb_set I2C1_EV_IRQHandler,Default_Handler + + .weak I2C1_ER_IRQHandler + .thumb_set I2C1_ER_IRQHandler,Default_Handler + + .weak I2C2_EV_IRQHandler + .thumb_set I2C2_EV_IRQHandler,Default_Handler + + .weak I2C2_ER_IRQHandler + .thumb_set I2C2_ER_IRQHandler,Default_Handler + + .weak SPI1_IRQHandler + .thumb_set SPI1_IRQHandler,Default_Handler + + .weak SPI2_IRQHandler + .thumb_set SPI2_IRQHandler,Default_Handler + + .weak USART1_IRQHandler + .thumb_set USART1_IRQHandler,Default_Handler + + .weak USART2_IRQHandler + .thumb_set USART2_IRQHandler,Default_Handler + + .weak USART3_IRQHandler + .thumb_set USART3_IRQHandler,Default_Handler + + .weak EXTI15_10_IRQHandler + .thumb_set EXTI15_10_IRQHandler,Default_Handler + + .weak RTC_Alarm_IRQHandler + .thumb_set RTC_Alarm_IRQHandler,Default_Handler + + .weak OTG_FS_WKUP_IRQHandler + .thumb_set OTG_FS_WKUP_IRQHandler,Default_Handler + + .weak TIM8_BRK_TIM12_IRQHandler + .thumb_set TIM8_BRK_TIM12_IRQHandler,Default_Handler + + .weak TIM8_UP_TIM13_IRQHandler + .thumb_set TIM8_UP_TIM13_IRQHandler,Default_Handler + + .weak TIM8_TRG_COM_TIM14_IRQHandler + .thumb_set TIM8_TRG_COM_TIM14_IRQHandler,Default_Handler + + .weak TIM8_CC_IRQHandler + .thumb_set TIM8_CC_IRQHandler,Default_Handler + + .weak DMA1_Stream7_IRQHandler + .thumb_set DMA1_Stream7_IRQHandler,Default_Handler + + .weak FMC_IRQHandler + .thumb_set FMC_IRQHandler,Default_Handler + + .weak SDMMC1_IRQHandler + .thumb_set SDMMC1_IRQHandler,Default_Handler + + .weak TIM5_IRQHandler + .thumb_set TIM5_IRQHandler,Default_Handler + + .weak SPI3_IRQHandler + .thumb_set SPI3_IRQHandler,Default_Handler + + .weak UART4_IRQHandler + .thumb_set UART4_IRQHandler,Default_Handler + + .weak UART5_IRQHandler + .thumb_set UART5_IRQHandler,Default_Handler + + .weak TIM6_DAC_IRQHandler + .thumb_set TIM6_DAC_IRQHandler,Default_Handler + + .weak TIM7_IRQHandler + .thumb_set TIM7_IRQHandler,Default_Handler + + .weak DMA2_Stream0_IRQHandler + .thumb_set DMA2_Stream0_IRQHandler,Default_Handler + + .weak DMA2_Stream1_IRQHandler + .thumb_set DMA2_Stream1_IRQHandler,Default_Handler + + .weak DMA2_Stream2_IRQHandler + .thumb_set DMA2_Stream2_IRQHandler,Default_Handler + + .weak DMA2_Stream3_IRQHandler + .thumb_set DMA2_Stream3_IRQHandler,Default_Handler + + .weak DMA2_Stream4_IRQHandler + .thumb_set DMA2_Stream4_IRQHandler,Default_Handler + + .weak ETH_IRQHandler + .thumb_set ETH_IRQHandler,Default_Handler + + .weak ETH_WKUP_IRQHandler + .thumb_set ETH_WKUP_IRQHandler,Default_Handler + + .weak CAN2_TX_IRQHandler + .thumb_set CAN2_TX_IRQHandler,Default_Handler + + .weak CAN2_RX0_IRQHandler + .thumb_set CAN2_RX0_IRQHandler,Default_Handler + + .weak CAN2_RX1_IRQHandler + .thumb_set CAN2_RX1_IRQHandler,Default_Handler + + .weak CAN2_SCE_IRQHandler + .thumb_set CAN2_SCE_IRQHandler,Default_Handler + + .weak OTG_FS_IRQHandler + .thumb_set OTG_FS_IRQHandler,Default_Handler + + .weak DMA2_Stream5_IRQHandler + .thumb_set DMA2_Stream5_IRQHandler,Default_Handler + + .weak DMA2_Stream6_IRQHandler + .thumb_set DMA2_Stream6_IRQHandler,Default_Handler + + .weak DMA2_Stream7_IRQHandler + .thumb_set DMA2_Stream7_IRQHandler,Default_Handler + + .weak USART6_IRQHandler + .thumb_set USART6_IRQHandler,Default_Handler + + .weak I2C3_EV_IRQHandler + .thumb_set I2C3_EV_IRQHandler,Default_Handler + + .weak I2C3_ER_IRQHandler + .thumb_set I2C3_ER_IRQHandler,Default_Handler + + .weak OTG_HS_EP1_OUT_IRQHandler + .thumb_set OTG_HS_EP1_OUT_IRQHandler,Default_Handler + + .weak OTG_HS_EP1_IN_IRQHandler + .thumb_set OTG_HS_EP1_IN_IRQHandler,Default_Handler + + .weak OTG_HS_WKUP_IRQHandler + .thumb_set OTG_HS_WKUP_IRQHandler,Default_Handler + + .weak OTG_HS_IRQHandler + .thumb_set OTG_HS_IRQHandler,Default_Handler + + .weak DCMI_IRQHandler + .thumb_set DCMI_IRQHandler,Default_Handler + + .weak CRYP_IRQHandler + .thumb_set CRYP_IRQHandler,Default_Handler + + .weak HASH_RNG_IRQHandler + .thumb_set HASH_RNG_IRQHandler,Default_Handler + + .weak FPU_IRQHandler + .thumb_set FPU_IRQHandler,Default_Handler + + .weak UART7_IRQHandler + .thumb_set UART7_IRQHandler,Default_Handler + + .weak UART8_IRQHandler + .thumb_set UART8_IRQHandler,Default_Handler + + .weak SPI4_IRQHandler + .thumb_set SPI4_IRQHandler,Default_Handler + + .weak SPI5_IRQHandler + .thumb_set SPI5_IRQHandler,Default_Handler + + .weak SPI6_IRQHandler + .thumb_set SPI6_IRQHandler,Default_Handler + + .weak SAI1_IRQHandler + .thumb_set SAI1_IRQHandler,Default_Handler + + .weak LTDC_IRQHandler + .thumb_set LTDC_IRQHandler,Default_Handler + + .weak LTDC_ER_IRQHandler + .thumb_set LTDC_ER_IRQHandler,Default_Handler + + .weak DMA2D_IRQHandler + .thumb_set DMA2D_IRQHandler,Default_Handler + + .weak SAI2_IRQHandler + .thumb_set SAI2_IRQHandler,Default_Handler + + .weak QUADSPI_IRQHandler + .thumb_set QUADSPI_IRQHandler,Default_Handler + + .weak LPTIM1_IRQHandler + .thumb_set LPTIM1_IRQHandler,Default_Handler + + .weak CEC_IRQHandler + .thumb_set CEC_IRQHandler,Default_Handler + + .weak I2C4_EV_IRQHandler + .thumb_set I2C4_EV_IRQHandler,Default_Handler + + .weak I2C4_ER_IRQHandler + .thumb_set I2C4_ER_IRQHandler,Default_Handler + + .weak SPDIF_RX_IRQHandler + .thumb_set SPDIF_RX_IRQHandler,Default_Handler + + diff --git a/extra/stm_exp_pack/Drivers/CMSIS/Device/ST/STM32F7xx/Source/Templates/gcc/startup_stm32f765xx.s b/extra/stm_exp_pack/Drivers/CMSIS/Device/ST/STM32F7xx/Source/Templates/gcc/startup_stm32f765xx.s new file mode 100644 index 00000000..5686a11f --- /dev/null +++ b/extra/stm_exp_pack/Drivers/CMSIS/Device/ST/STM32F7xx/Source/Templates/gcc/startup_stm32f765xx.s @@ -0,0 +1,608 @@ +/** + ****************************************************************************** + * @file startup_stm32f765xx.s + * @author MCD Application Team + * @brief STM32F765xx Devices vector table for GCC based toolchain. + * This module performs: + * - Set the initial SP + * - Set the initial PC == Reset_Handler, + * - Set the vector table entries with the exceptions ISR address + * - Branches to main in the C library (which eventually + * calls main()). + * After Reset the Cortex-M7 processor is in Thread mode, + * priority is Privileged, and the Stack is set to Main. + ****************************************************************************** + * @attention + * + * Copyright (c) 2016 STMicroelectronics. + * All rights reserved. + * + * This software is licensed under terms that can be found in the LICENSE file + * in the root directory of this software component. + * If no LICENSE file comes with this software, it is provided AS-IS. + * + ****************************************************************************** + */ + + .syntax unified + .cpu cortex-m7 + .fpu softvfp + .thumb + +.global g_pfnVectors +.global Default_Handler + +/* start address for the initialization values of the .data section. +defined in linker script */ +.word _sidata +/* start address for the .data section. defined in linker script */ +.word _sdata +/* end address for the .data section. defined in linker script */ +.word _edata +/* start address for the .bss section. defined in linker script */ +.word _sbss +/* end address for the .bss section. defined in linker script */ +.word _ebss +/* stack used for SystemInit_ExtMemCtl; always internal RAM used */ + +/** + * @brief This is the code that gets called when the processor first + * starts execution following a reset event. Only the absolutely + * necessary set is performed, after which the application + * supplied main() routine is called. + * @param None + * @retval : None +*/ + + .section .text.Reset_Handler + .weak Reset_Handler + .type Reset_Handler, %function +Reset_Handler: + ldr sp, =_estack /* set stack pointer */ + +/* Copy the data segment initializers from flash to SRAM */ + ldr r0, =_sdata + ldr r1, =_edata + ldr r2, =_sidata + movs r3, #0 + b LoopCopyDataInit + +CopyDataInit: + ldr r4, [r2, r3] + str r4, [r0, r3] + adds r3, r3, #4 + +LoopCopyDataInit: + adds r4, r0, r3 + cmp r4, r1 + bcc CopyDataInit + +/* Zero fill the bss segment. */ + ldr r2, =_sbss + ldr r4, =_ebss + movs r3, #0 + b LoopFillZerobss + +FillZerobss: + str r3, [r2] + adds r2, r2, #4 + +LoopFillZerobss: + cmp r2, r4 + bcc FillZerobss + +/* Call the clock system initialization function.*/ + bl SystemInit +/* Call static constructors */ + bl __libc_init_array +/* Call the application's entry point.*/ + bl main + bx lr +.size Reset_Handler, .-Reset_Handler + +/** + * @brief This is the code that gets called when the processor receives an + * unexpected interrupt. This simply enters an infinite loop, preserving + * the system state for examination by a debugger. + * @param None + * @retval None +*/ + .section .text.Default_Handler,"ax",%progbits +Default_Handler: +Infinite_Loop: + b Infinite_Loop + .size Default_Handler, .-Default_Handler +/****************************************************************************** +* +* The minimal vector table for a Cortex M7. Note that the proper constructs +* must be placed on this to ensure that it ends up at physical address +* 0x0000.0000. +* +*******************************************************************************/ + .section .isr_vector,"a",%progbits + .type g_pfnVectors, %object + .size g_pfnVectors, .-g_pfnVectors + + +g_pfnVectors: + .word _estack + .word Reset_Handler + + .word NMI_Handler + .word HardFault_Handler + .word MemManage_Handler + .word BusFault_Handler + .word UsageFault_Handler + .word 0 + .word 0 + .word 0 + .word 0 + .word SVC_Handler + .word DebugMon_Handler + .word 0 + .word PendSV_Handler + .word SysTick_Handler + + /* External Interrupts */ + .word WWDG_IRQHandler /* Window WatchDog */ + .word PVD_IRQHandler /* PVD through EXTI Line detection */ + .word TAMP_STAMP_IRQHandler /* Tamper and TimeStamps through the EXTI line */ + .word RTC_WKUP_IRQHandler /* RTC Wakeup through the EXTI line */ + .word FLASH_IRQHandler /* FLASH */ + .word RCC_IRQHandler /* RCC */ + .word EXTI0_IRQHandler /* EXTI Line0 */ + .word EXTI1_IRQHandler /* EXTI Line1 */ + .word EXTI2_IRQHandler /* EXTI Line2 */ + .word EXTI3_IRQHandler /* EXTI Line3 */ + .word EXTI4_IRQHandler /* EXTI Line4 */ + .word DMA1_Stream0_IRQHandler /* DMA1 Stream 0 */ + .word DMA1_Stream1_IRQHandler /* DMA1 Stream 1 */ + .word DMA1_Stream2_IRQHandler /* DMA1 Stream 2 */ + .word DMA1_Stream3_IRQHandler /* DMA1 Stream 3 */ + .word DMA1_Stream4_IRQHandler /* DMA1 Stream 4 */ + .word DMA1_Stream5_IRQHandler /* DMA1 Stream 5 */ + .word DMA1_Stream6_IRQHandler /* DMA1 Stream 6 */ + .word ADC_IRQHandler /* ADC1, ADC2 and ADC3s */ + .word CAN1_TX_IRQHandler /* CAN1 TX */ + .word CAN1_RX0_IRQHandler /* CAN1 RX0 */ + .word CAN1_RX1_IRQHandler /* CAN1 RX1 */ + .word CAN1_SCE_IRQHandler /* CAN1 SCE */ + .word EXTI9_5_IRQHandler /* External Line[9:5]s */ + .word TIM1_BRK_TIM9_IRQHandler /* TIM1 Break and TIM9 */ + .word TIM1_UP_TIM10_IRQHandler /* TIM1 Update and TIM10 */ + .word TIM1_TRG_COM_TIM11_IRQHandler /* TIM1 Trigger and Commutation and TIM11 */ + .word TIM1_CC_IRQHandler /* TIM1 Capture Compare */ + .word TIM2_IRQHandler /* TIM2 */ + .word TIM3_IRQHandler /* TIM3 */ + .word TIM4_IRQHandler /* TIM4 */ + .word I2C1_EV_IRQHandler /* I2C1 Event */ + .word I2C1_ER_IRQHandler /* I2C1 Error */ + .word I2C2_EV_IRQHandler /* I2C2 Event */ + .word I2C2_ER_IRQHandler /* I2C2 Error */ + .word SPI1_IRQHandler /* SPI1 */ + .word SPI2_IRQHandler /* SPI2 */ + .word USART1_IRQHandler /* USART1 */ + .word USART2_IRQHandler /* USART2 */ + .word USART3_IRQHandler /* USART3 */ + .word EXTI15_10_IRQHandler /* External Line[15:10]s */ + .word RTC_Alarm_IRQHandler /* RTC Alarm (A and B) through EXTI Line */ + .word OTG_FS_WKUP_IRQHandler /* USB OTG FS Wakeup through EXTI line */ + .word TIM8_BRK_TIM12_IRQHandler /* TIM8 Break and TIM12 */ + .word TIM8_UP_TIM13_IRQHandler /* TIM8 Update and TIM13 */ + .word TIM8_TRG_COM_TIM14_IRQHandler /* TIM8 Trigger and Commutation and TIM14 */ + .word TIM8_CC_IRQHandler /* TIM8 Capture Compare */ + .word DMA1_Stream7_IRQHandler /* DMA1 Stream7 */ + .word FMC_IRQHandler /* FMC */ + .word SDMMC1_IRQHandler /* SDMMC1 */ + .word TIM5_IRQHandler /* TIM5 */ + .word SPI3_IRQHandler /* SPI3 */ + .word UART4_IRQHandler /* UART4 */ + .word UART5_IRQHandler /* UART5 */ + .word TIM6_DAC_IRQHandler /* TIM6 and DAC1&2 underrun errors */ + .word TIM7_IRQHandler /* TIM7 */ + .word DMA2_Stream0_IRQHandler /* DMA2 Stream 0 */ + .word DMA2_Stream1_IRQHandler /* DMA2 Stream 1 */ + .word DMA2_Stream2_IRQHandler /* DMA2 Stream 2 */ + .word DMA2_Stream3_IRQHandler /* DMA2 Stream 3 */ + .word DMA2_Stream4_IRQHandler /* DMA2 Stream 4 */ + .word ETH_IRQHandler /* Ethernet */ + .word ETH_WKUP_IRQHandler /* Ethernet Wakeup through EXTI line */ + .word CAN2_TX_IRQHandler /* CAN2 TX */ + .word CAN2_RX0_IRQHandler /* CAN2 RX0 */ + .word CAN2_RX1_IRQHandler /* CAN2 RX1 */ + .word CAN2_SCE_IRQHandler /* CAN2 SCE */ + .word OTG_FS_IRQHandler /* USB OTG FS */ + .word DMA2_Stream5_IRQHandler /* DMA2 Stream 5 */ + .word DMA2_Stream6_IRQHandler /* DMA2 Stream 6 */ + .word DMA2_Stream7_IRQHandler /* DMA2 Stream 7 */ + .word USART6_IRQHandler /* USART6 */ + .word I2C3_EV_IRQHandler /* I2C3 event */ + .word I2C3_ER_IRQHandler /* I2C3 error */ + .word OTG_HS_EP1_OUT_IRQHandler /* USB OTG HS End Point 1 Out */ + .word OTG_HS_EP1_IN_IRQHandler /* USB OTG HS End Point 1 In */ + .word OTG_HS_WKUP_IRQHandler /* USB OTG HS Wakeup through EXTI */ + .word OTG_HS_IRQHandler /* USB OTG HS */ + .word DCMI_IRQHandler /* DCMI */ + .word 0 /* Reserved */ + .word RNG_IRQHandler /* RNG */ + .word FPU_IRQHandler /* FPU */ + .word UART7_IRQHandler /* UART7 */ + .word UART8_IRQHandler /* UART8 */ + .word SPI4_IRQHandler /* SPI4 */ + .word SPI5_IRQHandler /* SPI5 */ + .word SPI6_IRQHandler /* SPI6 */ + .word SAI1_IRQHandler /* SAI1 */ + .word 0 /* Reserved */ + .word 0 /* Reserved */ + .word DMA2D_IRQHandler /* DMA2D */ + .word SAI2_IRQHandler /* SAI2 */ + .word QUADSPI_IRQHandler /* QUADSPI */ + .word LPTIM1_IRQHandler /* LPTIM1 */ + .word CEC_IRQHandler /* HDMI_CEC */ + .word I2C4_EV_IRQHandler /* I2C4 Event */ + .word I2C4_ER_IRQHandler /* I2C4 Error */ + .word SPDIF_RX_IRQHandler /* SPDIF_RX */ + .word 0 /* Reserved */ + .word DFSDM1_FLT0_IRQHandler /* DFSDM1 Filter 0 global Interrupt */ + .word DFSDM1_FLT1_IRQHandler /* DFSDM1 Filter 1 global Interrupt */ + .word DFSDM1_FLT2_IRQHandler /* DFSDM1 Filter 2 global Interrupt */ + .word DFSDM1_FLT3_IRQHandler /* DFSDM1 Filter 3 global Interrupt */ + .word SDMMC2_IRQHandler /* SDMMC2 */ + .word CAN3_TX_IRQHandler /* CAN3 TX */ + .word CAN3_RX0_IRQHandler /* CAN3 RX0 */ + .word CAN3_RX1_IRQHandler /* CAN3 RX1 */ + .word CAN3_SCE_IRQHandler /* CAN3 SCE */ + .word 0 /* Reserved */ + .word MDIOS_IRQHandler /* MDIOS */ + +/******************************************************************************* +* +* Provide weak aliases for each Exception handler to the Default_Handler. +* As they are weak aliases, any function with the same name will override +* this definition. +* +*******************************************************************************/ + .weak NMI_Handler + .thumb_set NMI_Handler,Default_Handler + + .weak HardFault_Handler + .thumb_set HardFault_Handler,Default_Handler + + .weak MemManage_Handler + .thumb_set MemManage_Handler,Default_Handler + + .weak BusFault_Handler + .thumb_set BusFault_Handler,Default_Handler + + .weak UsageFault_Handler + .thumb_set UsageFault_Handler,Default_Handler + + .weak SVC_Handler + .thumb_set SVC_Handler,Default_Handler + + .weak DebugMon_Handler + .thumb_set DebugMon_Handler,Default_Handler + + .weak PendSV_Handler + .thumb_set PendSV_Handler,Default_Handler + + .weak SysTick_Handler + .thumb_set SysTick_Handler,Default_Handler + + .weak WWDG_IRQHandler + .thumb_set WWDG_IRQHandler,Default_Handler + + .weak PVD_IRQHandler + .thumb_set PVD_IRQHandler,Default_Handler + + .weak TAMP_STAMP_IRQHandler + .thumb_set TAMP_STAMP_IRQHandler,Default_Handler + + .weak RTC_WKUP_IRQHandler + .thumb_set RTC_WKUP_IRQHandler,Default_Handler + + .weak FLASH_IRQHandler + .thumb_set FLASH_IRQHandler,Default_Handler + + .weak RCC_IRQHandler + .thumb_set RCC_IRQHandler,Default_Handler + + .weak EXTI0_IRQHandler + .thumb_set EXTI0_IRQHandler,Default_Handler + + .weak EXTI1_IRQHandler + .thumb_set EXTI1_IRQHandler,Default_Handler + + .weak EXTI2_IRQHandler + .thumb_set EXTI2_IRQHandler,Default_Handler + + .weak EXTI3_IRQHandler + .thumb_set EXTI3_IRQHandler,Default_Handler + + .weak EXTI4_IRQHandler + .thumb_set EXTI4_IRQHandler,Default_Handler + + .weak DMA1_Stream0_IRQHandler + .thumb_set DMA1_Stream0_IRQHandler,Default_Handler + + .weak DMA1_Stream1_IRQHandler + .thumb_set DMA1_Stream1_IRQHandler,Default_Handler + + .weak DMA1_Stream2_IRQHandler + .thumb_set DMA1_Stream2_IRQHandler,Default_Handler + + .weak DMA1_Stream3_IRQHandler + .thumb_set DMA1_Stream3_IRQHandler,Default_Handler + + .weak DMA1_Stream4_IRQHandler + .thumb_set DMA1_Stream4_IRQHandler,Default_Handler + + .weak DMA1_Stream5_IRQHandler + .thumb_set DMA1_Stream5_IRQHandler,Default_Handler + + .weak DMA1_Stream6_IRQHandler + .thumb_set DMA1_Stream6_IRQHandler,Default_Handler + + .weak ADC_IRQHandler + .thumb_set ADC_IRQHandler,Default_Handler + + .weak CAN1_TX_IRQHandler + .thumb_set CAN1_TX_IRQHandler,Default_Handler + + .weak CAN1_RX0_IRQHandler + .thumb_set CAN1_RX0_IRQHandler,Default_Handler + + .weak CAN1_RX1_IRQHandler + .thumb_set CAN1_RX1_IRQHandler,Default_Handler + + .weak CAN1_SCE_IRQHandler + .thumb_set CAN1_SCE_IRQHandler,Default_Handler + + .weak EXTI9_5_IRQHandler + .thumb_set EXTI9_5_IRQHandler,Default_Handler + + .weak TIM1_BRK_TIM9_IRQHandler + .thumb_set TIM1_BRK_TIM9_IRQHandler,Default_Handler + + .weak TIM1_UP_TIM10_IRQHandler + .thumb_set TIM1_UP_TIM10_IRQHandler,Default_Handler + + .weak TIM1_TRG_COM_TIM11_IRQHandler + .thumb_set TIM1_TRG_COM_TIM11_IRQHandler,Default_Handler + + .weak TIM1_CC_IRQHandler + .thumb_set TIM1_CC_IRQHandler,Default_Handler + + .weak TIM2_IRQHandler + .thumb_set TIM2_IRQHandler,Default_Handler + + .weak TIM3_IRQHandler + .thumb_set TIM3_IRQHandler,Default_Handler + + .weak TIM4_IRQHandler + .thumb_set TIM4_IRQHandler,Default_Handler + + .weak I2C1_EV_IRQHandler + .thumb_set I2C1_EV_IRQHandler,Default_Handler + + .weak I2C1_ER_IRQHandler + .thumb_set I2C1_ER_IRQHandler,Default_Handler + + .weak I2C2_EV_IRQHandler + .thumb_set I2C2_EV_IRQHandler,Default_Handler + + .weak I2C2_ER_IRQHandler + .thumb_set I2C2_ER_IRQHandler,Default_Handler + + .weak SPI1_IRQHandler + .thumb_set SPI1_IRQHandler,Default_Handler + + .weak SPI2_IRQHandler + .thumb_set SPI2_IRQHandler,Default_Handler + + .weak USART1_IRQHandler + .thumb_set USART1_IRQHandler,Default_Handler + + .weak USART2_IRQHandler + .thumb_set USART2_IRQHandler,Default_Handler + + .weak USART3_IRQHandler + .thumb_set USART3_IRQHandler,Default_Handler + + .weak EXTI15_10_IRQHandler + .thumb_set EXTI15_10_IRQHandler,Default_Handler + + .weak RTC_Alarm_IRQHandler + .thumb_set RTC_Alarm_IRQHandler,Default_Handler + + .weak OTG_FS_WKUP_IRQHandler + .thumb_set OTG_FS_WKUP_IRQHandler,Default_Handler + + .weak TIM8_BRK_TIM12_IRQHandler + .thumb_set TIM8_BRK_TIM12_IRQHandler,Default_Handler + + .weak TIM8_UP_TIM13_IRQHandler + .thumb_set TIM8_UP_TIM13_IRQHandler,Default_Handler + + .weak TIM8_TRG_COM_TIM14_IRQHandler + .thumb_set TIM8_TRG_COM_TIM14_IRQHandler,Default_Handler + + .weak TIM8_CC_IRQHandler + .thumb_set TIM8_CC_IRQHandler,Default_Handler + + .weak DMA1_Stream7_IRQHandler + .thumb_set DMA1_Stream7_IRQHandler,Default_Handler + + .weak FMC_IRQHandler + .thumb_set FMC_IRQHandler,Default_Handler + + .weak SDMMC1_IRQHandler + .thumb_set SDMMC1_IRQHandler,Default_Handler + + .weak TIM5_IRQHandler + .thumb_set TIM5_IRQHandler,Default_Handler + + .weak SPI3_IRQHandler + .thumb_set SPI3_IRQHandler,Default_Handler + + .weak UART4_IRQHandler + .thumb_set UART4_IRQHandler,Default_Handler + + .weak UART5_IRQHandler + .thumb_set UART5_IRQHandler,Default_Handler + + .weak TIM6_DAC_IRQHandler + .thumb_set TIM6_DAC_IRQHandler,Default_Handler + + .weak TIM7_IRQHandler + .thumb_set TIM7_IRQHandler,Default_Handler + + .weak DMA2_Stream0_IRQHandler + .thumb_set DMA2_Stream0_IRQHandler,Default_Handler + + .weak DMA2_Stream1_IRQHandler + .thumb_set DMA2_Stream1_IRQHandler,Default_Handler + + .weak DMA2_Stream2_IRQHandler + .thumb_set DMA2_Stream2_IRQHandler,Default_Handler + + .weak DMA2_Stream3_IRQHandler + .thumb_set DMA2_Stream3_IRQHandler,Default_Handler + + .weak DMA2_Stream4_IRQHandler + .thumb_set DMA2_Stream4_IRQHandler,Default_Handler + + .weak ETH_IRQHandler + .thumb_set ETH_IRQHandler,Default_Handler + + .weak ETH_WKUP_IRQHandler + .thumb_set ETH_WKUP_IRQHandler,Default_Handler + + .weak CAN2_TX_IRQHandler + .thumb_set CAN2_TX_IRQHandler,Default_Handler + + .weak CAN2_RX0_IRQHandler + .thumb_set CAN2_RX0_IRQHandler,Default_Handler + + .weak CAN2_RX1_IRQHandler + .thumb_set CAN2_RX1_IRQHandler,Default_Handler + + .weak CAN2_SCE_IRQHandler + .thumb_set CAN2_SCE_IRQHandler,Default_Handler + + .weak OTG_FS_IRQHandler + .thumb_set OTG_FS_IRQHandler,Default_Handler + + .weak DMA2_Stream5_IRQHandler + .thumb_set DMA2_Stream5_IRQHandler,Default_Handler + + .weak DMA2_Stream6_IRQHandler + .thumb_set DMA2_Stream6_IRQHandler,Default_Handler + + .weak DMA2_Stream7_IRQHandler + .thumb_set DMA2_Stream7_IRQHandler,Default_Handler + + .weak USART6_IRQHandler + .thumb_set USART6_IRQHandler,Default_Handler + + .weak I2C3_EV_IRQHandler + .thumb_set I2C3_EV_IRQHandler,Default_Handler + + .weak I2C3_ER_IRQHandler + .thumb_set I2C3_ER_IRQHandler,Default_Handler + + .weak OTG_HS_EP1_OUT_IRQHandler + .thumb_set OTG_HS_EP1_OUT_IRQHandler,Default_Handler + + .weak OTG_HS_EP1_IN_IRQHandler + .thumb_set OTG_HS_EP1_IN_IRQHandler,Default_Handler + + .weak OTG_HS_WKUP_IRQHandler + .thumb_set OTG_HS_WKUP_IRQHandler,Default_Handler + + .weak OTG_HS_IRQHandler + .thumb_set OTG_HS_IRQHandler,Default_Handler + + .weak DCMI_IRQHandler + .thumb_set DCMI_IRQHandler,Default_Handler + + .weak RNG_IRQHandler + .thumb_set RNG_IRQHandler,Default_Handler + + .weak FPU_IRQHandler + .thumb_set FPU_IRQHandler,Default_Handler + + .weak UART7_IRQHandler + .thumb_set UART7_IRQHandler,Default_Handler + + .weak UART8_IRQHandler + .thumb_set UART8_IRQHandler,Default_Handler + + .weak SPI4_IRQHandler + .thumb_set SPI4_IRQHandler,Default_Handler + + .weak SPI5_IRQHandler + .thumb_set SPI5_IRQHandler,Default_Handler + + .weak SPI6_IRQHandler + .thumb_set SPI6_IRQHandler,Default_Handler + + .weak SAI1_IRQHandler + .thumb_set SAI1_IRQHandler,Default_Handler + + .weak DMA2D_IRQHandler + .thumb_set DMA2D_IRQHandler,Default_Handler + + .weak SAI2_IRQHandler + .thumb_set SAI2_IRQHandler,Default_Handler + + .weak QUADSPI_IRQHandler + .thumb_set QUADSPI_IRQHandler,Default_Handler + + .weak LPTIM1_IRQHandler + .thumb_set LPTIM1_IRQHandler,Default_Handler + + .weak CEC_IRQHandler + .thumb_set CEC_IRQHandler,Default_Handler + + .weak I2C4_EV_IRQHandler + .thumb_set I2C4_EV_IRQHandler,Default_Handler + + .weak I2C4_ER_IRQHandler + .thumb_set I2C4_ER_IRQHandler,Default_Handler + + .weak SPDIF_RX_IRQHandler + .thumb_set SPDIF_RX_IRQHandler,Default_Handler + + .weak DFSDM1_FLT0_IRQHandler + .thumb_set DFSDM1_FLT0_IRQHandler,Default_Handler + + .weak DFSDM1_FLT1_IRQHandler + .thumb_set DFSDM1_FLT1_IRQHandler,Default_Handler + + .weak DFSDM1_FLT2_IRQHandler + .thumb_set DFSDM1_FLT2_IRQHandler,Default_Handler + + .weak DFSDM1_FLT3_IRQHandler + .thumb_set DFSDM1_FLT3_IRQHandler,Default_Handler + + .weak SDMMC2_IRQHandler + .thumb_set SDMMC2_IRQHandler,Default_Handler + + .weak CAN3_TX_IRQHandler + .thumb_set CAN3_TX_IRQHandler,Default_Handler + + .weak CAN3_RX0_IRQHandler + .thumb_set CAN3_RX0_IRQHandler,Default_Handler + + .weak CAN3_RX1_IRQHandler + .thumb_set CAN3_RX1_IRQHandler,Default_Handler + + .weak CAN3_SCE_IRQHandler + .thumb_set CAN3_SCE_IRQHandler,Default_Handler + + .weak MDIOS_IRQHandler + .thumb_set MDIOS_IRQHandler,Default_Handler + + + diff --git a/extra/stm_exp_pack/Drivers/CMSIS/Device/ST/STM32F7xx/Source/Templates/gcc/startup_stm32f767xx.s b/extra/stm_exp_pack/Drivers/CMSIS/Device/ST/STM32F7xx/Source/Templates/gcc/startup_stm32f767xx.s new file mode 100644 index 00000000..8b0bb23d --- /dev/null +++ b/extra/stm_exp_pack/Drivers/CMSIS/Device/ST/STM32F7xx/Source/Templates/gcc/startup_stm32f767xx.s @@ -0,0 +1,617 @@ +/** + ****************************************************************************** + * @file startup_stm32f767xx.s + * @author MCD Application Team + * @brief STM32F767xx Devices vector table for GCC based toolchain. + * This module performs: + * - Set the initial SP + * - Set the initial PC == Reset_Handler, + * - Set the vector table entries with the exceptions ISR address + * - Branches to main in the C library (which eventually + * calls main()). + * After Reset the Cortex-M7 processor is in Thread mode, + * priority is Privileged, and the Stack is set to Main. + ****************************************************************************** + * @attention + * + * Copyright (c) 2016 STMicroelectronics. + * All rights reserved. + * + * This software is licensed under terms that can be found in the LICENSE file + * in the root directory of this software component. + * If no LICENSE file comes with this software, it is provided AS-IS. + * + ****************************************************************************** + */ + + .syntax unified + .cpu cortex-m7 + .fpu softvfp + .thumb + +.global g_pfnVectors +.global Default_Handler + +/* start address for the initialization values of the .data section. +defined in linker script */ +.word _sidata +/* start address for the .data section. defined in linker script */ +.word _sdata +/* end address for the .data section. defined in linker script */ +.word _edata +/* start address for the .bss section. defined in linker script */ +.word _sbss +/* end address for the .bss section. defined in linker script */ +.word _ebss +/* stack used for SystemInit_ExtMemCtl; always internal RAM used */ + +/** + * @brief This is the code that gets called when the processor first + * starts execution following a reset event. Only the absolutely + * necessary set is performed, after which the application + * supplied main() routine is called. + * @param None + * @retval : None +*/ + + .section .text.Reset_Handler + .weak Reset_Handler + .type Reset_Handler, %function +Reset_Handler: + ldr sp, =_estack /* set stack pointer */ + +/* Copy the data segment initializers from flash to SRAM */ + ldr r0, =_sdata + ldr r1, =_edata + ldr r2, =_sidata + movs r3, #0 + b LoopCopyDataInit + +CopyDataInit: + ldr r4, [r2, r3] + str r4, [r0, r3] + adds r3, r3, #4 + +LoopCopyDataInit: + adds r4, r0, r3 + cmp r4, r1 + bcc CopyDataInit + +/* Zero fill the bss segment. */ + ldr r2, =_sbss + ldr r4, =_ebss + movs r3, #0 + b LoopFillZerobss + +FillZerobss: + str r3, [r2] + adds r2, r2, #4 + +LoopFillZerobss: + cmp r2, r4 + bcc FillZerobss + +/* Call the clock system initialization function.*/ + bl SystemInit +/* Call static constructors */ + bl __libc_init_array +/* Call the application's entry point.*/ + bl main + bx lr +.size Reset_Handler, .-Reset_Handler + +/** + * @brief This is the code that gets called when the processor receives an + * unexpected interrupt. This simply enters an infinite loop, preserving + * the system state for examination by a debugger. + * @param None + * @retval None +*/ + .section .text.Default_Handler,"ax",%progbits +Default_Handler: +Infinite_Loop: + b Infinite_Loop + .size Default_Handler, .-Default_Handler +/****************************************************************************** +* +* The minimal vector table for a Cortex M7. Note that the proper constructs +* must be placed on this to ensure that it ends up at physical address +* 0x0000.0000. +* +*******************************************************************************/ + .section .isr_vector,"a",%progbits + .type g_pfnVectors, %object + .size g_pfnVectors, .-g_pfnVectors + + +g_pfnVectors: + .word _estack + .word Reset_Handler + + .word NMI_Handler + .word HardFault_Handler + .word MemManage_Handler + .word BusFault_Handler + .word UsageFault_Handler + .word 0 + .word 0 + .word 0 + .word 0 + .word SVC_Handler + .word DebugMon_Handler + .word 0 + .word PendSV_Handler + .word SysTick_Handler + + /* External Interrupts */ + .word WWDG_IRQHandler /* Window WatchDog */ + .word PVD_IRQHandler /* PVD through EXTI Line detection */ + .word TAMP_STAMP_IRQHandler /* Tamper and TimeStamps through the EXTI line */ + .word RTC_WKUP_IRQHandler /* RTC Wakeup through the EXTI line */ + .word FLASH_IRQHandler /* FLASH */ + .word RCC_IRQHandler /* RCC */ + .word EXTI0_IRQHandler /* EXTI Line0 */ + .word EXTI1_IRQHandler /* EXTI Line1 */ + .word EXTI2_IRQHandler /* EXTI Line2 */ + .word EXTI3_IRQHandler /* EXTI Line3 */ + .word EXTI4_IRQHandler /* EXTI Line4 */ + .word DMA1_Stream0_IRQHandler /* DMA1 Stream 0 */ + .word DMA1_Stream1_IRQHandler /* DMA1 Stream 1 */ + .word DMA1_Stream2_IRQHandler /* DMA1 Stream 2 */ + .word DMA1_Stream3_IRQHandler /* DMA1 Stream 3 */ + .word DMA1_Stream4_IRQHandler /* DMA1 Stream 4 */ + .word DMA1_Stream5_IRQHandler /* DMA1 Stream 5 */ + .word DMA1_Stream6_IRQHandler /* DMA1 Stream 6 */ + .word ADC_IRQHandler /* ADC1, ADC2 and ADC3s */ + .word CAN1_TX_IRQHandler /* CAN1 TX */ + .word CAN1_RX0_IRQHandler /* CAN1 RX0 */ + .word CAN1_RX1_IRQHandler /* CAN1 RX1 */ + .word CAN1_SCE_IRQHandler /* CAN1 SCE */ + .word EXTI9_5_IRQHandler /* External Line[9:5]s */ + .word TIM1_BRK_TIM9_IRQHandler /* TIM1 Break and TIM9 */ + .word TIM1_UP_TIM10_IRQHandler /* TIM1 Update and TIM10 */ + .word TIM1_TRG_COM_TIM11_IRQHandler /* TIM1 Trigger and Commutation and TIM11 */ + .word TIM1_CC_IRQHandler /* TIM1 Capture Compare */ + .word TIM2_IRQHandler /* TIM2 */ + .word TIM3_IRQHandler /* TIM3 */ + .word TIM4_IRQHandler /* TIM4 */ + .word I2C1_EV_IRQHandler /* I2C1 Event */ + .word I2C1_ER_IRQHandler /* I2C1 Error */ + .word I2C2_EV_IRQHandler /* I2C2 Event */ + .word I2C2_ER_IRQHandler /* I2C2 Error */ + .word SPI1_IRQHandler /* SPI1 */ + .word SPI2_IRQHandler /* SPI2 */ + .word USART1_IRQHandler /* USART1 */ + .word USART2_IRQHandler /* USART2 */ + .word USART3_IRQHandler /* USART3 */ + .word EXTI15_10_IRQHandler /* External Line[15:10]s */ + .word RTC_Alarm_IRQHandler /* RTC Alarm (A and B) through EXTI Line */ + .word OTG_FS_WKUP_IRQHandler /* USB OTG FS Wakeup through EXTI line */ + .word TIM8_BRK_TIM12_IRQHandler /* TIM8 Break and TIM12 */ + .word TIM8_UP_TIM13_IRQHandler /* TIM8 Update and TIM13 */ + .word TIM8_TRG_COM_TIM14_IRQHandler /* TIM8 Trigger and Commutation and TIM14 */ + .word TIM8_CC_IRQHandler /* TIM8 Capture Compare */ + .word DMA1_Stream7_IRQHandler /* DMA1 Stream7 */ + .word FMC_IRQHandler /* FMC */ + .word SDMMC1_IRQHandler /* SDMMC1 */ + .word TIM5_IRQHandler /* TIM5 */ + .word SPI3_IRQHandler /* SPI3 */ + .word UART4_IRQHandler /* UART4 */ + .word UART5_IRQHandler /* UART5 */ + .word TIM6_DAC_IRQHandler /* TIM6 and DAC1&2 underrun errors */ + .word TIM7_IRQHandler /* TIM7 */ + .word DMA2_Stream0_IRQHandler /* DMA2 Stream 0 */ + .word DMA2_Stream1_IRQHandler /* DMA2 Stream 1 */ + .word DMA2_Stream2_IRQHandler /* DMA2 Stream 2 */ + .word DMA2_Stream3_IRQHandler /* DMA2 Stream 3 */ + .word DMA2_Stream4_IRQHandler /* DMA2 Stream 4 */ + .word ETH_IRQHandler /* Ethernet */ + .word ETH_WKUP_IRQHandler /* Ethernet Wakeup through EXTI line */ + .word CAN2_TX_IRQHandler /* CAN2 TX */ + .word CAN2_RX0_IRQHandler /* CAN2 RX0 */ + .word CAN2_RX1_IRQHandler /* CAN2 RX1 */ + .word CAN2_SCE_IRQHandler /* CAN2 SCE */ + .word OTG_FS_IRQHandler /* USB OTG FS */ + .word DMA2_Stream5_IRQHandler /* DMA2 Stream 5 */ + .word DMA2_Stream6_IRQHandler /* DMA2 Stream 6 */ + .word DMA2_Stream7_IRQHandler /* DMA2 Stream 7 */ + .word USART6_IRQHandler /* USART6 */ + .word I2C3_EV_IRQHandler /* I2C3 event */ + .word I2C3_ER_IRQHandler /* I2C3 error */ + .word OTG_HS_EP1_OUT_IRQHandler /* USB OTG HS End Point 1 Out */ + .word OTG_HS_EP1_IN_IRQHandler /* USB OTG HS End Point 1 In */ + .word OTG_HS_WKUP_IRQHandler /* USB OTG HS Wakeup through EXTI */ + .word OTG_HS_IRQHandler /* USB OTG HS */ + .word DCMI_IRQHandler /* DCMI */ + .word 0 /* Reserved */ + .word RNG_IRQHandler /* RNG */ + .word FPU_IRQHandler /* FPU */ + .word UART7_IRQHandler /* UART7 */ + .word UART8_IRQHandler /* UART8 */ + .word SPI4_IRQHandler /* SPI4 */ + .word SPI5_IRQHandler /* SPI5 */ + .word SPI6_IRQHandler /* SPI6 */ + .word SAI1_IRQHandler /* SAI1 */ + .word LTDC_IRQHandler /* LTDC */ + .word LTDC_ER_IRQHandler /* LTDC error */ + .word DMA2D_IRQHandler /* DMA2D */ + .word SAI2_IRQHandler /* SAI2 */ + .word QUADSPI_IRQHandler /* QUADSPI */ + .word LPTIM1_IRQHandler /* LPTIM1 */ + .word CEC_IRQHandler /* HDMI_CEC */ + .word I2C4_EV_IRQHandler /* I2C4 Event */ + .word I2C4_ER_IRQHandler /* I2C4 Error */ + .word SPDIF_RX_IRQHandler /* SPDIF_RX */ + .word 0 /* Reserved */ + .word DFSDM1_FLT0_IRQHandler /* DFSDM1 Filter 0 global Interrupt */ + .word DFSDM1_FLT1_IRQHandler /* DFSDM1 Filter 1 global Interrupt */ + .word DFSDM1_FLT2_IRQHandler /* DFSDM1 Filter 2 global Interrupt */ + .word DFSDM1_FLT3_IRQHandler /* DFSDM1 Filter 3 global Interrupt */ + .word SDMMC2_IRQHandler /* SDMMC2 */ + .word CAN3_TX_IRQHandler /* CAN3 TX */ + .word CAN3_RX0_IRQHandler /* CAN3 RX0 */ + .word CAN3_RX1_IRQHandler /* CAN3 RX1 */ + .word CAN3_SCE_IRQHandler /* CAN3 SCE */ + .word JPEG_IRQHandler /* JPEG */ + .word MDIOS_IRQHandler /* MDIOS */ + +/******************************************************************************* +* +* Provide weak aliases for each Exception handler to the Default_Handler. +* As they are weak aliases, any function with the same name will override +* this definition. +* +*******************************************************************************/ + .weak NMI_Handler + .thumb_set NMI_Handler,Default_Handler + + .weak HardFault_Handler + .thumb_set HardFault_Handler,Default_Handler + + .weak MemManage_Handler + .thumb_set MemManage_Handler,Default_Handler + + .weak BusFault_Handler + .thumb_set BusFault_Handler,Default_Handler + + .weak UsageFault_Handler + .thumb_set UsageFault_Handler,Default_Handler + + .weak SVC_Handler + .thumb_set SVC_Handler,Default_Handler + + .weak DebugMon_Handler + .thumb_set DebugMon_Handler,Default_Handler + + .weak PendSV_Handler + .thumb_set PendSV_Handler,Default_Handler + + .weak SysTick_Handler + .thumb_set SysTick_Handler,Default_Handler + + .weak WWDG_IRQHandler + .thumb_set WWDG_IRQHandler,Default_Handler + + .weak PVD_IRQHandler + .thumb_set PVD_IRQHandler,Default_Handler + + .weak TAMP_STAMP_IRQHandler + .thumb_set TAMP_STAMP_IRQHandler,Default_Handler + + .weak RTC_WKUP_IRQHandler + .thumb_set RTC_WKUP_IRQHandler,Default_Handler + + .weak FLASH_IRQHandler + .thumb_set FLASH_IRQHandler,Default_Handler + + .weak RCC_IRQHandler + .thumb_set RCC_IRQHandler,Default_Handler + + .weak EXTI0_IRQHandler + .thumb_set EXTI0_IRQHandler,Default_Handler + + .weak EXTI1_IRQHandler + .thumb_set EXTI1_IRQHandler,Default_Handler + + .weak EXTI2_IRQHandler + .thumb_set EXTI2_IRQHandler,Default_Handler + + .weak EXTI3_IRQHandler + .thumb_set EXTI3_IRQHandler,Default_Handler + + .weak EXTI4_IRQHandler + .thumb_set EXTI4_IRQHandler,Default_Handler + + .weak DMA1_Stream0_IRQHandler + .thumb_set DMA1_Stream0_IRQHandler,Default_Handler + + .weak DMA1_Stream1_IRQHandler + .thumb_set DMA1_Stream1_IRQHandler,Default_Handler + + .weak DMA1_Stream2_IRQHandler + .thumb_set DMA1_Stream2_IRQHandler,Default_Handler + + .weak DMA1_Stream3_IRQHandler + .thumb_set DMA1_Stream3_IRQHandler,Default_Handler + + .weak DMA1_Stream4_IRQHandler + .thumb_set DMA1_Stream4_IRQHandler,Default_Handler + + .weak DMA1_Stream5_IRQHandler + .thumb_set DMA1_Stream5_IRQHandler,Default_Handler + + .weak DMA1_Stream6_IRQHandler + .thumb_set DMA1_Stream6_IRQHandler,Default_Handler + + .weak ADC_IRQHandler + .thumb_set ADC_IRQHandler,Default_Handler + + .weak CAN1_TX_IRQHandler + .thumb_set CAN1_TX_IRQHandler,Default_Handler + + .weak CAN1_RX0_IRQHandler + .thumb_set CAN1_RX0_IRQHandler,Default_Handler + + .weak CAN1_RX1_IRQHandler + .thumb_set CAN1_RX1_IRQHandler,Default_Handler + + .weak CAN1_SCE_IRQHandler + .thumb_set CAN1_SCE_IRQHandler,Default_Handler + + .weak EXTI9_5_IRQHandler + .thumb_set EXTI9_5_IRQHandler,Default_Handler + + .weak TIM1_BRK_TIM9_IRQHandler + .thumb_set TIM1_BRK_TIM9_IRQHandler,Default_Handler + + .weak TIM1_UP_TIM10_IRQHandler + .thumb_set TIM1_UP_TIM10_IRQHandler,Default_Handler + + .weak TIM1_TRG_COM_TIM11_IRQHandler + .thumb_set TIM1_TRG_COM_TIM11_IRQHandler,Default_Handler + + .weak TIM1_CC_IRQHandler + .thumb_set TIM1_CC_IRQHandler,Default_Handler + + .weak TIM2_IRQHandler + .thumb_set TIM2_IRQHandler,Default_Handler + + .weak TIM3_IRQHandler + .thumb_set TIM3_IRQHandler,Default_Handler + + .weak TIM4_IRQHandler + .thumb_set TIM4_IRQHandler,Default_Handler + + .weak I2C1_EV_IRQHandler + .thumb_set I2C1_EV_IRQHandler,Default_Handler + + .weak I2C1_ER_IRQHandler + .thumb_set I2C1_ER_IRQHandler,Default_Handler + + .weak I2C2_EV_IRQHandler + .thumb_set I2C2_EV_IRQHandler,Default_Handler + + .weak I2C2_ER_IRQHandler + .thumb_set I2C2_ER_IRQHandler,Default_Handler + + .weak SPI1_IRQHandler + .thumb_set SPI1_IRQHandler,Default_Handler + + .weak SPI2_IRQHandler + .thumb_set SPI2_IRQHandler,Default_Handler + + .weak USART1_IRQHandler + .thumb_set USART1_IRQHandler,Default_Handler + + .weak USART2_IRQHandler + .thumb_set USART2_IRQHandler,Default_Handler + + .weak USART3_IRQHandler + .thumb_set USART3_IRQHandler,Default_Handler + + .weak EXTI15_10_IRQHandler + .thumb_set EXTI15_10_IRQHandler,Default_Handler + + .weak RTC_Alarm_IRQHandler + .thumb_set RTC_Alarm_IRQHandler,Default_Handler + + .weak OTG_FS_WKUP_IRQHandler + .thumb_set OTG_FS_WKUP_IRQHandler,Default_Handler + + .weak TIM8_BRK_TIM12_IRQHandler + .thumb_set TIM8_BRK_TIM12_IRQHandler,Default_Handler + + .weak TIM8_UP_TIM13_IRQHandler + .thumb_set TIM8_UP_TIM13_IRQHandler,Default_Handler + + .weak TIM8_TRG_COM_TIM14_IRQHandler + .thumb_set TIM8_TRG_COM_TIM14_IRQHandler,Default_Handler + + .weak TIM8_CC_IRQHandler + .thumb_set TIM8_CC_IRQHandler,Default_Handler + + .weak DMA1_Stream7_IRQHandler + .thumb_set DMA1_Stream7_IRQHandler,Default_Handler + + .weak FMC_IRQHandler + .thumb_set FMC_IRQHandler,Default_Handler + + .weak SDMMC1_IRQHandler + .thumb_set SDMMC1_IRQHandler,Default_Handler + + .weak TIM5_IRQHandler + .thumb_set TIM5_IRQHandler,Default_Handler + + .weak SPI3_IRQHandler + .thumb_set SPI3_IRQHandler,Default_Handler + + .weak UART4_IRQHandler + .thumb_set UART4_IRQHandler,Default_Handler + + .weak UART5_IRQHandler + .thumb_set UART5_IRQHandler,Default_Handler + + .weak TIM6_DAC_IRQHandler + .thumb_set TIM6_DAC_IRQHandler,Default_Handler + + .weak TIM7_IRQHandler + .thumb_set TIM7_IRQHandler,Default_Handler + + .weak DMA2_Stream0_IRQHandler + .thumb_set DMA2_Stream0_IRQHandler,Default_Handler + + .weak DMA2_Stream1_IRQHandler + .thumb_set DMA2_Stream1_IRQHandler,Default_Handler + + .weak DMA2_Stream2_IRQHandler + .thumb_set DMA2_Stream2_IRQHandler,Default_Handler + + .weak DMA2_Stream3_IRQHandler + .thumb_set DMA2_Stream3_IRQHandler,Default_Handler + + .weak DMA2_Stream4_IRQHandler + .thumb_set DMA2_Stream4_IRQHandler,Default_Handler + + .weak ETH_IRQHandler + .thumb_set ETH_IRQHandler,Default_Handler + + .weak ETH_WKUP_IRQHandler + .thumb_set ETH_WKUP_IRQHandler,Default_Handler + + .weak CAN2_TX_IRQHandler + .thumb_set CAN2_TX_IRQHandler,Default_Handler + + .weak CAN2_RX0_IRQHandler + .thumb_set CAN2_RX0_IRQHandler,Default_Handler + + .weak CAN2_RX1_IRQHandler + .thumb_set CAN2_RX1_IRQHandler,Default_Handler + + .weak CAN2_SCE_IRQHandler + .thumb_set CAN2_SCE_IRQHandler,Default_Handler + + .weak OTG_FS_IRQHandler + .thumb_set OTG_FS_IRQHandler,Default_Handler + + .weak DMA2_Stream5_IRQHandler + .thumb_set DMA2_Stream5_IRQHandler,Default_Handler + + .weak DMA2_Stream6_IRQHandler + .thumb_set DMA2_Stream6_IRQHandler,Default_Handler + + .weak DMA2_Stream7_IRQHandler + .thumb_set DMA2_Stream7_IRQHandler,Default_Handler + + .weak USART6_IRQHandler + .thumb_set USART6_IRQHandler,Default_Handler + + .weak I2C3_EV_IRQHandler + .thumb_set I2C3_EV_IRQHandler,Default_Handler + + .weak I2C3_ER_IRQHandler + .thumb_set I2C3_ER_IRQHandler,Default_Handler + + .weak OTG_HS_EP1_OUT_IRQHandler + .thumb_set OTG_HS_EP1_OUT_IRQHandler,Default_Handler + + .weak OTG_HS_EP1_IN_IRQHandler + .thumb_set OTG_HS_EP1_IN_IRQHandler,Default_Handler + + .weak OTG_HS_WKUP_IRQHandler + .thumb_set OTG_HS_WKUP_IRQHandler,Default_Handler + + .weak OTG_HS_IRQHandler + .thumb_set OTG_HS_IRQHandler,Default_Handler + + .weak DCMI_IRQHandler + .thumb_set DCMI_IRQHandler,Default_Handler + + .weak RNG_IRQHandler + .thumb_set RNG_IRQHandler,Default_Handler + + .weak FPU_IRQHandler + .thumb_set FPU_IRQHandler,Default_Handler + + .weak UART7_IRQHandler + .thumb_set UART7_IRQHandler,Default_Handler + + .weak UART8_IRQHandler + .thumb_set UART8_IRQHandler,Default_Handler + + .weak SPI4_IRQHandler + .thumb_set SPI4_IRQHandler,Default_Handler + + .weak SPI5_IRQHandler + .thumb_set SPI5_IRQHandler,Default_Handler + + .weak SPI6_IRQHandler + .thumb_set SPI6_IRQHandler,Default_Handler + + .weak SAI1_IRQHandler + .thumb_set SAI1_IRQHandler,Default_Handler + + .weak LTDC_IRQHandler + .thumb_set LTDC_IRQHandler,Default_Handler + + .weak LTDC_ER_IRQHandler + .thumb_set LTDC_ER_IRQHandler,Default_Handler + + .weak DMA2D_IRQHandler + .thumb_set DMA2D_IRQHandler,Default_Handler + + .weak SAI2_IRQHandler + .thumb_set SAI2_IRQHandler,Default_Handler + + .weak QUADSPI_IRQHandler + .thumb_set QUADSPI_IRQHandler,Default_Handler + + .weak LPTIM1_IRQHandler + .thumb_set LPTIM1_IRQHandler,Default_Handler + + .weak CEC_IRQHandler + .thumb_set CEC_IRQHandler,Default_Handler + + .weak I2C4_EV_IRQHandler + .thumb_set I2C4_EV_IRQHandler,Default_Handler + + .weak I2C4_ER_IRQHandler + .thumb_set I2C4_ER_IRQHandler,Default_Handler + + .weak SPDIF_RX_IRQHandler + .thumb_set SPDIF_RX_IRQHandler,Default_Handler + + .weak DFSDM1_FLT0_IRQHandler + .thumb_set DFSDM1_FLT0_IRQHandler,Default_Handler + + .weak DFSDM1_FLT1_IRQHandler + .thumb_set DFSDM1_FLT1_IRQHandler,Default_Handler + + .weak DFSDM1_FLT2_IRQHandler + .thumb_set DFSDM1_FLT2_IRQHandler,Default_Handler + + .weak DFSDM1_FLT3_IRQHandler + .thumb_set DFSDM1_FLT3_IRQHandler,Default_Handler + + .weak SDMMC2_IRQHandler + .thumb_set SDMMC2_IRQHandler,Default_Handler + + .weak CAN3_TX_IRQHandler + .thumb_set CAN3_TX_IRQHandler,Default_Handler + + .weak CAN3_RX0_IRQHandler + .thumb_set CAN3_RX0_IRQHandler,Default_Handler + + .weak CAN3_RX1_IRQHandler + .thumb_set CAN3_RX1_IRQHandler,Default_Handler + + .weak CAN3_SCE_IRQHandler + .thumb_set CAN3_SCE_IRQHandler,Default_Handler + + .weak JPEG_IRQHandler + .thumb_set JPEG_IRQHandler,Default_Handler + + .weak MDIOS_IRQHandler + .thumb_set MDIOS_IRQHandler,Default_Handler + + + diff --git a/extra/stm_exp_pack/Drivers/CMSIS/Device/ST/STM32F7xx/Source/Templates/gcc/startup_stm32f769xx.s b/extra/stm_exp_pack/Drivers/CMSIS/Device/ST/STM32F7xx/Source/Templates/gcc/startup_stm32f769xx.s new file mode 100644 index 00000000..56b9d432 --- /dev/null +++ b/extra/stm_exp_pack/Drivers/CMSIS/Device/ST/STM32F7xx/Source/Templates/gcc/startup_stm32f769xx.s @@ -0,0 +1,619 @@ +/** + ****************************************************************************** + * @file startup_stm32f769xx.s + * @author MCD Application Team + * @brief STM32F769xx Devices vector table for GCC based toolchain. + * This module performs: + * - Set the initial SP + * - Set the initial PC == Reset_Handler, + * - Set the vector table entries with the exceptions ISR address + * - Branches to main in the C library (which eventually + * calls main()). + * After Reset the Cortex-M7 processor is in Thread mode, + * priority is Privileged, and the Stack is set to Main. + ****************************************************************************** + * @attention + * + * Copyright (c) 2016 STMicroelectronics. + * All rights reserved. + * + * This software is licensed under terms that can be found in the LICENSE file + * in the root directory of this software component. + * If no LICENSE file comes with this software, it is provided AS-IS. + * + ****************************************************************************** + */ + + .syntax unified + .cpu cortex-m7 + .fpu softvfp + .thumb + +.global g_pfnVectors +.global Default_Handler + +/* start address for the initialization values of the .data section. +defined in linker script */ +.word _sidata +/* start address for the .data section. defined in linker script */ +.word _sdata +/* end address for the .data section. defined in linker script */ +.word _edata +/* start address for the .bss section. defined in linker script */ +.word _sbss +/* end address for the .bss section. defined in linker script */ +.word _ebss +/* stack used for SystemInit_ExtMemCtl; always internal RAM used */ + +/** + * @brief This is the code that gets called when the processor first + * starts execution following a reset event. Only the absolutely + * necessary set is performed, after which the application + * supplied main() routine is called. + * @param None + * @retval : None +*/ + + .section .text.Reset_Handler + .weak Reset_Handler + .type Reset_Handler, %function +Reset_Handler: + ldr sp, =_estack /* set stack pointer */ + +/* Copy the data segment initializers from flash to SRAM */ + ldr r0, =_sdata + ldr r1, =_edata + ldr r2, =_sidata + movs r3, #0 + b LoopCopyDataInit + +CopyDataInit: + ldr r4, [r2, r3] + str r4, [r0, r3] + adds r3, r3, #4 + +LoopCopyDataInit: + adds r4, r0, r3 + cmp r4, r1 + bcc CopyDataInit + +/* Zero fill the bss segment. */ + ldr r2, =_sbss + ldr r4, =_ebss + movs r3, #0 + b LoopFillZerobss + +FillZerobss: + str r3, [r2] + adds r2, r2, #4 + +LoopFillZerobss: + cmp r2, r4 + bcc FillZerobss + +/* Call the clock system intitialization function.*/ + bl SystemInit +/* Call static constructors */ + bl __libc_init_array +/* Call the application's entry point.*/ + bl main + bx lr +.size Reset_Handler, .-Reset_Handler + +/** + * @brief This is the code that gets called when the processor receives an + * unexpected interrupt. This simply enters an infinite loop, preserving + * the system state for examination by a debugger. + * @param None + * @retval None +*/ + .section .text.Default_Handler,"ax",%progbits +Default_Handler: +Infinite_Loop: + b Infinite_Loop + .size Default_Handler, .-Default_Handler +/****************************************************************************** +* +* The minimal vector table for a Cortex M7. Note that the proper constructs +* must be placed on this to ensure that it ends up at physical address +* 0x0000.0000. +* +*******************************************************************************/ + .section .isr_vector,"a",%progbits + .type g_pfnVectors, %object + .size g_pfnVectors, .-g_pfnVectors + + +g_pfnVectors: + .word _estack + .word Reset_Handler + + .word NMI_Handler + .word HardFault_Handler + .word MemManage_Handler + .word BusFault_Handler + .word UsageFault_Handler + .word 0 + .word 0 + .word 0 + .word 0 + .word SVC_Handler + .word DebugMon_Handler + .word 0 + .word PendSV_Handler + .word SysTick_Handler + + /* External Interrupts */ + .word WWDG_IRQHandler /* Window WatchDog */ + .word PVD_IRQHandler /* PVD through EXTI Line detection */ + .word TAMP_STAMP_IRQHandler /* Tamper and TimeStamps through the EXTI line */ + .word RTC_WKUP_IRQHandler /* RTC Wakeup through the EXTI line */ + .word FLASH_IRQHandler /* FLASH */ + .word RCC_IRQHandler /* RCC */ + .word EXTI0_IRQHandler /* EXTI Line0 */ + .word EXTI1_IRQHandler /* EXTI Line1 */ + .word EXTI2_IRQHandler /* EXTI Line2 */ + .word EXTI3_IRQHandler /* EXTI Line3 */ + .word EXTI4_IRQHandler /* EXTI Line4 */ + .word DMA1_Stream0_IRQHandler /* DMA1 Stream 0 */ + .word DMA1_Stream1_IRQHandler /* DMA1 Stream 1 */ + .word DMA1_Stream2_IRQHandler /* DMA1 Stream 2 */ + .word DMA1_Stream3_IRQHandler /* DMA1 Stream 3 */ + .word DMA1_Stream4_IRQHandler /* DMA1 Stream 4 */ + .word DMA1_Stream5_IRQHandler /* DMA1 Stream 5 */ + .word DMA1_Stream6_IRQHandler /* DMA1 Stream 6 */ + .word ADC_IRQHandler /* ADC1, ADC2 and ADC3s */ + .word CAN1_TX_IRQHandler /* CAN1 TX */ + .word CAN1_RX0_IRQHandler /* CAN1 RX0 */ + .word CAN1_RX1_IRQHandler /* CAN1 RX1 */ + .word CAN1_SCE_IRQHandler /* CAN1 SCE */ + .word EXTI9_5_IRQHandler /* External Line[9:5]s */ + .word TIM1_BRK_TIM9_IRQHandler /* TIM1 Break and TIM9 */ + .word TIM1_UP_TIM10_IRQHandler /* TIM1 Update and TIM10 */ + .word TIM1_TRG_COM_TIM11_IRQHandler /* TIM1 Trigger and Commutation and TIM11 */ + .word TIM1_CC_IRQHandler /* TIM1 Capture Compare */ + .word TIM2_IRQHandler /* TIM2 */ + .word TIM3_IRQHandler /* TIM3 */ + .word TIM4_IRQHandler /* TIM4 */ + .word I2C1_EV_IRQHandler /* I2C1 Event */ + .word I2C1_ER_IRQHandler /* I2C1 Error */ + .word I2C2_EV_IRQHandler /* I2C2 Event */ + .word I2C2_ER_IRQHandler /* I2C2 Error */ + .word SPI1_IRQHandler /* SPI1 */ + .word SPI2_IRQHandler /* SPI2 */ + .word USART1_IRQHandler /* USART1 */ + .word USART2_IRQHandler /* USART2 */ + .word USART3_IRQHandler /* USART3 */ + .word EXTI15_10_IRQHandler /* External Line[15:10]s */ + .word RTC_Alarm_IRQHandler /* RTC Alarm (A and B) through EXTI Line */ + .word OTG_FS_WKUP_IRQHandler /* USB OTG FS Wakeup through EXTI line */ + .word TIM8_BRK_TIM12_IRQHandler /* TIM8 Break and TIM12 */ + .word TIM8_UP_TIM13_IRQHandler /* TIM8 Update and TIM13 */ + .word TIM8_TRG_COM_TIM14_IRQHandler /* TIM8 Trigger and Commutation and TIM14 */ + .word TIM8_CC_IRQHandler /* TIM8 Capture Compare */ + .word DMA1_Stream7_IRQHandler /* DMA1 Stream7 */ + .word FMC_IRQHandler /* FMC */ + .word SDMMC1_IRQHandler /* SDMMC1 */ + .word TIM5_IRQHandler /* TIM5 */ + .word SPI3_IRQHandler /* SPI3 */ + .word UART4_IRQHandler /* UART4 */ + .word UART5_IRQHandler /* UART5 */ + .word TIM6_DAC_IRQHandler /* TIM6 and DAC1&2 underrun errors */ + .word TIM7_IRQHandler /* TIM7 */ + .word DMA2_Stream0_IRQHandler /* DMA2 Stream 0 */ + .word DMA2_Stream1_IRQHandler /* DMA2 Stream 1 */ + .word DMA2_Stream2_IRQHandler /* DMA2 Stream 2 */ + .word DMA2_Stream3_IRQHandler /* DMA2 Stream 3 */ + .word DMA2_Stream4_IRQHandler /* DMA2 Stream 4 */ + .word ETH_IRQHandler /* Ethernet */ + .word ETH_WKUP_IRQHandler /* Ethernet Wakeup through EXTI line */ + .word CAN2_TX_IRQHandler /* CAN2 TX */ + .word CAN2_RX0_IRQHandler /* CAN2 RX0 */ + .word CAN2_RX1_IRQHandler /* CAN2 RX1 */ + .word CAN2_SCE_IRQHandler /* CAN2 SCE */ + .word OTG_FS_IRQHandler /* USB OTG FS */ + .word DMA2_Stream5_IRQHandler /* DMA2 Stream 5 */ + .word DMA2_Stream6_IRQHandler /* DMA2 Stream 6 */ + .word DMA2_Stream7_IRQHandler /* DMA2 Stream 7 */ + .word USART6_IRQHandler /* USART6 */ + .word I2C3_EV_IRQHandler /* I2C3 event */ + .word I2C3_ER_IRQHandler /* I2C3 error */ + .word OTG_HS_EP1_OUT_IRQHandler /* USB OTG HS End Point 1 Out */ + .word OTG_HS_EP1_IN_IRQHandler /* USB OTG HS End Point 1 In */ + .word OTG_HS_WKUP_IRQHandler /* USB OTG HS Wakeup through EXTI */ + .word OTG_HS_IRQHandler /* USB OTG HS */ + .word DCMI_IRQHandler /* DCMI */ + .word 0 /* Reserved */ + .word RNG_IRQHandler /* RNG */ + .word FPU_IRQHandler /* FPU */ + .word UART7_IRQHandler /* UART7 */ + .word UART8_IRQHandler /* UART8 */ + .word SPI4_IRQHandler /* SPI4 */ + .word SPI5_IRQHandler /* SPI5 */ + .word SPI6_IRQHandler /* SPI6 */ + .word SAI1_IRQHandler /* SAI1 */ + .word LTDC_IRQHandler /* LTDC */ + .word LTDC_ER_IRQHandler /* LTDC error */ + .word DMA2D_IRQHandler /* DMA2D */ + .word SAI2_IRQHandler /* SAI2 */ + .word QUADSPI_IRQHandler /* QUADSPI */ + .word LPTIM1_IRQHandler /* LPTIM1 */ + .word CEC_IRQHandler /* HDMI_CEC */ + .word I2C4_EV_IRQHandler /* I2C4 Event */ + .word I2C4_ER_IRQHandler /* I2C4 Error */ + .word SPDIF_RX_IRQHandler /* SPDIF_RX */ + .word DSI_IRQHandler /* DSI */ + .word DFSDM1_FLT0_IRQHandler /* DFSDM1 Filter 0 global Interrupt */ + .word DFSDM1_FLT1_IRQHandler /* DFSDM1 Filter 1 global Interrupt */ + .word DFSDM1_FLT2_IRQHandler /* DFSDM1 Filter 2 global Interrupt */ + .word DFSDM1_FLT3_IRQHandler /* DFSDM1 Filter 3 global Interrupt */ + .word SDMMC2_IRQHandler /* SDMMC2 */ + .word CAN3_TX_IRQHandler /* CAN3 TX */ + .word CAN3_RX0_IRQHandler /* CAN3 RX0 */ + .word CAN3_RX1_IRQHandler /* CAN3 RX1 */ + .word CAN3_SCE_IRQHandler /* CAN3 SCE */ + .word JPEG_IRQHandler /* JPEG */ + .word MDIOS_IRQHandler /* MDIOS */ + +/******************************************************************************* +* +* Provide weak aliases for each Exception handler to the Default_Handler. +* As they are weak aliases, any function with the same name will override +* this definition. +* +*******************************************************************************/ + .weak NMI_Handler + .thumb_set NMI_Handler,Default_Handler + + .weak HardFault_Handler + .thumb_set HardFault_Handler,Default_Handler + + .weak MemManage_Handler + .thumb_set MemManage_Handler,Default_Handler + + .weak BusFault_Handler + .thumb_set BusFault_Handler,Default_Handler + + .weak UsageFault_Handler + .thumb_set UsageFault_Handler,Default_Handler + + .weak SVC_Handler + .thumb_set SVC_Handler,Default_Handler + + .weak DebugMon_Handler + .thumb_set DebugMon_Handler,Default_Handler + + .weak PendSV_Handler + .thumb_set PendSV_Handler,Default_Handler + + .weak SysTick_Handler + .thumb_set SysTick_Handler,Default_Handler + + .weak WWDG_IRQHandler + .thumb_set WWDG_IRQHandler,Default_Handler + + .weak PVD_IRQHandler + .thumb_set PVD_IRQHandler,Default_Handler + + .weak TAMP_STAMP_IRQHandler + .thumb_set TAMP_STAMP_IRQHandler,Default_Handler + + .weak RTC_WKUP_IRQHandler + .thumb_set RTC_WKUP_IRQHandler,Default_Handler + + .weak FLASH_IRQHandler + .thumb_set FLASH_IRQHandler,Default_Handler + + .weak RCC_IRQHandler + .thumb_set RCC_IRQHandler,Default_Handler + + .weak EXTI0_IRQHandler + .thumb_set EXTI0_IRQHandler,Default_Handler + + .weak EXTI1_IRQHandler + .thumb_set EXTI1_IRQHandler,Default_Handler + + .weak EXTI2_IRQHandler + .thumb_set EXTI2_IRQHandler,Default_Handler + + .weak EXTI3_IRQHandler + .thumb_set EXTI3_IRQHandler,Default_Handler + + .weak EXTI4_IRQHandler + .thumb_set EXTI4_IRQHandler,Default_Handler + + .weak DMA1_Stream0_IRQHandler + .thumb_set DMA1_Stream0_IRQHandler,Default_Handler + + .weak DMA1_Stream1_IRQHandler + .thumb_set DMA1_Stream1_IRQHandler,Default_Handler + + .weak DMA1_Stream2_IRQHandler + .thumb_set DMA1_Stream2_IRQHandler,Default_Handler + + .weak DMA1_Stream3_IRQHandler + .thumb_set DMA1_Stream3_IRQHandler,Default_Handler + + .weak DMA1_Stream4_IRQHandler + .thumb_set DMA1_Stream4_IRQHandler,Default_Handler + + .weak DMA1_Stream5_IRQHandler + .thumb_set DMA1_Stream5_IRQHandler,Default_Handler + + .weak DMA1_Stream6_IRQHandler + .thumb_set DMA1_Stream6_IRQHandler,Default_Handler + + .weak ADC_IRQHandler + .thumb_set ADC_IRQHandler,Default_Handler + + .weak CAN1_TX_IRQHandler + .thumb_set CAN1_TX_IRQHandler,Default_Handler + + .weak CAN1_RX0_IRQHandler + .thumb_set CAN1_RX0_IRQHandler,Default_Handler + + .weak CAN1_RX1_IRQHandler + .thumb_set CAN1_RX1_IRQHandler,Default_Handler + + .weak CAN1_SCE_IRQHandler + .thumb_set CAN1_SCE_IRQHandler,Default_Handler + + .weak EXTI9_5_IRQHandler + .thumb_set EXTI9_5_IRQHandler,Default_Handler + + .weak TIM1_BRK_TIM9_IRQHandler + .thumb_set TIM1_BRK_TIM9_IRQHandler,Default_Handler + + .weak TIM1_UP_TIM10_IRQHandler + .thumb_set TIM1_UP_TIM10_IRQHandler,Default_Handler + + .weak TIM1_TRG_COM_TIM11_IRQHandler + .thumb_set TIM1_TRG_COM_TIM11_IRQHandler,Default_Handler + + .weak TIM1_CC_IRQHandler + .thumb_set TIM1_CC_IRQHandler,Default_Handler + + .weak TIM2_IRQHandler + .thumb_set TIM2_IRQHandler,Default_Handler + + .weak TIM3_IRQHandler + .thumb_set TIM3_IRQHandler,Default_Handler + + .weak TIM4_IRQHandler + .thumb_set TIM4_IRQHandler,Default_Handler + + .weak I2C1_EV_IRQHandler + .thumb_set I2C1_EV_IRQHandler,Default_Handler + + .weak I2C1_ER_IRQHandler + .thumb_set I2C1_ER_IRQHandler,Default_Handler + + .weak I2C2_EV_IRQHandler + .thumb_set I2C2_EV_IRQHandler,Default_Handler + + .weak I2C2_ER_IRQHandler + .thumb_set I2C2_ER_IRQHandler,Default_Handler + + .weak SPI1_IRQHandler + .thumb_set SPI1_IRQHandler,Default_Handler + + .weak SPI2_IRQHandler + .thumb_set SPI2_IRQHandler,Default_Handler + + .weak USART1_IRQHandler + .thumb_set USART1_IRQHandler,Default_Handler + + .weak USART2_IRQHandler + .thumb_set USART2_IRQHandler,Default_Handler + + .weak USART3_IRQHandler + .thumb_set USART3_IRQHandler,Default_Handler + + .weak EXTI15_10_IRQHandler + .thumb_set EXTI15_10_IRQHandler,Default_Handler + + .weak RTC_Alarm_IRQHandler + .thumb_set RTC_Alarm_IRQHandler,Default_Handler + + .weak OTG_FS_WKUP_IRQHandler + .thumb_set OTG_FS_WKUP_IRQHandler,Default_Handler + + .weak TIM8_BRK_TIM12_IRQHandler + .thumb_set TIM8_BRK_TIM12_IRQHandler,Default_Handler + + .weak TIM8_UP_TIM13_IRQHandler + .thumb_set TIM8_UP_TIM13_IRQHandler,Default_Handler + + .weak TIM8_TRG_COM_TIM14_IRQHandler + .thumb_set TIM8_TRG_COM_TIM14_IRQHandler,Default_Handler + + .weak TIM8_CC_IRQHandler + .thumb_set TIM8_CC_IRQHandler,Default_Handler + + .weak DMA1_Stream7_IRQHandler + .thumb_set DMA1_Stream7_IRQHandler,Default_Handler + + .weak FMC_IRQHandler + .thumb_set FMC_IRQHandler,Default_Handler + + .weak SDMMC1_IRQHandler + .thumb_set SDMMC1_IRQHandler,Default_Handler + + .weak TIM5_IRQHandler + .thumb_set TIM5_IRQHandler,Default_Handler + + .weak SPI3_IRQHandler + .thumb_set SPI3_IRQHandler,Default_Handler + + .weak UART4_IRQHandler + .thumb_set UART4_IRQHandler,Default_Handler + + .weak UART5_IRQHandler + .thumb_set UART5_IRQHandler,Default_Handler + + .weak TIM6_DAC_IRQHandler + .thumb_set TIM6_DAC_IRQHandler,Default_Handler + + .weak TIM7_IRQHandler + .thumb_set TIM7_IRQHandler,Default_Handler + + .weak DMA2_Stream0_IRQHandler + .thumb_set DMA2_Stream0_IRQHandler,Default_Handler + + .weak DMA2_Stream1_IRQHandler + .thumb_set DMA2_Stream1_IRQHandler,Default_Handler + + .weak DMA2_Stream2_IRQHandler + .thumb_set DMA2_Stream2_IRQHandler,Default_Handler + + .weak DMA2_Stream3_IRQHandler + .thumb_set DMA2_Stream3_IRQHandler,Default_Handler + + .weak DMA2_Stream4_IRQHandler + .thumb_set DMA2_Stream4_IRQHandler,Default_Handler + + .weak ETH_IRQHandler + .thumb_set ETH_IRQHandler,Default_Handler + + .weak ETH_WKUP_IRQHandler + .thumb_set ETH_WKUP_IRQHandler,Default_Handler + + .weak CAN2_TX_IRQHandler + .thumb_set CAN2_TX_IRQHandler,Default_Handler + + .weak CAN2_RX0_IRQHandler + .thumb_set CAN2_RX0_IRQHandler,Default_Handler + + .weak CAN2_RX1_IRQHandler + .thumb_set CAN2_RX1_IRQHandler,Default_Handler + + .weak CAN2_SCE_IRQHandler + .thumb_set CAN2_SCE_IRQHandler,Default_Handler + + .weak OTG_FS_IRQHandler + .thumb_set OTG_FS_IRQHandler,Default_Handler + + .weak DMA2_Stream5_IRQHandler + .thumb_set DMA2_Stream5_IRQHandler,Default_Handler + + .weak DMA2_Stream6_IRQHandler + .thumb_set DMA2_Stream6_IRQHandler,Default_Handler + + .weak DMA2_Stream7_IRQHandler + .thumb_set DMA2_Stream7_IRQHandler,Default_Handler + + .weak USART6_IRQHandler + .thumb_set USART6_IRQHandler,Default_Handler + + .weak I2C3_EV_IRQHandler + .thumb_set I2C3_EV_IRQHandler,Default_Handler + + .weak I2C3_ER_IRQHandler + .thumb_set I2C3_ER_IRQHandler,Default_Handler + + .weak OTG_HS_EP1_OUT_IRQHandler + .thumb_set OTG_HS_EP1_OUT_IRQHandler,Default_Handler + + .weak OTG_HS_EP1_IN_IRQHandler + .thumb_set OTG_HS_EP1_IN_IRQHandler,Default_Handler + + .weak OTG_HS_WKUP_IRQHandler + .thumb_set OTG_HS_WKUP_IRQHandler,Default_Handler + + .weak OTG_HS_IRQHandler + .thumb_set OTG_HS_IRQHandler,Default_Handler + + .weak DCMI_IRQHandler + .thumb_set DCMI_IRQHandler,Default_Handler + + .weak RNG_IRQHandler + .thumb_set RNG_IRQHandler,Default_Handler + + .weak FPU_IRQHandler + .thumb_set FPU_IRQHandler,Default_Handler + + .weak UART7_IRQHandler + .thumb_set UART7_IRQHandler,Default_Handler + + .weak UART8_IRQHandler + .thumb_set UART8_IRQHandler,Default_Handler + + .weak SPI4_IRQHandler + .thumb_set SPI4_IRQHandler,Default_Handler + + .weak SPI5_IRQHandler + .thumb_set SPI5_IRQHandler,Default_Handler + + .weak SPI6_IRQHandler + .thumb_set SPI6_IRQHandler,Default_Handler + + .weak SAI1_IRQHandler + .thumb_set SAI1_IRQHandler,Default_Handler + + .weak LTDC_IRQHandler + .thumb_set LTDC_IRQHandler,Default_Handler + + .weak LTDC_ER_IRQHandler + .thumb_set LTDC_ER_IRQHandler,Default_Handler + + .weak DMA2D_IRQHandler + .thumb_set DMA2D_IRQHandler,Default_Handler + + .weak SAI2_IRQHandler + .thumb_set SAI2_IRQHandler,Default_Handler + + .weak QUADSPI_IRQHandler + .thumb_set QUADSPI_IRQHandler,Default_Handler + + .weak LPTIM1_IRQHandler + .thumb_set LPTIM1_IRQHandler,Default_Handler + + .weak CEC_IRQHandler + .thumb_set CEC_IRQHandler,Default_Handler + + .weak I2C4_EV_IRQHandler + .thumb_set I2C4_EV_IRQHandler,Default_Handler + + .weak I2C4_ER_IRQHandler + .thumb_set I2C4_ER_IRQHandler,Default_Handler + + .weak SPDIF_RX_IRQHandler + .thumb_set SPDIF_RX_IRQHandler,Default_Handler + + .weak DSI_IRQHandler + .thumb_set DSI_IRQHandler,Default_Handler + + .weak DFSDM1_FLT0_IRQHandler + .thumb_set DFSDM1_FLT0_IRQHandler,Default_Handler + + .weak DFSDM1_FLT1_IRQHandler + .thumb_set DFSDM1_FLT1_IRQHandler,Default_Handler + + .weak DFSDM1_FLT2_IRQHandler + .thumb_set DFSDM1_FLT2_IRQHandler,Default_Handler + + .weak DFSDM1_FLT3_IRQHandler + .thumb_set DFSDM1_FLT3_IRQHandler,Default_Handler + + .weak SDMMC2_IRQHandler + .thumb_set SDMMC2_IRQHandler,Default_Handler + + .weak CAN3_TX_IRQHandler + .thumb_set CAN3_TX_IRQHandler,Default_Handler + + .weak CAN3_RX0_IRQHandler + .thumb_set CAN3_RX0_IRQHandler,Default_Handler + + .weak CAN3_RX1_IRQHandler + .thumb_set CAN3_RX1_IRQHandler,Default_Handler + + .weak CAN3_SCE_IRQHandler + .thumb_set CAN3_SCE_IRQHandler,Default_Handler + + .weak JPEG_IRQHandler + .thumb_set JPEG_IRQHandler,Default_Handler + + .weak MDIOS_IRQHandler + .thumb_set MDIOS_IRQHandler,Default_Handler + + diff --git a/extra/stm_exp_pack/Drivers/CMSIS/Device/ST/STM32F7xx/Source/Templates/gcc/startup_stm32f777xx.s b/extra/stm_exp_pack/Drivers/CMSIS/Device/ST/STM32F7xx/Source/Templates/gcc/startup_stm32f777xx.s new file mode 100644 index 00000000..46b013f4 --- /dev/null +++ b/extra/stm_exp_pack/Drivers/CMSIS/Device/ST/STM32F7xx/Source/Templates/gcc/startup_stm32f777xx.s @@ -0,0 +1,619 @@ +/** + ****************************************************************************** + * @file startup_stm32f777xx.s + * @author MCD Application Team + * @brief STM32F777xx Devices vector table for GCC based toolchain. + * This module performs: + * - Set the initial SP + * - Set the initial PC == Reset_Handler, + * - Set the vector table entries with the exceptions ISR address + * - Branches to main in the C library (which eventually + * calls main()). + * After Reset the Cortex-M7 processor is in Thread mode, + * priority is Privileged, and the Stack is set to Main. + ****************************************************************************** + * @attention + * + * Copyright (c) 2016 STMicroelectronics. + * All rights reserved. + * + * This software is licensed under terms that can be found in the LICENSE file + * in the root directory of this software component. + * If no LICENSE file comes with this software, it is provided AS-IS. + * + ****************************************************************************** + */ + + .syntax unified + .cpu cortex-m7 + .fpu softvfp + .thumb + +.global g_pfnVectors +.global Default_Handler + +/* start address for the initialization values of the .data section. +defined in linker script */ +.word _sidata +/* start address for the .data section. defined in linker script */ +.word _sdata +/* end address for the .data section. defined in linker script */ +.word _edata +/* start address for the .bss section. defined in linker script */ +.word _sbss +/* end address for the .bss section. defined in linker script */ +.word _ebss +/* stack used for SystemInit_ExtMemCtl; always internal RAM used */ + +/** + * @brief This is the code that gets called when the processor first + * starts execution following a reset event. Only the absolutely + * necessary set is performed, after which the application + * supplied main() routine is called. + * @param None + * @retval : None +*/ + + .section .text.Reset_Handler + .weak Reset_Handler + .type Reset_Handler, %function +Reset_Handler: + ldr sp, =_estack /* set stack pointer */ + +/* Copy the data segment initializers from flash to SRAM */ + ldr r0, =_sdata + ldr r1, =_edata + ldr r2, =_sidata + movs r3, #0 + b LoopCopyDataInit + +CopyDataInit: + ldr r4, [r2, r3] + str r4, [r0, r3] + adds r3, r3, #4 + +LoopCopyDataInit: + adds r4, r0, r3 + cmp r4, r1 + bcc CopyDataInit + +/* Zero fill the bss segment. */ + ldr r2, =_sbss + ldr r4, =_ebss + movs r3, #0 + b LoopFillZerobss + +FillZerobss: + str r3, [r2] + adds r2, r2, #4 + +LoopFillZerobss: + cmp r2, r4 + bcc FillZerobss + +/* Call the clock system intitialization function.*/ + bl SystemInit +/* Call static constructors */ + bl __libc_init_array +/* Call the application's entry point.*/ + bl main + bx lr +.size Reset_Handler, .-Reset_Handler + +/** + * @brief This is the code that gets called when the processor receives an + * unexpected interrupt. This simply enters an infinite loop, preserving + * the system state for examination by a debugger. + * @param None + * @retval None +*/ + .section .text.Default_Handler,"ax",%progbits +Default_Handler: +Infinite_Loop: + b Infinite_Loop + .size Default_Handler, .-Default_Handler +/****************************************************************************** +* +* The minimal vector table for a Cortex M7. Note that the proper constructs +* must be placed on this to ensure that it ends up at physical address +* 0x0000.0000. +* +*******************************************************************************/ + .section .isr_vector,"a",%progbits + .type g_pfnVectors, %object + .size g_pfnVectors, .-g_pfnVectors + + +g_pfnVectors: + .word _estack + .word Reset_Handler + + .word NMI_Handler + .word HardFault_Handler + .word MemManage_Handler + .word BusFault_Handler + .word UsageFault_Handler + .word 0 + .word 0 + .word 0 + .word 0 + .word SVC_Handler + .word DebugMon_Handler + .word 0 + .word PendSV_Handler + .word SysTick_Handler + + /* External Interrupts */ + .word WWDG_IRQHandler /* Window WatchDog */ + .word PVD_IRQHandler /* PVD through EXTI Line detection */ + .word TAMP_STAMP_IRQHandler /* Tamper and TimeStamps through the EXTI line */ + .word RTC_WKUP_IRQHandler /* RTC Wakeup through the EXTI line */ + .word FLASH_IRQHandler /* FLASH */ + .word RCC_IRQHandler /* RCC */ + .word EXTI0_IRQHandler /* EXTI Line0 */ + .word EXTI1_IRQHandler /* EXTI Line1 */ + .word EXTI2_IRQHandler /* EXTI Line2 */ + .word EXTI3_IRQHandler /* EXTI Line3 */ + .word EXTI4_IRQHandler /* EXTI Line4 */ + .word DMA1_Stream0_IRQHandler /* DMA1 Stream 0 */ + .word DMA1_Stream1_IRQHandler /* DMA1 Stream 1 */ + .word DMA1_Stream2_IRQHandler /* DMA1 Stream 2 */ + .word DMA1_Stream3_IRQHandler /* DMA1 Stream 3 */ + .word DMA1_Stream4_IRQHandler /* DMA1 Stream 4 */ + .word DMA1_Stream5_IRQHandler /* DMA1 Stream 5 */ + .word DMA1_Stream6_IRQHandler /* DMA1 Stream 6 */ + .word ADC_IRQHandler /* ADC1, ADC2 and ADC3s */ + .word CAN1_TX_IRQHandler /* CAN1 TX */ + .word CAN1_RX0_IRQHandler /* CAN1 RX0 */ + .word CAN1_RX1_IRQHandler /* CAN1 RX1 */ + .word CAN1_SCE_IRQHandler /* CAN1 SCE */ + .word EXTI9_5_IRQHandler /* External Line[9:5]s */ + .word TIM1_BRK_TIM9_IRQHandler /* TIM1 Break and TIM9 */ + .word TIM1_UP_TIM10_IRQHandler /* TIM1 Update and TIM10 */ + .word TIM1_TRG_COM_TIM11_IRQHandler /* TIM1 Trigger and Commutation and TIM11 */ + .word TIM1_CC_IRQHandler /* TIM1 Capture Compare */ + .word TIM2_IRQHandler /* TIM2 */ + .word TIM3_IRQHandler /* TIM3 */ + .word TIM4_IRQHandler /* TIM4 */ + .word I2C1_EV_IRQHandler /* I2C1 Event */ + .word I2C1_ER_IRQHandler /* I2C1 Error */ + .word I2C2_EV_IRQHandler /* I2C2 Event */ + .word I2C2_ER_IRQHandler /* I2C2 Error */ + .word SPI1_IRQHandler /* SPI1 */ + .word SPI2_IRQHandler /* SPI2 */ + .word USART1_IRQHandler /* USART1 */ + .word USART2_IRQHandler /* USART2 */ + .word USART3_IRQHandler /* USART3 */ + .word EXTI15_10_IRQHandler /* External Line[15:10]s */ + .word RTC_Alarm_IRQHandler /* RTC Alarm (A and B) through EXTI Line */ + .word OTG_FS_WKUP_IRQHandler /* USB OTG FS Wakeup through EXTI line */ + .word TIM8_BRK_TIM12_IRQHandler /* TIM8 Break and TIM12 */ + .word TIM8_UP_TIM13_IRQHandler /* TIM8 Update and TIM13 */ + .word TIM8_TRG_COM_TIM14_IRQHandler /* TIM8 Trigger and Commutation and TIM14 */ + .word TIM8_CC_IRQHandler /* TIM8 Capture Compare */ + .word DMA1_Stream7_IRQHandler /* DMA1 Stream7 */ + .word FMC_IRQHandler /* FMC */ + .word SDMMC1_IRQHandler /* SDMMC1 */ + .word TIM5_IRQHandler /* TIM5 */ + .word SPI3_IRQHandler /* SPI3 */ + .word UART4_IRQHandler /* UART4 */ + .word UART5_IRQHandler /* UART5 */ + .word TIM6_DAC_IRQHandler /* TIM6 and DAC1&2 underrun errors */ + .word TIM7_IRQHandler /* TIM7 */ + .word DMA2_Stream0_IRQHandler /* DMA2 Stream 0 */ + .word DMA2_Stream1_IRQHandler /* DMA2 Stream 1 */ + .word DMA2_Stream2_IRQHandler /* DMA2 Stream 2 */ + .word DMA2_Stream3_IRQHandler /* DMA2 Stream 3 */ + .word DMA2_Stream4_IRQHandler /* DMA2 Stream 4 */ + .word ETH_IRQHandler /* Ethernet */ + .word ETH_WKUP_IRQHandler /* Ethernet Wakeup through EXTI line */ + .word CAN2_TX_IRQHandler /* CAN2 TX */ + .word CAN2_RX0_IRQHandler /* CAN2 RX0 */ + .word CAN2_RX1_IRQHandler /* CAN2 RX1 */ + .word CAN2_SCE_IRQHandler /* CAN2 SCE */ + .word OTG_FS_IRQHandler /* USB OTG FS */ + .word DMA2_Stream5_IRQHandler /* DMA2 Stream 5 */ + .word DMA2_Stream6_IRQHandler /* DMA2 Stream 6 */ + .word DMA2_Stream7_IRQHandler /* DMA2 Stream 7 */ + .word USART6_IRQHandler /* USART6 */ + .word I2C3_EV_IRQHandler /* I2C3 event */ + .word I2C3_ER_IRQHandler /* I2C3 error */ + .word OTG_HS_EP1_OUT_IRQHandler /* USB OTG HS End Point 1 Out */ + .word OTG_HS_EP1_IN_IRQHandler /* USB OTG HS End Point 1 In */ + .word OTG_HS_WKUP_IRQHandler /* USB OTG HS Wakeup through EXTI */ + .word OTG_HS_IRQHandler /* USB OTG HS */ + .word DCMI_IRQHandler /* DCMI */ + .word CRYP_IRQHandler /* Crypto */ + .word HASH_RNG_IRQHandler /* Hash and Rng */ + .word FPU_IRQHandler /* FPU */ + .word UART7_IRQHandler /* UART7 */ + .word UART8_IRQHandler /* UART8 */ + .word SPI4_IRQHandler /* SPI4 */ + .word SPI5_IRQHandler /* SPI5 */ + .word SPI6_IRQHandler /* SPI6 */ + .word SAI1_IRQHandler /* SAI1 */ + .word LTDC_IRQHandler /* LTDC */ + .word LTDC_ER_IRQHandler /* LTDC error */ + .word DMA2D_IRQHandler /* DMA2D */ + .word SAI2_IRQHandler /* SAI2 */ + .word QUADSPI_IRQHandler /* QUADSPI */ + .word LPTIM1_IRQHandler /* LPTIM1 */ + .word CEC_IRQHandler /* HDMI_CEC */ + .word I2C4_EV_IRQHandler /* I2C4 Event */ + .word I2C4_ER_IRQHandler /* I2C4 Error */ + .word SPDIF_RX_IRQHandler /* SPDIF_RX */ + .word 0 /* Reserved */ + .word DFSDM1_FLT0_IRQHandler /* DFSDM1 Filter 0 global Interrupt */ + .word DFSDM1_FLT1_IRQHandler /* DFSDM1 Filter 1 global Interrupt */ + .word DFSDM1_FLT2_IRQHandler /* DFSDM1 Filter 2 global Interrupt */ + .word DFSDM1_FLT3_IRQHandler /* DFSDM1 Filter 3 global Interrupt */ + .word SDMMC2_IRQHandler /* SDMMC2 */ + .word CAN3_TX_IRQHandler /* CAN3 TX */ + .word CAN3_RX0_IRQHandler /* CAN3 RX0 */ + .word CAN3_RX1_IRQHandler /* CAN3 RX1 */ + .word CAN3_SCE_IRQHandler /* CAN3 SCE */ + .word JPEG_IRQHandler /* JPEG */ + .word MDIOS_IRQHandler /* MDIOS */ + +/******************************************************************************* +* +* Provide weak aliases for each Exception handler to the Default_Handler. +* As they are weak aliases, any function with the same name will override +* this definition. +* +*******************************************************************************/ + .weak NMI_Handler + .thumb_set NMI_Handler,Default_Handler + + .weak HardFault_Handler + .thumb_set HardFault_Handler,Default_Handler + + .weak MemManage_Handler + .thumb_set MemManage_Handler,Default_Handler + + .weak BusFault_Handler + .thumb_set BusFault_Handler,Default_Handler + + .weak UsageFault_Handler + .thumb_set UsageFault_Handler,Default_Handler + + .weak SVC_Handler + .thumb_set SVC_Handler,Default_Handler + + .weak DebugMon_Handler + .thumb_set DebugMon_Handler,Default_Handler + + .weak PendSV_Handler + .thumb_set PendSV_Handler,Default_Handler + + .weak SysTick_Handler + .thumb_set SysTick_Handler,Default_Handler + + .weak WWDG_IRQHandler + .thumb_set WWDG_IRQHandler,Default_Handler + + .weak PVD_IRQHandler + .thumb_set PVD_IRQHandler,Default_Handler + + .weak TAMP_STAMP_IRQHandler + .thumb_set TAMP_STAMP_IRQHandler,Default_Handler + + .weak RTC_WKUP_IRQHandler + .thumb_set RTC_WKUP_IRQHandler,Default_Handler + + .weak FLASH_IRQHandler + .thumb_set FLASH_IRQHandler,Default_Handler + + .weak RCC_IRQHandler + .thumb_set RCC_IRQHandler,Default_Handler + + .weak EXTI0_IRQHandler + .thumb_set EXTI0_IRQHandler,Default_Handler + + .weak EXTI1_IRQHandler + .thumb_set EXTI1_IRQHandler,Default_Handler + + .weak EXTI2_IRQHandler + .thumb_set EXTI2_IRQHandler,Default_Handler + + .weak EXTI3_IRQHandler + .thumb_set EXTI3_IRQHandler,Default_Handler + + .weak EXTI4_IRQHandler + .thumb_set EXTI4_IRQHandler,Default_Handler + + .weak DMA1_Stream0_IRQHandler + .thumb_set DMA1_Stream0_IRQHandler,Default_Handler + + .weak DMA1_Stream1_IRQHandler + .thumb_set DMA1_Stream1_IRQHandler,Default_Handler + + .weak DMA1_Stream2_IRQHandler + .thumb_set DMA1_Stream2_IRQHandler,Default_Handler + + .weak DMA1_Stream3_IRQHandler + .thumb_set DMA1_Stream3_IRQHandler,Default_Handler + + .weak DMA1_Stream4_IRQHandler + .thumb_set DMA1_Stream4_IRQHandler,Default_Handler + + .weak DMA1_Stream5_IRQHandler + .thumb_set DMA1_Stream5_IRQHandler,Default_Handler + + .weak DMA1_Stream6_IRQHandler + .thumb_set DMA1_Stream6_IRQHandler,Default_Handler + + .weak ADC_IRQHandler + .thumb_set ADC_IRQHandler,Default_Handler + + .weak CAN1_TX_IRQHandler + .thumb_set CAN1_TX_IRQHandler,Default_Handler + + .weak CAN1_RX0_IRQHandler + .thumb_set CAN1_RX0_IRQHandler,Default_Handler + + .weak CAN1_RX1_IRQHandler + .thumb_set CAN1_RX1_IRQHandler,Default_Handler + + .weak CAN1_SCE_IRQHandler + .thumb_set CAN1_SCE_IRQHandler,Default_Handler + + .weak EXTI9_5_IRQHandler + .thumb_set EXTI9_5_IRQHandler,Default_Handler + + .weak TIM1_BRK_TIM9_IRQHandler + .thumb_set TIM1_BRK_TIM9_IRQHandler,Default_Handler + + .weak TIM1_UP_TIM10_IRQHandler + .thumb_set TIM1_UP_TIM10_IRQHandler,Default_Handler + + .weak TIM1_TRG_COM_TIM11_IRQHandler + .thumb_set TIM1_TRG_COM_TIM11_IRQHandler,Default_Handler + + .weak TIM1_CC_IRQHandler + .thumb_set TIM1_CC_IRQHandler,Default_Handler + + .weak TIM2_IRQHandler + .thumb_set TIM2_IRQHandler,Default_Handler + + .weak TIM3_IRQHandler + .thumb_set TIM3_IRQHandler,Default_Handler + + .weak TIM4_IRQHandler + .thumb_set TIM4_IRQHandler,Default_Handler + + .weak I2C1_EV_IRQHandler + .thumb_set I2C1_EV_IRQHandler,Default_Handler + + .weak I2C1_ER_IRQHandler + .thumb_set I2C1_ER_IRQHandler,Default_Handler + + .weak I2C2_EV_IRQHandler + .thumb_set I2C2_EV_IRQHandler,Default_Handler + + .weak I2C2_ER_IRQHandler + .thumb_set I2C2_ER_IRQHandler,Default_Handler + + .weak SPI1_IRQHandler + .thumb_set SPI1_IRQHandler,Default_Handler + + .weak SPI2_IRQHandler + .thumb_set SPI2_IRQHandler,Default_Handler + + .weak USART1_IRQHandler + .thumb_set USART1_IRQHandler,Default_Handler + + .weak USART2_IRQHandler + .thumb_set USART2_IRQHandler,Default_Handler + + .weak USART3_IRQHandler + .thumb_set USART3_IRQHandler,Default_Handler + + .weak EXTI15_10_IRQHandler + .thumb_set EXTI15_10_IRQHandler,Default_Handler + + .weak RTC_Alarm_IRQHandler + .thumb_set RTC_Alarm_IRQHandler,Default_Handler + + .weak OTG_FS_WKUP_IRQHandler + .thumb_set OTG_FS_WKUP_IRQHandler,Default_Handler + + .weak TIM8_BRK_TIM12_IRQHandler + .thumb_set TIM8_BRK_TIM12_IRQHandler,Default_Handler + + .weak TIM8_UP_TIM13_IRQHandler + .thumb_set TIM8_UP_TIM13_IRQHandler,Default_Handler + + .weak TIM8_TRG_COM_TIM14_IRQHandler + .thumb_set TIM8_TRG_COM_TIM14_IRQHandler,Default_Handler + + .weak TIM8_CC_IRQHandler + .thumb_set TIM8_CC_IRQHandler,Default_Handler + + .weak DMA1_Stream7_IRQHandler + .thumb_set DMA1_Stream7_IRQHandler,Default_Handler + + .weak FMC_IRQHandler + .thumb_set FMC_IRQHandler,Default_Handler + + .weak SDMMC1_IRQHandler + .thumb_set SDMMC1_IRQHandler,Default_Handler + + .weak TIM5_IRQHandler + .thumb_set TIM5_IRQHandler,Default_Handler + + .weak SPI3_IRQHandler + .thumb_set SPI3_IRQHandler,Default_Handler + + .weak UART4_IRQHandler + .thumb_set UART4_IRQHandler,Default_Handler + + .weak UART5_IRQHandler + .thumb_set UART5_IRQHandler,Default_Handler + + .weak TIM6_DAC_IRQHandler + .thumb_set TIM6_DAC_IRQHandler,Default_Handler + + .weak TIM7_IRQHandler + .thumb_set TIM7_IRQHandler,Default_Handler + + .weak DMA2_Stream0_IRQHandler + .thumb_set DMA2_Stream0_IRQHandler,Default_Handler + + .weak DMA2_Stream1_IRQHandler + .thumb_set DMA2_Stream1_IRQHandler,Default_Handler + + .weak DMA2_Stream2_IRQHandler + .thumb_set DMA2_Stream2_IRQHandler,Default_Handler + + .weak DMA2_Stream3_IRQHandler + .thumb_set DMA2_Stream3_IRQHandler,Default_Handler + + .weak DMA2_Stream4_IRQHandler + .thumb_set DMA2_Stream4_IRQHandler,Default_Handler + + .weak ETH_IRQHandler + .thumb_set ETH_IRQHandler,Default_Handler + + .weak ETH_WKUP_IRQHandler + .thumb_set ETH_WKUP_IRQHandler,Default_Handler + + .weak CAN2_TX_IRQHandler + .thumb_set CAN2_TX_IRQHandler,Default_Handler + + .weak CAN2_RX0_IRQHandler + .thumb_set CAN2_RX0_IRQHandler,Default_Handler + + .weak CAN2_RX1_IRQHandler + .thumb_set CAN2_RX1_IRQHandler,Default_Handler + + .weak CAN2_SCE_IRQHandler + .thumb_set CAN2_SCE_IRQHandler,Default_Handler + + .weak OTG_FS_IRQHandler + .thumb_set OTG_FS_IRQHandler,Default_Handler + + .weak DMA2_Stream5_IRQHandler + .thumb_set DMA2_Stream5_IRQHandler,Default_Handler + + .weak DMA2_Stream6_IRQHandler + .thumb_set DMA2_Stream6_IRQHandler,Default_Handler + + .weak DMA2_Stream7_IRQHandler + .thumb_set DMA2_Stream7_IRQHandler,Default_Handler + + .weak USART6_IRQHandler + .thumb_set USART6_IRQHandler,Default_Handler + + .weak I2C3_EV_IRQHandler + .thumb_set I2C3_EV_IRQHandler,Default_Handler + + .weak I2C3_ER_IRQHandler + .thumb_set I2C3_ER_IRQHandler,Default_Handler + + .weak OTG_HS_EP1_OUT_IRQHandler + .thumb_set OTG_HS_EP1_OUT_IRQHandler,Default_Handler + + .weak OTG_HS_EP1_IN_IRQHandler + .thumb_set OTG_HS_EP1_IN_IRQHandler,Default_Handler + + .weak OTG_HS_WKUP_IRQHandler + .thumb_set OTG_HS_WKUP_IRQHandler,Default_Handler + + .weak OTG_HS_IRQHandler + .thumb_set OTG_HS_IRQHandler,Default_Handler + + .weak DCMI_IRQHandler + .thumb_set DCMI_IRQHandler,Default_Handler + + .weak CRYP_IRQHandler + .thumb_set CRYP_IRQHandler,Default_Handler + + .weak HASH_RNG_IRQHandler + .thumb_set HASH_RNG_IRQHandler,Default_Handler + + .weak FPU_IRQHandler + .thumb_set FPU_IRQHandler,Default_Handler + + .weak UART7_IRQHandler + .thumb_set UART7_IRQHandler,Default_Handler + + .weak UART8_IRQHandler + .thumb_set UART8_IRQHandler,Default_Handler + + .weak SPI4_IRQHandler + .thumb_set SPI4_IRQHandler,Default_Handler + + .weak SPI5_IRQHandler + .thumb_set SPI5_IRQHandler,Default_Handler + + .weak SPI6_IRQHandler + .thumb_set SPI6_IRQHandler,Default_Handler + + .weak SAI1_IRQHandler + .thumb_set SAI1_IRQHandler,Default_Handler + + .weak LTDC_IRQHandler + .thumb_set LTDC_IRQHandler,Default_Handler + + .weak LTDC_ER_IRQHandler + .thumb_set LTDC_ER_IRQHandler,Default_Handler + + .weak DMA2D_IRQHandler + .thumb_set DMA2D_IRQHandler,Default_Handler + + .weak SAI2_IRQHandler + .thumb_set SAI2_IRQHandler,Default_Handler + + .weak QUADSPI_IRQHandler + .thumb_set QUADSPI_IRQHandler,Default_Handler + + .weak LPTIM1_IRQHandler + .thumb_set LPTIM1_IRQHandler,Default_Handler + + .weak CEC_IRQHandler + .thumb_set CEC_IRQHandler,Default_Handler + + .weak I2C4_EV_IRQHandler + .thumb_set I2C4_EV_IRQHandler,Default_Handler + + .weak I2C4_ER_IRQHandler + .thumb_set I2C4_ER_IRQHandler,Default_Handler + + .weak SPDIF_RX_IRQHandler + .thumb_set SPDIF_RX_IRQHandler,Default_Handler + + .weak DFSDM1_FLT0_IRQHandler + .thumb_set DFSDM1_FLT0_IRQHandler,Default_Handler + + .weak DFSDM1_FLT1_IRQHandler + .thumb_set DFSDM1_FLT1_IRQHandler,Default_Handler + + .weak DFSDM1_FLT2_IRQHandler + .thumb_set DFSDM1_FLT2_IRQHandler,Default_Handler + + .weak DFSDM1_FLT3_IRQHandler + .thumb_set DFSDM1_FLT3_IRQHandler,Default_Handler + + .weak SDMMC2_IRQHandler + .thumb_set SDMMC2_IRQHandler,Default_Handler + + .weak CAN3_TX_IRQHandler + .thumb_set CAN3_TX_IRQHandler,Default_Handler + + .weak CAN3_RX0_IRQHandler + .thumb_set CAN3_RX0_IRQHandler,Default_Handler + + .weak CAN3_RX1_IRQHandler + .thumb_set CAN3_RX1_IRQHandler,Default_Handler + + .weak CAN3_SCE_IRQHandler + .thumb_set CAN3_SCE_IRQHandler,Default_Handler + + .weak JPEG_IRQHandler + .thumb_set JPEG_IRQHandler,Default_Handler + + .weak MDIOS_IRQHandler + .thumb_set MDIOS_IRQHandler,Default_Handler + + diff --git a/extra/stm_exp_pack/Drivers/CMSIS/Device/ST/STM32F7xx/Source/Templates/gcc/startup_stm32f779xx.s b/extra/stm_exp_pack/Drivers/CMSIS/Device/ST/STM32F7xx/Source/Templates/gcc/startup_stm32f779xx.s new file mode 100644 index 00000000..ce601e2e --- /dev/null +++ b/extra/stm_exp_pack/Drivers/CMSIS/Device/ST/STM32F7xx/Source/Templates/gcc/startup_stm32f779xx.s @@ -0,0 +1,622 @@ +/** + ****************************************************************************** + * @file startup_stm32f779xx.s + * @author MCD Application Team + * @brief STM32F779xx Devices vector table for GCC based toolchain. + * This module performs: + * - Set the initial SP + * - Set the initial PC == Reset_Handler, + * - Set the vector table entries with the exceptions ISR address + * - Branches to main in the C library (which eventually + * calls main()). + * After Reset the Cortex-M7 processor is in Thread mode, + * priority is Privileged, and the Stack is set to Main. + ****************************************************************************** + * @attention + * + * Copyright (c) 2016 STMicroelectronics. + * All rights reserved. + * + * This software is licensed under terms that can be found in the LICENSE file + * in the root directory of this software component. + * If no LICENSE file comes with this software, it is provided AS-IS. + * + ****************************************************************************** + */ + + .syntax unified + .cpu cortex-m7 + .fpu softvfp + .thumb + +.global g_pfnVectors +.global Default_Handler + +/* start address for the initialization values of the .data section. +defined in linker script */ +.word _sidata +/* start address for the .data section. defined in linker script */ +.word _sdata +/* end address for the .data section. defined in linker script */ +.word _edata +/* start address for the .bss section. defined in linker script */ +.word _sbss +/* end address for the .bss section. defined in linker script */ +.word _ebss +/* stack used for SystemInit_ExtMemCtl; always internal RAM used */ + +/** + * @brief This is the code that gets called when the processor first + * starts execution following a reset event. Only the absolutely + * necessary set is performed, after which the application + * supplied main() routine is called. + * @param None + * @retval : None +*/ + + .section .text.Reset_Handler + .weak Reset_Handler + .type Reset_Handler, %function +Reset_Handler: + ldr sp, =_estack /* set stack pointer */ + +/* Copy the data segment initializers from flash to SRAM */ + ldr r0, =_sdata + ldr r1, =_edata + ldr r2, =_sidata + movs r3, #0 + b LoopCopyDataInit + +CopyDataInit: + ldr r4, [r2, r3] + str r4, [r0, r3] + adds r3, r3, #4 + +LoopCopyDataInit: + adds r4, r0, r3 + cmp r4, r1 + bcc CopyDataInit + +/* Zero fill the bss segment. */ + ldr r2, =_sbss + ldr r4, =_ebss + movs r3, #0 + b LoopFillZerobss + +FillZerobss: + str r3, [r2] + adds r2, r2, #4 + +LoopFillZerobss: + cmp r2, r4 + bcc FillZerobss + +/* Call the clock system intitialization function.*/ + bl SystemInit +/* Call static constructors */ + bl __libc_init_array +/* Call the application's entry point.*/ + bl main + bx lr +.size Reset_Handler, .-Reset_Handler + +/** + * @brief This is the code that gets called when the processor receives an + * unexpected interrupt. This simply enters an infinite loop, preserving + * the system state for examination by a debugger. + * @param None + * @retval None +*/ + .section .text.Default_Handler,"ax",%progbits +Default_Handler: +Infinite_Loop: + b Infinite_Loop + .size Default_Handler, .-Default_Handler +/****************************************************************************** +* +* The minimal vector table for a Cortex M7. Note that the proper constructs +* must be placed on this to ensure that it ends up at physical address +* 0x0000.0000. +* +*******************************************************************************/ + .section .isr_vector,"a",%progbits + .type g_pfnVectors, %object + .size g_pfnVectors, .-g_pfnVectors + + +g_pfnVectors: + .word _estack + .word Reset_Handler + + .word NMI_Handler + .word HardFault_Handler + .word MemManage_Handler + .word BusFault_Handler + .word UsageFault_Handler + .word 0 + .word 0 + .word 0 + .word 0 + .word SVC_Handler + .word DebugMon_Handler + .word 0 + .word PendSV_Handler + .word SysTick_Handler + + /* External Interrupts */ + .word WWDG_IRQHandler /* Window WatchDog */ + .word PVD_IRQHandler /* PVD through EXTI Line detection */ + .word TAMP_STAMP_IRQHandler /* Tamper and TimeStamps through the EXTI line */ + .word RTC_WKUP_IRQHandler /* RTC Wakeup through the EXTI line */ + .word FLASH_IRQHandler /* FLASH */ + .word RCC_IRQHandler /* RCC */ + .word EXTI0_IRQHandler /* EXTI Line0 */ + .word EXTI1_IRQHandler /* EXTI Line1 */ + .word EXTI2_IRQHandler /* EXTI Line2 */ + .word EXTI3_IRQHandler /* EXTI Line3 */ + .word EXTI4_IRQHandler /* EXTI Line4 */ + .word DMA1_Stream0_IRQHandler /* DMA1 Stream 0 */ + .word DMA1_Stream1_IRQHandler /* DMA1 Stream 1 */ + .word DMA1_Stream2_IRQHandler /* DMA1 Stream 2 */ + .word DMA1_Stream3_IRQHandler /* DMA1 Stream 3 */ + .word DMA1_Stream4_IRQHandler /* DMA1 Stream 4 */ + .word DMA1_Stream5_IRQHandler /* DMA1 Stream 5 */ + .word DMA1_Stream6_IRQHandler /* DMA1 Stream 6 */ + .word ADC_IRQHandler /* ADC1, ADC2 and ADC3s */ + .word CAN1_TX_IRQHandler /* CAN1 TX */ + .word CAN1_RX0_IRQHandler /* CAN1 RX0 */ + .word CAN1_RX1_IRQHandler /* CAN1 RX1 */ + .word CAN1_SCE_IRQHandler /* CAN1 SCE */ + .word EXTI9_5_IRQHandler /* External Line[9:5]s */ + .word TIM1_BRK_TIM9_IRQHandler /* TIM1 Break and TIM9 */ + .word TIM1_UP_TIM10_IRQHandler /* TIM1 Update and TIM10 */ + .word TIM1_TRG_COM_TIM11_IRQHandler /* TIM1 Trigger and Commutation and TIM11 */ + .word TIM1_CC_IRQHandler /* TIM1 Capture Compare */ + .word TIM2_IRQHandler /* TIM2 */ + .word TIM3_IRQHandler /* TIM3 */ + .word TIM4_IRQHandler /* TIM4 */ + .word I2C1_EV_IRQHandler /* I2C1 Event */ + .word I2C1_ER_IRQHandler /* I2C1 Error */ + .word I2C2_EV_IRQHandler /* I2C2 Event */ + .word I2C2_ER_IRQHandler /* I2C2 Error */ + .word SPI1_IRQHandler /* SPI1 */ + .word SPI2_IRQHandler /* SPI2 */ + .word USART1_IRQHandler /* USART1 */ + .word USART2_IRQHandler /* USART2 */ + .word USART3_IRQHandler /* USART3 */ + .word EXTI15_10_IRQHandler /* External Line[15:10]s */ + .word RTC_Alarm_IRQHandler /* RTC Alarm (A and B) through EXTI Line */ + .word OTG_FS_WKUP_IRQHandler /* USB OTG FS Wakeup through EXTI line */ + .word TIM8_BRK_TIM12_IRQHandler /* TIM8 Break and TIM12 */ + .word TIM8_UP_TIM13_IRQHandler /* TIM8 Update and TIM13 */ + .word TIM8_TRG_COM_TIM14_IRQHandler /* TIM8 Trigger and Commutation and TIM14 */ + .word TIM8_CC_IRQHandler /* TIM8 Capture Compare */ + .word DMA1_Stream7_IRQHandler /* DMA1 Stream7 */ + .word FMC_IRQHandler /* FMC */ + .word SDMMC1_IRQHandler /* SDMMC1 */ + .word TIM5_IRQHandler /* TIM5 */ + .word SPI3_IRQHandler /* SPI3 */ + .word UART4_IRQHandler /* UART4 */ + .word UART5_IRQHandler /* UART5 */ + .word TIM6_DAC_IRQHandler /* TIM6 and DAC1&2 underrun errors */ + .word TIM7_IRQHandler /* TIM7 */ + .word DMA2_Stream0_IRQHandler /* DMA2 Stream 0 */ + .word DMA2_Stream1_IRQHandler /* DMA2 Stream 1 */ + .word DMA2_Stream2_IRQHandler /* DMA2 Stream 2 */ + .word DMA2_Stream3_IRQHandler /* DMA2 Stream 3 */ + .word DMA2_Stream4_IRQHandler /* DMA2 Stream 4 */ + .word ETH_IRQHandler /* Ethernet */ + .word ETH_WKUP_IRQHandler /* Ethernet Wakeup through EXTI line */ + .word CAN2_TX_IRQHandler /* CAN2 TX */ + .word CAN2_RX0_IRQHandler /* CAN2 RX0 */ + .word CAN2_RX1_IRQHandler /* CAN2 RX1 */ + .word CAN2_SCE_IRQHandler /* CAN2 SCE */ + .word OTG_FS_IRQHandler /* USB OTG FS */ + .word DMA2_Stream5_IRQHandler /* DMA2 Stream 5 */ + .word DMA2_Stream6_IRQHandler /* DMA2 Stream 6 */ + .word DMA2_Stream7_IRQHandler /* DMA2 Stream 7 */ + .word USART6_IRQHandler /* USART6 */ + .word I2C3_EV_IRQHandler /* I2C3 event */ + .word I2C3_ER_IRQHandler /* I2C3 error */ + .word OTG_HS_EP1_OUT_IRQHandler /* USB OTG HS End Point 1 Out */ + .word OTG_HS_EP1_IN_IRQHandler /* USB OTG HS End Point 1 In */ + .word OTG_HS_WKUP_IRQHandler /* USB OTG HS Wakeup through EXTI */ + .word OTG_HS_IRQHandler /* USB OTG HS */ + .word DCMI_IRQHandler /* DCMI */ + .word CRYP_IRQHandler /* Crypto */ + .word HASH_RNG_IRQHandler /* Hash and Rng */ + .word FPU_IRQHandler /* FPU */ + .word UART7_IRQHandler /* UART7 */ + .word UART8_IRQHandler /* UART8 */ + .word SPI4_IRQHandler /* SPI4 */ + .word SPI5_IRQHandler /* SPI5 */ + .word SPI6_IRQHandler /* SPI6 */ + .word SAI1_IRQHandler /* SAI1 */ + .word LTDC_IRQHandler /* LTDC */ + .word LTDC_ER_IRQHandler /* LTDC error */ + .word DMA2D_IRQHandler /* DMA2D */ + .word SAI2_IRQHandler /* SAI2 */ + .word QUADSPI_IRQHandler /* QUADSPI */ + .word LPTIM1_IRQHandler /* LPTIM1 */ + .word CEC_IRQHandler /* HDMI_CEC */ + .word I2C4_EV_IRQHandler /* I2C4 Event */ + .word I2C4_ER_IRQHandler /* I2C4 Error */ + .word SPDIF_RX_IRQHandler /* SPDIF_RX */ + .word DSI_IRQHandler /* DSI */ + .word DFSDM1_FLT0_IRQHandler /* DFSDM1 Filter 0 global Interrupt */ + .word DFSDM1_FLT1_IRQHandler /* DFSDM1 Filter 1 global Interrupt */ + .word DFSDM1_FLT2_IRQHandler /* DFSDM1 Filter 2 global Interrupt */ + .word DFSDM1_FLT3_IRQHandler /* DFSDM1 Filter 3 global Interrupt */ + .word SDMMC2_IRQHandler /* SDMMC2 */ + .word CAN3_TX_IRQHandler /* CAN3 TX */ + .word CAN3_RX0_IRQHandler /* CAN3 RX0 */ + .word CAN3_RX1_IRQHandler /* CAN3 RX1 */ + .word CAN3_SCE_IRQHandler /* CAN3 SCE */ + .word JPEG_IRQHandler /* JPEG */ + .word MDIOS_IRQHandler /* MDIOS */ + +/******************************************************************************* +* +* Provide weak aliases for each Exception handler to the Default_Handler. +* As they are weak aliases, any function with the same name will override +* this definition. +* +*******************************************************************************/ + .weak NMI_Handler + .thumb_set NMI_Handler,Default_Handler + + .weak HardFault_Handler + .thumb_set HardFault_Handler,Default_Handler + + .weak MemManage_Handler + .thumb_set MemManage_Handler,Default_Handler + + .weak BusFault_Handler + .thumb_set BusFault_Handler,Default_Handler + + .weak UsageFault_Handler + .thumb_set UsageFault_Handler,Default_Handler + + .weak SVC_Handler + .thumb_set SVC_Handler,Default_Handler + + .weak DebugMon_Handler + .thumb_set DebugMon_Handler,Default_Handler + + .weak PendSV_Handler + .thumb_set PendSV_Handler,Default_Handler + + .weak SysTick_Handler + .thumb_set SysTick_Handler,Default_Handler + + .weak WWDG_IRQHandler + .thumb_set WWDG_IRQHandler,Default_Handler + + .weak PVD_IRQHandler + .thumb_set PVD_IRQHandler,Default_Handler + + .weak TAMP_STAMP_IRQHandler + .thumb_set TAMP_STAMP_IRQHandler,Default_Handler + + .weak RTC_WKUP_IRQHandler + .thumb_set RTC_WKUP_IRQHandler,Default_Handler + + .weak FLASH_IRQHandler + .thumb_set FLASH_IRQHandler,Default_Handler + + .weak RCC_IRQHandler + .thumb_set RCC_IRQHandler,Default_Handler + + .weak EXTI0_IRQHandler + .thumb_set EXTI0_IRQHandler,Default_Handler + + .weak EXTI1_IRQHandler + .thumb_set EXTI1_IRQHandler,Default_Handler + + .weak EXTI2_IRQHandler + .thumb_set EXTI2_IRQHandler,Default_Handler + + .weak EXTI3_IRQHandler + .thumb_set EXTI3_IRQHandler,Default_Handler + + .weak EXTI4_IRQHandler + .thumb_set EXTI4_IRQHandler,Default_Handler + + .weak DMA1_Stream0_IRQHandler + .thumb_set DMA1_Stream0_IRQHandler,Default_Handler + + .weak DMA1_Stream1_IRQHandler + .thumb_set DMA1_Stream1_IRQHandler,Default_Handler + + .weak DMA1_Stream2_IRQHandler + .thumb_set DMA1_Stream2_IRQHandler,Default_Handler + + .weak DMA1_Stream3_IRQHandler + .thumb_set DMA1_Stream3_IRQHandler,Default_Handler + + .weak DMA1_Stream4_IRQHandler + .thumb_set DMA1_Stream4_IRQHandler,Default_Handler + + .weak DMA1_Stream5_IRQHandler + .thumb_set DMA1_Stream5_IRQHandler,Default_Handler + + .weak DMA1_Stream6_IRQHandler + .thumb_set DMA1_Stream6_IRQHandler,Default_Handler + + .weak ADC_IRQHandler + .thumb_set ADC_IRQHandler,Default_Handler + + .weak CAN1_TX_IRQHandler + .thumb_set CAN1_TX_IRQHandler,Default_Handler + + .weak CAN1_RX0_IRQHandler + .thumb_set CAN1_RX0_IRQHandler,Default_Handler + + .weak CAN1_RX1_IRQHandler + .thumb_set CAN1_RX1_IRQHandler,Default_Handler + + .weak CAN1_SCE_IRQHandler + .thumb_set CAN1_SCE_IRQHandler,Default_Handler + + .weak EXTI9_5_IRQHandler + .thumb_set EXTI9_5_IRQHandler,Default_Handler + + .weak TIM1_BRK_TIM9_IRQHandler + .thumb_set TIM1_BRK_TIM9_IRQHandler,Default_Handler + + .weak TIM1_UP_TIM10_IRQHandler + .thumb_set TIM1_UP_TIM10_IRQHandler,Default_Handler + + .weak TIM1_TRG_COM_TIM11_IRQHandler + .thumb_set TIM1_TRG_COM_TIM11_IRQHandler,Default_Handler + + .weak TIM1_CC_IRQHandler + .thumb_set TIM1_CC_IRQHandler,Default_Handler + + .weak TIM2_IRQHandler + .thumb_set TIM2_IRQHandler,Default_Handler + + .weak TIM3_IRQHandler + .thumb_set TIM3_IRQHandler,Default_Handler + + .weak TIM4_IRQHandler + .thumb_set TIM4_IRQHandler,Default_Handler + + .weak I2C1_EV_IRQHandler + .thumb_set I2C1_EV_IRQHandler,Default_Handler + + .weak I2C1_ER_IRQHandler + .thumb_set I2C1_ER_IRQHandler,Default_Handler + + .weak I2C2_EV_IRQHandler + .thumb_set I2C2_EV_IRQHandler,Default_Handler + + .weak I2C2_ER_IRQHandler + .thumb_set I2C2_ER_IRQHandler,Default_Handler + + .weak SPI1_IRQHandler + .thumb_set SPI1_IRQHandler,Default_Handler + + .weak SPI2_IRQHandler + .thumb_set SPI2_IRQHandler,Default_Handler + + .weak USART1_IRQHandler + .thumb_set USART1_IRQHandler,Default_Handler + + .weak USART2_IRQHandler + .thumb_set USART2_IRQHandler,Default_Handler + + .weak USART3_IRQHandler + .thumb_set USART3_IRQHandler,Default_Handler + + .weak EXTI15_10_IRQHandler + .thumb_set EXTI15_10_IRQHandler,Default_Handler + + .weak RTC_Alarm_IRQHandler + .thumb_set RTC_Alarm_IRQHandler,Default_Handler + + .weak OTG_FS_WKUP_IRQHandler + .thumb_set OTG_FS_WKUP_IRQHandler,Default_Handler + + .weak TIM8_BRK_TIM12_IRQHandler + .thumb_set TIM8_BRK_TIM12_IRQHandler,Default_Handler + + .weak TIM8_UP_TIM13_IRQHandler + .thumb_set TIM8_UP_TIM13_IRQHandler,Default_Handler + + .weak TIM8_TRG_COM_TIM14_IRQHandler + .thumb_set TIM8_TRG_COM_TIM14_IRQHandler,Default_Handler + + .weak TIM8_CC_IRQHandler + .thumb_set TIM8_CC_IRQHandler,Default_Handler + + .weak DMA1_Stream7_IRQHandler + .thumb_set DMA1_Stream7_IRQHandler,Default_Handler + + .weak FMC_IRQHandler + .thumb_set FMC_IRQHandler,Default_Handler + + .weak SDMMC1_IRQHandler + .thumb_set SDMMC1_IRQHandler,Default_Handler + + .weak TIM5_IRQHandler + .thumb_set TIM5_IRQHandler,Default_Handler + + .weak SPI3_IRQHandler + .thumb_set SPI3_IRQHandler,Default_Handler + + .weak UART4_IRQHandler + .thumb_set UART4_IRQHandler,Default_Handler + + .weak UART5_IRQHandler + .thumb_set UART5_IRQHandler,Default_Handler + + .weak TIM6_DAC_IRQHandler + .thumb_set TIM6_DAC_IRQHandler,Default_Handler + + .weak TIM7_IRQHandler + .thumb_set TIM7_IRQHandler,Default_Handler + + .weak DMA2_Stream0_IRQHandler + .thumb_set DMA2_Stream0_IRQHandler,Default_Handler + + .weak DMA2_Stream1_IRQHandler + .thumb_set DMA2_Stream1_IRQHandler,Default_Handler + + .weak DMA2_Stream2_IRQHandler + .thumb_set DMA2_Stream2_IRQHandler,Default_Handler + + .weak DMA2_Stream3_IRQHandler + .thumb_set DMA2_Stream3_IRQHandler,Default_Handler + + .weak DMA2_Stream4_IRQHandler + .thumb_set DMA2_Stream4_IRQHandler,Default_Handler + + .weak ETH_IRQHandler + .thumb_set ETH_IRQHandler,Default_Handler + + .weak ETH_WKUP_IRQHandler + .thumb_set ETH_WKUP_IRQHandler,Default_Handler + + .weak CAN2_TX_IRQHandler + .thumb_set CAN2_TX_IRQHandler,Default_Handler + + .weak CAN2_RX0_IRQHandler + .thumb_set CAN2_RX0_IRQHandler,Default_Handler + + .weak CAN2_RX1_IRQHandler + .thumb_set CAN2_RX1_IRQHandler,Default_Handler + + .weak CAN2_SCE_IRQHandler + .thumb_set CAN2_SCE_IRQHandler,Default_Handler + + .weak OTG_FS_IRQHandler + .thumb_set OTG_FS_IRQHandler,Default_Handler + + .weak DMA2_Stream5_IRQHandler + .thumb_set DMA2_Stream5_IRQHandler,Default_Handler + + .weak DMA2_Stream6_IRQHandler + .thumb_set DMA2_Stream6_IRQHandler,Default_Handler + + .weak DMA2_Stream7_IRQHandler + .thumb_set DMA2_Stream7_IRQHandler,Default_Handler + + .weak USART6_IRQHandler + .thumb_set USART6_IRQHandler,Default_Handler + + .weak I2C3_EV_IRQHandler + .thumb_set I2C3_EV_IRQHandler,Default_Handler + + .weak I2C3_ER_IRQHandler + .thumb_set I2C3_ER_IRQHandler,Default_Handler + + .weak OTG_HS_EP1_OUT_IRQHandler + .thumb_set OTG_HS_EP1_OUT_IRQHandler,Default_Handler + + .weak OTG_HS_EP1_IN_IRQHandler + .thumb_set OTG_HS_EP1_IN_IRQHandler,Default_Handler + + .weak OTG_HS_WKUP_IRQHandler + .thumb_set OTG_HS_WKUP_IRQHandler,Default_Handler + + .weak OTG_HS_IRQHandler + .thumb_set OTG_HS_IRQHandler,Default_Handler + + .weak DCMI_IRQHandler + .thumb_set DCMI_IRQHandler,Default_Handler + + .weak CRYP_IRQHandler + .thumb_set CRYP_IRQHandler,Default_Handler + + .weak HASH_RNG_IRQHandler + .thumb_set HASH_RNG_IRQHandler,Default_Handler + + .weak FPU_IRQHandler + .thumb_set FPU_IRQHandler,Default_Handler + + .weak UART7_IRQHandler + .thumb_set UART7_IRQHandler,Default_Handler + + .weak UART8_IRQHandler + .thumb_set UART8_IRQHandler,Default_Handler + + .weak SPI4_IRQHandler + .thumb_set SPI4_IRQHandler,Default_Handler + + .weak SPI5_IRQHandler + .thumb_set SPI5_IRQHandler,Default_Handler + + .weak SPI6_IRQHandler + .thumb_set SPI6_IRQHandler,Default_Handler + + .weak SAI1_IRQHandler + .thumb_set SAI1_IRQHandler,Default_Handler + + .weak LTDC_IRQHandler + .thumb_set LTDC_IRQHandler,Default_Handler + + .weak LTDC_ER_IRQHandler + .thumb_set LTDC_ER_IRQHandler,Default_Handler + + .weak DMA2D_IRQHandler + .thumb_set DMA2D_IRQHandler,Default_Handler + + .weak SAI2_IRQHandler + .thumb_set SAI2_IRQHandler,Default_Handler + + .weak QUADSPI_IRQHandler + .thumb_set QUADSPI_IRQHandler,Default_Handler + + .weak LPTIM1_IRQHandler + .thumb_set LPTIM1_IRQHandler,Default_Handler + + .weak CEC_IRQHandler + .thumb_set CEC_IRQHandler,Default_Handler + + .weak I2C4_EV_IRQHandler + .thumb_set I2C4_EV_IRQHandler,Default_Handler + + .weak I2C4_ER_IRQHandler + .thumb_set I2C4_ER_IRQHandler,Default_Handler + + .weak SPDIF_RX_IRQHandler + .thumb_set SPDIF_RX_IRQHandler,Default_Handler + + .weak DSI_IRQHandler + .thumb_set DSI_IRQHandler,Default_Handler + + .weak DFSDM1_FLT0_IRQHandler + .thumb_set DFSDM1_FLT0_IRQHandler,Default_Handler + + .weak DFSDM1_FLT1_IRQHandler + .thumb_set DFSDM1_FLT1_IRQHandler,Default_Handler + + .weak DFSDM1_FLT2_IRQHandler + .thumb_set DFSDM1_FLT2_IRQHandler,Default_Handler + + .weak DFSDM1_FLT3_IRQHandler + .thumb_set DFSDM1_FLT3_IRQHandler,Default_Handler + + .weak SDMMC2_IRQHandler + .thumb_set SDMMC2_IRQHandler,Default_Handler + + .weak CAN3_TX_IRQHandler + .thumb_set CAN3_TX_IRQHandler,Default_Handler + + .weak CAN3_RX0_IRQHandler + .thumb_set CAN3_RX0_IRQHandler,Default_Handler + + .weak CAN3_RX1_IRQHandler + .thumb_set CAN3_RX1_IRQHandler,Default_Handler + + .weak CAN3_SCE_IRQHandler + .thumb_set CAN3_SCE_IRQHandler,Default_Handler + + .weak JPEG_IRQHandler + .thumb_set JPEG_IRQHandler,Default_Handler + + .weak MDIOS_IRQHandler + .thumb_set MDIOS_IRQHandler,Default_Handler + + diff --git a/extra/stm_exp_pack/Drivers/CMSIS/Device/ST/STM32F7xx/Source/Templates/system_stm32f7xx.c b/extra/stm_exp_pack/Drivers/CMSIS/Device/ST/STM32F7xx/Source/Templates/system_stm32f7xx.c new file mode 100644 index 00000000..32e7fa5f --- /dev/null +++ b/extra/stm_exp_pack/Drivers/CMSIS/Device/ST/STM32F7xx/Source/Templates/system_stm32f7xx.c @@ -0,0 +1,259 @@ +/** + ****************************************************************************** + * @file system_stm32f7xx.c + * @author MCD Application Team + * @brief CMSIS Cortex-M7 Device Peripheral Access Layer System Source File. + * + * This file provides two functions and one global variable to be called from + * user application: + * - SystemInit(): This function is called at startup just after reset and + * before branch to main program. This call is made inside + * the "startup_stm32f7xx.s" file. + * + * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used + * by the user application to setup the SysTick + * timer or configure other parameters. + * + * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must + * be called whenever the core clock is changed + * during program execution. + * + * + ****************************************************************************** + * @attention + * + * Copyright (c) 2016 STMicroelectronics. + * All rights reserved. + * + * This software is licensed under terms that can be found in the LICENSE file + * in the root directory of this software component. + * If no LICENSE file comes with this software, it is provided AS-IS. + * + ****************************************************************************** + */ + +/** @addtogroup CMSIS + * @{ + */ + +/** @addtogroup stm32f7xx_system + * @{ + */ + +/** @addtogroup STM32F7xx_System_Private_Includes + * @{ + */ + +#include "stm32f7xx.h" + +#if !defined (HSE_VALUE) + #define HSE_VALUE ((uint32_t)25000000) /*!< Default value of the External oscillator in Hz */ +#endif /* HSE_VALUE */ + +#if !defined (HSI_VALUE) + #define HSI_VALUE ((uint32_t)16000000) /*!< Value of the Internal oscillator in Hz*/ +#endif /* HSI_VALUE */ + +/** + * @} + */ + +/** @addtogroup STM32F7xx_System_Private_TypesDefinitions + * @{ + */ + +/** + * @} + */ + +/** @addtogroup STM32F7xx_System_Private_Defines + * @{ + */ + +/************************* Miscellaneous Configuration ************************/ + +/* Note: Following vector table addresses must be defined in line with linker + configuration. */ +/*!< Uncomment the following line if you need to relocate the vector table + anywhere in Flash or Sram, else the vector table is kept at the automatic + remap of boot address selected */ +/* #define USER_VECT_TAB_ADDRESS */ + +#if defined(USER_VECT_TAB_ADDRESS) +/*!< Uncomment the following line if you need to relocate your vector Table + in Sram else user remap will be done in Flash. */ +/* #define VECT_TAB_SRAM */ +#if defined(VECT_TAB_SRAM) +#define VECT_TAB_BASE_ADDRESS RAMDTCM_BASE /*!< Vector Table base address field. + This value must be a multiple of 0x200. */ +#define VECT_TAB_OFFSET 0x00000000U /*!< Vector Table base offset field. + This value must be a multiple of 0x200. */ +#else +#define VECT_TAB_BASE_ADDRESS FLASH_BASE /*!< Vector Table base address field. + This value must be a multiple of 0x200. */ +#define VECT_TAB_OFFSET 0x00000000U /*!< Vector Table base offset field. + This value must be a multiple of 0x200. */ +#endif /* VECT_TAB_SRAM */ +#endif /* USER_VECT_TAB_ADDRESS */ +/******************************************************************************/ + +/** + * @} + */ + +/** @addtogroup STM32F7xx_System_Private_Macros + * @{ + */ + +/** + * @} + */ + +/** @addtogroup STM32F7xx_System_Private_Variables + * @{ + */ + + /* This variable is updated in three ways: + 1) by calling CMSIS function SystemCoreClockUpdate() + 2) by calling HAL API function HAL_RCC_GetHCLKFreq() + 3) each time HAL_RCC_ClockConfig() is called to configure the system clock frequency + Note: If you use this function to configure the system clock; then there + is no need to call the 2 first functions listed above, since SystemCoreClock + variable is updated automatically. + */ + uint32_t SystemCoreClock = 16000000; + const uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; + const uint8_t APBPrescTable[8] = {0, 0, 0, 0, 1, 2, 3, 4}; + +/** + * @} + */ + +/** @addtogroup STM32F7xx_System_Private_FunctionPrototypes + * @{ + */ + +/** + * @} + */ + +/** @addtogroup STM32F7xx_System_Private_Functions + * @{ + */ + +/** + * @brief Setup the microcontroller system + * Initialize the Embedded Flash Interface, the PLL and update the + * SystemFrequency variable. + * @param None + * @retval None + */ +void SystemInit(void) +{ + /* FPU settings ------------------------------------------------------------*/ +#if (__FPU_PRESENT == 1) && (__FPU_USED == 1) + SCB->CPACR |= ((3UL << 10*2)|(3UL << 11*2)); /* set CP10 and CP11 Full Access */ +#endif + + /* Configure the Vector Table location -------------------------------------*/ +#if defined(USER_VECT_TAB_ADDRESS) + SCB->VTOR = VECT_TAB_BASE_ADDRESS | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */ +#endif /* USER_VECT_TAB_ADDRESS */ +} + +/** + * @brief Update SystemCoreClock variable according to Clock Register Values. + * The SystemCoreClock variable contains the core clock (HCLK), it can + * be used by the user application to setup the SysTick timer or configure + * other parameters. + * + * @note Each time the core clock (HCLK) changes, this function must be called + * to update SystemCoreClock variable value. Otherwise, any configuration + * based on this variable will be incorrect. + * + * @note - The system frequency computed by this function is not the real + * frequency in the chip. It is calculated based on the predefined + * constant and the selected clock source: + * + * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) + * + * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) + * + * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) + * or HSI_VALUE(*) multiplied/divided by the PLL factors. + * + * (*) HSI_VALUE is a constant defined in stm32f7xx_hal_conf.h file (default value + * 16 MHz) but the real value may vary depending on the variations + * in voltage and temperature. + * + * (**) HSE_VALUE is a constant defined in stm32f7xx_hal_conf.h file (default value + * 25 MHz), user has to ensure that HSE_VALUE is same as the real + * frequency of the crystal used. Otherwise, this function may + * have wrong result. + * + * - The result of this function could be not correct when using fractional + * value for HSE crystal. + * + * @param None + * @retval None + */ +void SystemCoreClockUpdate(void) +{ + uint32_t tmp = 0, pllvco = 0, pllp = 2, pllsource = 0, pllm = 2; + + /* Get SYSCLK source -------------------------------------------------------*/ + tmp = RCC->CFGR & RCC_CFGR_SWS; + + switch (tmp) + { + case 0x00: /* HSI used as system clock source */ + SystemCoreClock = HSI_VALUE; + break; + case 0x04: /* HSE used as system clock source */ + SystemCoreClock = HSE_VALUE; + break; + case 0x08: /* PLL used as system clock source */ + + /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N + SYSCLK = PLL_VCO / PLL_P + */ + pllsource = (RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) >> 22; + pllm = RCC->PLLCFGR & RCC_PLLCFGR_PLLM; + + if (pllsource != 0) + { + /* HSE used as PLL clock source */ + pllvco = (HSE_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); + } + else + { + /* HSI used as PLL clock source */ + pllvco = (HSI_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); + } + + pllp = (((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >>16) + 1 ) *2; + SystemCoreClock = pllvco/pllp; + break; + default: + SystemCoreClock = HSI_VALUE; + break; + } + /* Compute HCLK frequency --------------------------------------------------*/ + /* Get HCLK prescaler */ + tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; + /* HCLK frequency */ + SystemCoreClock >>= tmp; +} + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/extra/stm_exp_pack/Examples/x/x/nucleo-f746zg-cube-baremetal/.cproject b/extra/stm_exp_pack/Examples/x/x/nucleo-f746zg-cube-baremetal/.cproject index eeb69f56..f4bf2118 100644 --- a/extra/stm_exp_pack/Examples/x/x/nucleo-f746zg-cube-baremetal/.cproject +++ b/extra/stm_exp_pack/Examples/x/x/nucleo-f746zg-cube-baremetal/.cproject @@ -23,7 +23,7 @@