This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

LM3S3748

Hi,

Iam facing a problem where as soon as i declare a string my program after downloading will execute only 10 percent of program.

The program works fine when i dont declare a string.

I am using LM3S3748.
Please Help me.
Thank You

Parents Reply Children
  • only 10 percent of program

    what do you mean by that?

  • Let me be very clear, the first display is a welcome message and then there are spi communications and the data is to be displayed on a 128*128 display. When i try to include this string declaration, it just displays the background screen for the welcome screen and not the welcome message.

  • Yes, that would be a really good idea.

    Unfortunately, you are still being pretty vague!

    How do you expect anyone to diagnose anything about your "string declaration" without even seeing an example declaration, and an example of how you use it?

    "When i try to include this string declaration, it just displays the background screen for the welcome screen and not the welcome message"

    So, again, doesn't that give you a clear clue as to where to start your debugging??

    Step into the display function, and examine the parameters that have been passed - are they correct to display the string that you want?

  • So let's just take a wild guess:

    Do you understand the basic operation of strings in the 'C' programming language?

    Really, they are just arrays - with the special requirement for a NUL charater to mark the end.

    Do you have the correct NUL termination?

    Do you understand the basic operation of arrays in the 'C' programming language?

    They are very closely related to pointers - and bad handling of pointers is a great (and all too common) way to mess-up a program!

  • Hi,

    I have worked the same thing in IAR. What iam doing is a simple thing like, say.

    char buffer[20];

    As soon as this declaration is made, the welcome screen stops being displayed, with only the background set colour working. As far as the function is concerned it is developed by luminary micro themself.

  • do you have enough stack space?

  • Hi,

    I am sorry but how would i set the stack space and check if it is full

  • "What iam doing is a simple thing like, say."

    No, that is still very vague!

    We need to know precisely what you are doing, and where you are doing it!

    eg, if it is a local array, it will use stack space - so Tamir's question is pertinent.

    "As far as the function is concerned it is developed by luminary micro themself."

    They supply the source code, so there is nothing to stop you stepping into it - as suggested!

    Have you actually done any debugging of your own yet??

  • you really cannot expect to be able to solve problems associated with your system if you do not know the basics. you must read the data sheet / user manual of the processor / display, and of course also to get acquainted with the Keil IDE.

  • Indeed!

    Luminary (now TI) provide a startup_rvmdk.S in each of their sample pojects provided in the StellarisWare package. This includes all of the DevKit samples.

    For example:

    ; <<< Use Configuration Wizard in Context Menu >>>
    ;******************************************************************************
    ;
    ; startup_rvmdk.S - Startup code for use with Keil's uVision.
    ;
    ; Copyright (c) 2009 Luminary Micro, Inc.  All rights reserved.
    ; Software License Agreement
    ;
    ; Luminary Micro, Inc. (LMI) is supplying this software for use solely and
    ; exclusively on LMI's microcontroller products.
    ;
    ; The software is owned by LMI and/or its suppliers, and is protected under
    ; applicable copyright laws.  All rights are reserved.  You may not combine
    ; this software with "viral" open-source software in order to form a larger
    ; program.  Any use in violation of the foregoing restrictions may subject
    ; the user to criminal sanctions under applicable laws, as well as to civil
    ; liability for the breach of the terms and conditions of this license.
    ;
    ; THIS SOFTWARE IS PROVIDED "AS IS".  NO WARRANTIES, WHETHER EXPRESS, IMPLIED
    ; OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
    ; MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE.
    ; LMI SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR
    ; CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER.
    ;
    ; This is part of revision 4781 of the DK-LM3S9B96 Firmware Package.
    ;
    ;******************************************************************************
    
    ;******************************************************************************
    ;
    ; <o> Stack Size (in Bytes) <0x0-0xFFFFFFFF:8>
    ;
    ;******************************************************************************
    Stack   EQU     0x00000100
    
    ;******************************************************************************
    ;
    ; <o> Heap Size (in Bytes) <0x0-0xFFFFFFFF:8>
    ;
    ;******************************************************************************
    Heap    EQU     0x00000000
    
    ;******************************************************************************
    ;
    ; Allocate space for the stack.
    ;
    ;******************************************************************************
            AREA    STACK, NOINIT, READWRITE, ALIGN=3
    StackMem
            SPACE   Stack
    __initial_sp
    
    
    

  • Hi andy,

    Thanks a lot it was the problem with the stack space and it is solved now. I dont know what would have happened to me thinking about this issue if you weren't there to help us out. Thank you.

  • You're welcome - although it was Tamir who first brought up the Stack Size as a possible culprit!