我成功地按照 SLAU646E 的§5.2进行编译、然后执行"chmod -R 0:0 install"和"cp -A install/*/"、从而在 Linux 上安装 MSP430 gcc 版本8.2.0。 我将支持文件升级到版本1.207,并将命令作为 root:"install -m755 -d /usr/local/msp430-elf/sys-include ",然后是"install -m644 include/*/usr/local/msp430-elf/sys-include "。
当尝试制作一个简单的项目时、所有内容都可以编译、并且带有"msp430-elf-size"命令的视图中没有显示".data"段中的任何组件。
当尝试使用 MSP430-elf-ld 通过我的预设 makefile 将所有内容链接在一起时、我将获得以下输出:
msp430-elf-gcc -mmcu=msp430g2001 -msmall -msort -l/usr/local/msp430-elf/sys-include \ -wl、-Map、g2_01blink.map -o g2_01blink.elf g2_01blink.o blink.o bCMP+.o wDT+.o /usr/local/lib/gcc/msp430-elf/8.2.0/../../../../msp430-elf/bin/ld:错误:g2_01blink.map、假设较低区域中的数据使用较低区域、但认为较低区域中的数据使用较低区域。 /usr/local/lib/gcc/msp430-elf/8.2.0/../../../../msp430-elf/bin/ld:无法合并文件 G2_01blink.o 的目标特定数据 /usr/local/lib/gcc/msp430-elf/8.2.0/../../../../msp430-elf/bin/ld:错误:G2_01blink.elf 使用上部区域作为数据、但 BCM+.o 假定数据位于下部存储器中。 /usr/local/lib/gcc/msp430-elf/8.2.0/../../../../msp430-elf/bin/ld:无法合并文件 BCM+.o 的目标特定数据/usr/local/lib/gcc/msp430-elf/8.2.0/../../../../msp430-elf/bin/ld:错误:G2_01blink.elf 使用上部区域作为数据、但 IO.o 假定数据位于下部存储器中。 /usr/local/lib/gcc/msp430-elf/8.2.0/../../../../msp430-elf/bin/ld:无法合并文件 io.o /usr/local/lib/gcc/msp430-elf/8.2.0/../../../../msp430-elf/bin/ld 的目标特定数据:错误:g2_01blink.elf 使用较高的区域作为数据、但 WDT+.o 假定数据位于较低的存储器中。 /usr/local/lib/gcc/msp430-elf/8.2.0/../../../../msp430-elf/bin/ld:无法合并文件 WDT+.o collect2的目标特定数据:错误:LD 返回1退出状态 make:***[makeg2001.mk:19:g2_01blink.elf]错误1
我有生成的加载图。
如果仍然有问题、我可能必须恢复到版本7。