您尚未登录。

楼主 #1 2018-09-01 09:20:09

晕哥
管理员
所在地: 微信 whycan_cn
注册时间: 2017-09-06
已发帖子: 9,245
积分: 9197

KEIL可以使用 GNU 工具链,但是只能使用指定那些工具链,不是所有的GNU工具链都可以用





离线

楼主 #2 2018-09-01 11:02:32

晕哥
管理员
所在地: 微信 whycan_cn
注册时间: 2017-09-06
已发帖子: 9,245
积分: 9197

Re: KEIL可以使用 GNU 工具链,但是只能使用指定那些工具链,不是所有的GNU工具链都可以用

QQ20180901110439.png

QQ20180901110527.png

这个GNU toolchain支持 KEIL, 坑比较少: gcc-arm-none-eabi-4_9-2015q2-20150609-win32.zip





离线

楼主 #3 2018-09-01 11:19:37

晕哥
管理员
所在地: 微信 whycan_cn
注册时间: 2017-09-06
已发帖子: 9,245
积分: 9197

Re: KEIL可以使用 GNU 工具链,但是只能使用指定那些工具链,不是所有的GNU工具链都可以用

QQ20180901111932.png





离线

楼主 #5 2018-09-01 14:24:25

晕哥
管理员
所在地: 微信 whycan_cn
注册时间: 2017-09-06
已发帖子: 9,245
积分: 9197

Re: KEIL可以使用 GNU 工具链,但是只能使用指定那些工具链,不是所有的GNU工具链都可以用

QQ20180901142329.png

xxzouzhichao 说:

晕哥真能折腾

一天不折腾,浑身不舒服.





离线

楼主 #6 2018-09-02 09:14:16

晕哥
管理员
所在地: 微信 whycan_cn
注册时间: 2017-09-06
已发帖子: 9,245
积分: 9197

Re: KEIL可以使用 GNU 工具链,但是只能使用指定那些工具链,不是所有的GNU工具链都可以用

QQ20180902091133.png

把 @达克罗德 的 F1C100S裸奔framebuffer+PWM+GPIO驱动 代码移植到KEIL上面,
编译都很顺利,但是链接出了各种奇葩的问题。





离线

楼主 #7 2018-09-02 09:18:17

晕哥
管理员
所在地: 微信 whycan_cn
注册时间: 2017-09-06
已发帖子: 9,245
积分: 9197

Re: KEIL可以使用 GNU 工具链,但是只能使用指定那些工具链,不是所有的GNU工具链都可以用

最后我连 获取windows所有进程完整命令行小技巧 这个都请出来了,终于找到完整的编译链接指令.

链接指令:

arm-none-eabi-gcc.exe                                               "C:\Tools\gcc-arm-none-eabi-4_9-2015q2-20150609-win32\bin\arm-none-eabi-gcc" @".\Objects\test2.lnp"      20512

打开 Objects\test2.lnp 文件:

-T ./f1c100s.ld -o "./Objects/test2.elf" "./objects/sys-clock.o" "./objects/sys-copyself.o" "./objects/sys-dram.o" "./objects/sys-mmu.o" "./objects/sys-spi-flash.o" "./objects/sys-uart.o" "./objects/start.o" "./objects/exception.o" "./objects/memcpy.o" "./objects/memset.o" "./objects/main.o" -nostartfiles

QQ20180902092210.png





离线

楼主 #8 2018-09-02 09:24:37

晕哥
管理员
所在地: 微信 whycan_cn
注册时间: 2017-09-06
已发帖子: 9,245
积分: 9197

Re: KEIL可以使用 GNU 工具链,但是只能使用指定那些工具链,不是所有的GNU工具链都可以用

QQ20180902090643.png

继续跟踪

arm-none-eabi-ld -T ./f1c100s.ld -nostdlib  \
-o Objects/test2.elf objects/sys-clock.o \
objects/sys-copyself.o objects/sys-dram.o objects/sys-mmu.o \
objects/sys-spi-flash.o objects/sys-uart.o objects/start.o \
objects/exception.o objects/memcpy.o objects/memset.o \
objects/main.o

arm-none-eabi-ld -T ./f1c100s.ld -nostdlib \
-o "./Objects/test2.elf" "./objects/sys-clock.o" \
"./objects/sys-copyself.o" "./objects/sys-dram.o" "./objects/sys-mmu.o" \
"./objects/sys-spi-flash.o" "./objects/sys-uart.o" "./objects/start.o" \
"./objects/exception.o" "./objects/memcpy.o" "./objects/memset.o" \
"./objects/main.o"

发现上面的命令行链接正常
下面的不正常。





离线

楼主 #9 2018-09-02 20:19:15

晕哥
管理员
所在地: 微信 whycan_cn
注册时间: 2017-09-06
已发帖子: 9,245
积分: 9197

Re: KEIL可以使用 GNU 工具链,但是只能使用指定那些工具链,不是所有的GNU工具链都可以用

QQ20180902201724.png

一直没搞定怎么去掉这两个双引号.





离线

楼主 #10 2018-09-02 22:36:00

晕哥
管理员
所在地: 微信 whycan_cn
注册时间: 2017-09-06
已发帖子: 9,245
积分: 9197

Re: KEIL可以使用 GNU 工具链,但是只能使用指定那些工具链,不是所有的GNU工具链都可以用

QQ20180902223405.jpg

QQ20180902223433.jpg

linux下的gcc 链接程序 ld, 一样存在这种问题, 文件有 ./ 或者 绝对路径 / 都链接失败.





离线

楼主 #11 2018-09-02 22:36:43

晕哥
管理员
所在地: 微信 whycan_cn
注册时间: 2017-09-06
已发帖子: 9,245
积分: 9197

Re: KEIL可以使用 GNU 工具链,但是只能使用指定那些工具链,不是所有的GNU工具链都可以用

QQ20180902223101.png

问题曲线解决了。





离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn