准备:
链接:https://pan.baidu.com/s/1G6hP4P5hy1ns5Y09609SiQ
提取码:bt7u
一、功能验证操作步骤
2. 如果显示的是Welcome窗口将它关闭。然后点击Windows >> Show View >> Project Explorer将Project Explorer窗口打开。
3. 点击File >> Import导入工程例程
4. 选择fireworks A9-FVP_AC5例程
5. 在Project Explorer窗口中选中fireworks A9-FVP_AC5工程。单击右键选择Build Project对例程进行编译以查看例程是否有错误。
6. 因为此例程中自带了makefile文件,所以我们需要取消勾选工程属性中“Generate Makefiles automatically”,并删除Build directory栏中“/Debug”。
7. 点击OK保存设置,并重新编译工程
8. 稍等片刻,DS-5会加载相关的FVP,程序会在main函数开头处停止。然后会出现如下界面
9. 点击Continue按钮运行程序
10. 效果如下:
二、切换编译器
2. 重新编译工程会出现如下错误,这是因为我们的工程用的是makefile文件进行编译,我们刚才只是修改了编译器而没有对makefile文件进行修改。
3. 双击工程中的makefile文件打开并按照以下修改它
CC = armcc
为 CC = armclang
将以下内容:
DEPEND_FLAGS = [email protected] --depend_format=unix_escaped
CFLAGS = --cpu=$(CPU) $(DEBUG_FLAGS) --$(CODE_TYPE) -O$(OPT_LEVEL) -O$(OPT_FOR) $(DEFINES) $(INCLUDES) $(DEPEND_FLAGS) --no_depend_system_headers $(SUPPRESS)
AFLAGS = --cpu=$(CPU) $(DEBUG_FLAGS) --apcs=/interwork $(DEPEND_FLAGS) $(SUPPRESS)
修改为:
DEPEND_CFLAGS = -MF [email protected]
DEPEND_AFLAGS = [email protected] --depend_format=unix_escaped
CFLAGS = --target=arm-arm-none-eabi -m$(CODE_TYPE) $(DEBUG_FLAGS) -O$(OPT_LEVEL) -mcpu=$(CPU) $(DEFINES) $(INCLUDES) $(DEPEND_CFLAGS) -MMD $(SUPPRESS)
AFLAGS = --cpu=$(CPU) $(DEBUG_FLAGS) --apcs=/interwork $(DEPEND_AFLAGS) $(SUPPRESS)
4. 修改代码
5. 修改retarget.c文件将
#pragma import(__use_no_semihosting)
替换为:
asm(".global __use_no_semihosting");
6. 保存修改过的文件,然后重新编译工程
7. 运行程序查看效果: