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

Cant intialise data value from data area readwrite

I have just started writing assembly code. I am using the simulator in Keil uvision5 to the run the code below. I dont understand why I can't see the src data value of 14 in register r1 when I ldr the data value from the address stored in the r0 register. I have tried to research the solution myself but cant find an exact reason why this happens. Any help would be gratefully appreciated.


  THUMB
  AREA RESET, CODE, READONLY
  EXPORT  __Vectors
  EXPORT Reset_Handler
__Vectors
  DCD 0x20001000
  DCD Reset_Handler

  AREA Code, CODE, READONLY
  ENTRY
Reset_Handler
        LDR     r0, =src
        LDR     r1, [r0]

terminate  ; sit in an endless loop
  B terminate

    ; data area that can be modified (readwrite)
  AREA Data, DATA, READWRITE
src     DCD     14
        END

Parents
  • Thank you for your prompt and detailed answer. I have researched the topics that you have said for me to look at in your answer but I am not quite understanding this. I understand what you are telling me to do and why I can't initialise my constants I just don't know how to go about doing it. My research has not helped me understand how to do this I feel more confused!
    From what you are saying I don't have uvision configured correctly in particular the linker. When I go into project options and the linker tab under scatter file there is no file. Also how would you copy constants to RAM in code I dont understand what code you would write to do this.
    Does my whole problem stem from the incorrectly configured linker or do I also need to add code in once I get the linker correctly configured.

Reply
  • Thank you for your prompt and detailed answer. I have researched the topics that you have said for me to look at in your answer but I am not quite understanding this. I understand what you are telling me to do and why I can't initialise my constants I just don't know how to go about doing it. My research has not helped me understand how to do this I feel more confused!
    From what you are saying I don't have uvision configured correctly in particular the linker. When I go into project options and the linker tab under scatter file there is no file. Also how would you copy constants to RAM in code I dont understand what code you would write to do this.
    Does my whole problem stem from the incorrectly configured linker or do I also need to add code in once I get the linker correctly configured.

Children
No data