utzig commented on a change in pull request #840: Feature/stm32f3
URL: https://github.com/apache/mynewt-core/pull/840#discussion_r170248497
 
 

 ##########
 File path: hw/bsp/nucleo-f303k8/src/arch/cortex_m4/startup_stm32f303x8.s
 ##########
 @@ -0,0 +1,407 @@
+/**
+  
******************************************************************************
+  * @file      startup_stm32f303x8.s
+  * @author    MCD Application Team
+  * @brief     STM32F303x6/STM32F303x8 devices vector table for GCC toolchain.
+  *            This module performs:
+  *                - Set the initial SP
+  *                - Set the initial PC == Reset_Handler,
+  *                - Set the vector table entries with the exceptions ISR 
address,
+  *                - Configure the clock system  
+  *                - Branches to main in the C library (which eventually
+  *                  calls main()).
+  *            After Reset the Cortex-M4 processor is in Thread mode,
+  *            priority is Privileged, and the Stack is set to Main.
+  
******************************************************************************
+  * 
+  * Redistribution and use in source and binary forms, with or without 
modification,
+  * are permitted provided that the following conditions are met:
+  *   1. Redistributions of source code must retain the above copyright notice,
+  *      this list of conditions and the following disclaimer.
+  *   2. Redistributions in binary form must reproduce the above copyright 
notice,
+  *      this list of conditions and the following disclaimer in the 
documentation
+  *      and/or other materials provided with the distribution.
+  *   3. Neither the name of STMicroelectronics nor the names of its 
contributors
+  *      may be used to endorse or promote products derived from this software
+  *      without specific prior written permission.
+  *
+  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 
ARE
+  * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE 
LIABLE
+  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+  * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+  * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 
LIABILITY,
+  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE 
USE
+  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+  *
+  
******************************************************************************
+  */
+
+  .syntax unified
+       .cpu cortex-m4
+       .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
+
+.equ  BootRAM,        0xF1E0F85F
+/**
+ * @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    /* Atollic update: set stack pointer */
+
+/* Copy the data segment initializers from flash to SRAM */
+  movs r1, #0
+  b    LoopCopyDataInit
+
+CopyDataInit:
+       ldr     r3, =_sidata
+       ldr     r3, [r3, r1]
+       str     r3, [r0, r1]
+       adds    r1, r1, #4
+
+LoopCopyDataInit:
+       ldr     r0, =_sdata
+       ldr     r3, =_edata
+       adds    r2, r0, r1
+       cmp     r2, r3
+       bcc     CopyDataInit
+       ldr     r2, =_sbss
+       b       LoopFillZerobss
+/* Zero fill the bss segment. */
+FillZerobss:
+       movs    r3, #0
+       str     r3, [r2], #4
+
+LoopFillZerobss:
+       ldr     r3, = _ebss
+       cmp     r2, r3
+       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 */
 
 Review comment:
   Remove the commented out lines, please!

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

Reply via email to