WhyCan Forum(哇酷论坛)

人过留名,雁过留声,感谢各位朋友不离不弃地支持。 QQ: 516333132, 微信: whycan_cn (哇酷网/挖坑网/填坑网) admin@whycan.cn

您尚未登录。

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

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 8,939

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

离线

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

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 8,939

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

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 8,939

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

QQ20180901111932.png

离线

#4 2018-09-01 13:16:27

xxzouzhichao
会员
注册时间: 2017-10-25
累计积分: 124

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

晕哥真能折腾

离线

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

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 8,939

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

QQ20180901142329.png

xxzouzhichao 说:

晕哥真能折腾

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

离线

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

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 8,939

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

QQ20180902091133.png

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

离线

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

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 8,939

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

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 8,939

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

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 8,939

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

QQ20180902201724.png

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

离线

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

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 8,939

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

QQ20180902223405.jpg

QQ20180902223433.jpg

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

离线

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

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 8,939

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

QQ20180902223101.png

问题曲线解决了。

离线

#12 2020-02-13 16:17:32

linhuaou
会员
注册时间: 2019-08-09
累计积分: 30

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

我的keil不能通过JLINK仿真,只能烧录,这个Keil仿真可以在哪个帖子学习参考下?

离线

页脚