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

error in keil 7.06 a

1 open project HELLO
2 insert int e,b,c; after main
3 in project devce select extended linker
4 translate
5 debug and see that variable e ?????
what is it?
is it new version?

Parents
  • Stefan wrote:"Have you actually tried reading any of the answers to your original post?"
    Yes, I read carefully original post and ALL answers. Excuse me for my bad English. But you don't see what exactly happens.

    I have very little main function:

    main()
    {
      int e;
    
      while(1)
      {
        e++;
      }
    }
    

    When I compiling this code (with C51 Optimization level=7 + check 'Linker Code Packing' + LX51) and start debugging I see on 'Local' Tab of 'Watch & Call Stack Window':
    'e ????????'

    When I re-compiling this code with C51 Optimization level=7 + no check 'Linker Code Packing' + LX51, in debugger I see real value of variable.

    Is it "expected behaviour"?

    In Disassembly window I see that code is correct - variable 'e' placed in internal RAM at address: 0x08 - high byte & 0x09 - low byte. So, generated code is correct. Debugger simply did not show variable.

Reply
  • Stefan wrote:"Have you actually tried reading any of the answers to your original post?"
    Yes, I read carefully original post and ALL answers. Excuse me for my bad English. But you don't see what exactly happens.

    I have very little main function:

    main()
    {
      int e;
    
      while(1)
      {
        e++;
      }
    }
    

    When I compiling this code (with C51 Optimization level=7 + check 'Linker Code Packing' + LX51) and start debugging I see on 'Local' Tab of 'Watch & Call Stack Window':
    'e ????????'

    When I re-compiling this code with C51 Optimization level=7 + no check 'Linker Code Packing' + LX51, in debugger I see real value of variable.

    Is it "expected behaviour"?

    In Disassembly window I see that code is correct - variable 'e' placed in internal RAM at address: 0x08 - high byte & 0x09 - low byte. So, generated code is correct. Debugger simply did not show variable.

Children