如果您查看德州仪器的slaa534.pdf文件,则只有18种重定位类型:
Idx. Name.
1. R_MSP430_NONE
2. R_MSP430_ABS32
3. R_MSP430_ABS16
4. R_MSP430_ABS8
5. R_MSP430_PCR16
6. R_MSP430X_PCR20_EXT_SRC
7. R_MSP430X_PCR20_EXT_DST
8. R_MSP430X_PCR20_EXT_ODST
9. R_MSP430X_ABS20_EXT_SRC
10. R_MSP430X_ABS20_EXT_DST
11. R_MSP430X_ABS20_EXT_ODST
12. R_MSP430X_ABS20_ADR_SRC
13. R_MSP430X_ABS20_ADR_DST
14. R_MSP430X_PCR16
15. R_MSP430X_PCR20_CALL
16. R_MSP430X_ABS16
17. R_MSP430_ABS_HI16
18. R_MSP430_PREL31
然而,我得到了一个更多的ELF文件。我在互联网上查看了一个名为elf32-msp430.c的 binutils 包中的一个有趣文件。
它看起来像是一个执行数据重定位的软件,它有这些重定位类型。
1. BFD_RELOC_NONE
2. BFD_RELOC_32
3. BFD_RELOC_MSP430_10_PCREL
4. BFD_RELOC_16
5. BFD_RELOC_MSP430_16_PCREL
6. BFD_RELOC_MSP430_16
7. BFD_RELOC_MSP430_16_PCREL_BYTE
8. BFD_RELOC_MSP430_16_BYTE
9. BFD_RELOC_MSP430_2X_PCREL
10. BFD_RELOC_MSP430_RL_PCREL
11. BFD_RELOC_8
12. BFD_RELOC_MSP430_SYM_DIFF
13. BFD_RELOC_32
14. BFD_RELOC_16
15. BFD_RELOC_8
16. BFD_RELOC_MSP430_ABS8
17. BFD_RELOC_MSP430X_PCR20_EXT_SRC
18. BFD_RELOC_MSP430X_PCR20_EXT_DST
19. BFD_RELOC_MSP430X_PCR20_EXT_ODST
20. BFD_RELOC_MSP430X_ABS20_EXT_SRC
21. BFD_RELOC_MSP430X_ABS20_EXT_DST
22. BFD_RELOC_MSP430X_ABS20_EXT_ODST
23. BFD_RELOC_MSP430X_ABS20_ADR_SRC
24. BFD_RELOC_MSP430X_ABS20_ADR_DST
25. BFD_RELOC_MSP430X_PCR16
26. BFD_RELOC_MSP430X_PCR20_CALL
27. BFD_RELOC_MSP430X_ABS16
28. BFD_RELOC_MSP430_ABS_HI16
29. BFD_RELOC_MSP430_PREL31
30. BFD_RELOC_MSP430_10_PCREL
31. BFD_RELOC_MSP430_2X_PCREL
32. BFD_RELOC_MSP430_RL_PCREL
33. BFD_RELOC_MSP430_SYM_DIFF
我在哪里可以寻求信息来执行这些重新安置?
谢谢。
答案 0 :(得分:0)
事实证明我正在使用另一个编译器。这些重定位(第二个)来自MSPGCC,而不是来自TI编译器。我只会搜索MSPGCC的文档。