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.
Hello,
I have a custom ARM Cortex-A9 board. My aim is to load the kernel image onto the target via ARM DSTREAM. I have u-boot loaded into SNOR memory. The u-boot is running fine. After I get the u-boot prompt I am connecting to the target via ARM DSTREAM. Then I press pause button and enter the command add-symbol-file "<path>\vmlinux". After executing this command I get the message as "Cannot determine target state".
I want to know whether I am following the correct steps for the above described problem. Please let me know if changes are required and also suggest some pointers if required.
The vmlinux file is linked at a virtual address, but in U-Boot the MMU is not on yet* so when DS-5 tries to load vmlinux it is probably trying to load into non-existent memory addresses and your target seems to be locking up. (You could probably do the same thing by using DS-5 to to write just a word at the address the kernel has been linked to.)
You should be able to use the restore command with an appropriate offset (instead of load) to place the image in physical memory (but I haven't tried myself). But that is only part of jobs that the bootloader does; there's also setting up the DTB/ATAGs/initramfs and registers. See the kernel's Documentation/arm/Booting for more info.
[*] or, if the MMU is on, it is not using the kernel's memory mapping.
Hello Scott,
Thank you for your reply. I tried the restore command but it didn't work.
I don't really have enough information to help you. Can you tell me...