📄 lowinit.lst
字号:
##############################################################################
# #
# 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\M #
# SP430F1611\Lowinit.c #
# Command line = C:\MSP430F169_Eval_Port\FreeRTOSv401\Source\portable\M #
# SP430F1611\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\Debu #
# g\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\Inclu #
# de\ -I C:\MSP430F169_Eval_Port\FreeRTOSv401\Source\Inc #
# lude\ -I C:\MSP430F169_Eval_Port\FreeRTOSv401\Demo\MSP #
# 430_IAR\ -I C:\MSP430F169_Eval_Port\FreeRTOSv401\Sourc #
# e\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\Lowini #
# t.lst #
# Object file = C:\MSP430F169_Eval_Port\FreeRTOSv401\Debug\Obj\Lowinit #
# .r43 #
# #
# #
##############################################################################
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"
\ In segment DATA16_AN, at 0x120
\ union <unnamed> volatile __data16 _A_WDTCTL
\ _A_WDTCTL:
\ 000000 DS8 2
22
\ In segment CODE, align 2, root
23 int __low_level_init(void)
\ __low_level_init:
\ 000000 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;
\ 000000 B240805A2001 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);
\ 000006 1C43 MOV.W #0x1, R12
\ 000008 3041 RET
37 }
Maximum stack usage in bytes:
Function CSTACK
-------- ------
__low_level_init 2
Segment part sizes:
Function/Label Bytes
-------------- -----
_A_WDTCTL 2
__low_level_init 10
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 + -