⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lowinit.s43

📁 MSP430 IAR project with FreeRTOS port.
💻 S43
字号:
//////////////////////////////////////////////////////////////////////////////
//                                                                           /
// IAR MSP430 C/C++ Compiler V3.41A/W32                22/Apr/2006  00:25:12 /
// Copyright 1996-2006 IAR Systems. All rights reserved.                     /
//                                                                           /
//    __rt_version  =  2                                                     /
//    __double_size =  32                                                    /
//    __reg_r4      =  free                                                  /
//    __reg_r5      =  free                                                  /
//    __pic         =  no                                                    /
//    __core        =  64kb                                                  /
//    Source file   =  C:\MSP430F169_Eval_Port\FreeRTOSv401\Source\portable\ /
//                     MSP430F1611\Lowinit.c                                 /
//    Command line  =  C:\MSP430F169_Eval_Port\FreeRTOSv401\Source\portable\ /
//                     MSP430F1611\Lowinit.c -D ROWLEY_MSP430 -D IAR_MSP430  /
//                     -lC C:\MSP430F169_Eval_Port\FreeRTOSv401\Debug\List\  /
//                     -lA C:\MSP430F169_Eval_Port\FreeRTOSv401\Debug\List\  /
//                     --remarks -o C:\MSP430F169_Eval_Port\FreeRTOSv401\Deb /
//                     ug\Obj\ -s2 --no_cse --no_unroll --no_inline          /
//                     --no_code_motion --no_tbaa --debug -e                 /
//                     --migration_preprocessor_extensions --double=32 -I    /
//                     C:\MSP430F169_Eval_Port\FreeRTOSv401\Demo\Common\Incl /
//                     ude\ -I C:\MSP430F169_Eval_Port\FreeRTOSv401\Source\I /
//                     nclude\ -I C:\MSP430F169_Eval_Port\FreeRTOSv401\Demo\ /
//                     MSP430_IAR\ -I C:\MSP430F169_Eval_Port\FreeRTOSv401\S /
//                     ource\portable\msp430f1611\ -I "C:\Program Files\IAR  /
//                     Systems\Embedded Workbench 4.0\430\INC\" -I           /
//                     "C:\Program Files\IAR Systems\Embedded Workbench      /
//                     4.0\430\INC\CLIB\"                                    /
//    List file     =  C:\MSP430F169_Eval_Port\FreeRTOSv401\Debug\List\Lowin /
//                     it.s43                                                /
//                                                                           /
//                                                                           /
//////////////////////////////////////////////////////////////////////////////

        NAME Lowinit

        RTMODEL "__core", "64kb"
        RTMODEL "__double_size", "32"
        RTMODEL "__pic", "no"
        RTMODEL "__reg_r4", "free"
        RTMODEL "__reg_r5", "free"
        RTMODEL "__rt_version", "2"

        RSEG CSTACK:DATA:SORT:NOROOT(1)

        EXTERN ?cstart_call_low_level_init
        EXTERN ?longjmp_r4
        EXTERN ?longjmp_r5
        EXTERN ?setjmp_r4
        EXTERN ?setjmp_r5

        PUBWEAK ?setjmp_save_r4
        PUBWEAK ?setjmp_save_r5
        PUBWEAK _A_WDTCTL
        PUBLIC __low_level_init
        FUNCTION __low_level_init,0203H
        LOCFRAME CSTACK, 2, STACK
        
        CFI Names cfiNames0
        CFI StackFrame CFA SP DATA
        CFI Resource PC:16, SP:16, SR:16, R4:16, R5:16, R6:16, R7:16, R8:16
        CFI Resource R9:16, R10:16, R11:16, R12:16, R13:16, R14:16, R15:16
        CFI EndNames cfiNames0
        
        CFI Common cfiCommon0 Using cfiNames0
        CFI CodeAlign 2
        CFI DataAlign 2
        CFI ReturnAddress PC CODE
        CFI CFA SP+2
        CFI PC Frame(CFA, -2)
        CFI SR Undefined
        CFI R4 SameValue
        CFI R5 SameValue
        CFI R6 SameValue
        CFI R7 SameValue
        CFI R8 SameValue
        CFI R9 SameValue
        CFI R10 SameValue
        CFI R11 SameValue
        CFI R12 Undefined
        CFI R13 Undefined
        CFI R14 Undefined
        CFI R15 Undefined
        CFI EndCommon cfiCommon0
        
// C:\MSP430F169_Eval_Port\FreeRTOSv401\Source\portable\MSP430F1611\Lowinit.c
//    1 /*			- lowinit.c -
//    2 
//    3   The function __low_level_init is called by the start-up code before doing
//    4   the normal initialization of data segments. If the return value is zero,
//    5   initialization is not performed.
//    6 
//    7   In the run-time library there is a dummy __low_level_init, which does
//    8   nothing but return 1. This means that the start-up routine proceeds with
//    9   initialization of data segments.
//   10 
//   11   To replace this dummy, compile a customized version (like the example
//   12   below) and link it with the rest of your code.
//   13 
//   14  */
//   15 
//   16 /*
//   17  * $Revision: 1.1.1.1.2.1 $
//   18  */
//   19 int __low_level_init(void);
//   20 
//   21 #include "FreeRTOS.h"

        ASEGN DATA16_AN:DATA:NOROOT,0120H
// union <unnamed> volatile __data16 _A_WDTCTL
_A_WDTCTL:
        DS8 2
//   22 

        RSEG CODE:CODE:REORDER:ROOT(1)
//   23 int __low_level_init(void)
__low_level_init:
        CFI Block cfiBlock0 Using cfiCommon0
        CFI Function __low_level_init
        REQUIRE ?cstart_call_low_level_init
//   24 {
//   25   /* Insert your low-level initializations here */
//   26 
//   27 // wdog may reset while loading code...	
//   28    WDTCTL = WDTPW + WDTHOLD;
        MOV.W   #0x5a80, &0x120
//   29 // this is used to initialize unused memory as FF3F (JMP HERE)
//   30   /*==================================*/
//   31   /* Choose if segment initialization */
//   32   /* should be done or not.		*/
//   33   /* Return: 0 to omit seg_init	*/
//   34   /*	       1 to run seg_init	*/
//   35   /*==================================*/
//   36   return (1);
        MOV.W   #0x1, R12
        RET
        CFI EndBlock cfiBlock0
//   37 }

        RSEG CODE:CODE:REORDER:NOROOT(1)
?setjmp_save_r4:
        REQUIRE ?setjmp_r4
        REQUIRE ?longjmp_r4

        RSEG CODE:CODE:REORDER:NOROOT(1)
?setjmp_save_r5:
        REQUIRE ?setjmp_r5
        REQUIRE ?longjmp_r5

        END
// 
// 10 bytes in segment CODE
//  2 bytes in segment DATA16_AN
// 
// 10 bytes of CODE memory
//  0 bytes of DATA memory (+ 2 bytes shared)
//
//Errors: none
//Warnings: none

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -