OK, as I have finished this task, I will answer my own question so maybe someone can get help from my answer.
My problem is made of two parts:
The first one is that I don't know clearly how "arm-elf-objdump" work. In my case, I use
arm-elf-objdump -D -b binary -marm binaryfile.dat
This will help to disassemble the ARM code if the binaryfile.dat is correct.
The second problem is how to make binaryfile.dat correct.
For example,
800104: e3a00000 mov r0, #0 ; 0x0
When I dumped hex number e3a00000 from RAM, actually I almost got the instruction. Then I use
const uint8_t num=0xe3a00000;
fp = fopen("binaryfile.dat", "wb+");
fwrite(&num, sizeof(const uint8_t), 1, fp);
This will write "e3a00000" in the binaryfile.dat which is a binary file(in Linux). Then I used
hexer binaryfile.dat
to check and found it is correct, then used
arm-elf-objdump -D -b binary -marm binaryfile.dat
What I got is
> arm-elf-objdump -D -b binary -marm binaryfile.dat
binaryfile.dat: file format binary
Disassembly of section .data:
0000000000000000 <.data>:
0: e3a00000 mov r0, #0 ; 0x0
That's all, I am a beginner in this area and thanks for all the people who helped me. If you find some problems, please let me know :)