]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - keystone-rtos/ibl.git/blob - src/test/test1/test1.c
Single Binary Support: Initial Commit
[keystone-rtos/ibl.git] / src / test / test1 / test1.c
1 /*
2  *
3  * Copyright (C) 2010 Texas Instruments Incorporated - http://www.ti.com/ 
4  * 
5  * 
6  *  Redistribution and use in source and binary forms, with or without 
7  *  modification, are permitted provided that the following conditions 
8  *  are met:
9  *
10  *    Redistributions of source code must retain the above copyright 
11  *    notice, this list of conditions and the following disclaimer.
12  *
13  *    Redistributions in binary form must reproduce the above copyright
14  *    notice, this list of conditions and the following disclaimer in the 
15  *    documentation and/or other materials provided with the   
16  *    distribution.
17  *
18  *    Neither the name of Texas Instruments Incorporated nor the names of
19  *    its contributors may be used to endorse or promote products derived
20  *    from this software without specific prior written permission.
21  *
22  *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 
23  *  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 
24  *  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
25  *  A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 
26  *  OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
27  *  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 
28  *  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
29  *  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
30  *  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 
31  *  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 
32  *  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
33  *
34 */
38 /*******************************************************************************
39  * FILE PURPOSE: A very simple test program used to verify IBL loading
40  *******************************************************************************
41  * FILE NAME: test1.c
42  *
43  * DESCRIPTION: A simple program that simply verifies the loading of
44  *                              several sections.
45  *
46  *  @file  test1.c
47  *
48  *  @brief
49  *              Verify the IBL
50  *
51  ********************************************************************************/
53 /**
54  *  @brief Test loading some const sections
55  */
56 const unsigned int c1   = 0x12345678;
57 const unsigned int c2[] = {  0x11111111, 0x22222222 };
60 /**
61  *  @brief Test load the cinit section
62  */
63 unsigned int cini1 = 0xabcd1234;
66 /**
67  * @brief The bss/far sections should not actually load
68  */
69 unsigned int cbss[100];
72 extern cregister volatile unsigned int TSCL;
73 /**
74  * @brief The text section which will include a switch
75  */
76 void main (void)
77 {
78     unsigned int v;
80     /* Start the system timer */
81     TSCL = 1;
84     /* Read the timer and put the value in the bss */
85     v = TSCL;
87     cbss[0] = v;
89     switch (v & 1)  {
91         case 0: cbss[1] = c2[0];
92                 break;
94         case 1: cbss[2] = c2[1];
95                 break;
97     }
99     for (;;);
107