We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
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
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.