j link linux内核_LinK+, 一款Linux内核开发IDE

前言

LinK+ 是一款在linux下基于eclipse开发的免费的Linux内核以及驱动开发软件.

这个软件在国外知名度也不高. 国内更是没人介绍过这一款软件.

软件的现状是: 开发者似乎已经停止更新, 设想中支持的ARM架构也没有下文. 因此不支持嵌入式的仿真.

我主要用它来查看内核源码, 开发驱动, 能快速的搭建好驱动架构, 支持内核函数跳转查看! 自动生成Makefile.

安装

根据用户手册, 有多种安装方法. 使用最简单的 LinK+IDE方式.

下载 32bit, 因为我用的是32位的Ubuntu.

说明一下 LinK+ UserManual 里面的 -横杠都是错误的, 终端无法识别!

然后按照说明安装如下依赖的软件.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18# 安装最新版 openjdk, 向下兼容jdk6即可.

sudo apt-get install openjdk-8-jdk

# 安装open ssh

sudo apt-get install openssh-client openssh-server

# 其它依赖的软件

sudo apt-get install libqt4-dev

sudo apt-get install libncurses5

sudo apt-get install qemu

sudo apt-get install bridge-utils iptables dnsmasq

# 安装 LinK+IDE

# 下载好LinK+IDE的文件, LinK+ IDE-linux.gtk.x86.tar.gz.tar.gz

tar -xzvf LinK+\ IDE-linux.gtk.x86.tar.gz.tar.gz

./linkplus

# 安装成功的话, 就能运行了.

然后, LinK+IDE 的升级和插件不用看了. 很久没更新过了.

Kernel源码的编译和阅读

先确定linux内核源码可以在终端下成功编译.

新建Makefile工程

f74eb518005a3b1706b7c10806956f79.png

选择源码路径, 工具链使用Makefile自己的, 所以选

8b26941d36c8112555a89f6e870c83fa.png

选中项目, 然后在菜单里取消自动编译, 最后选择项目属性

c2bb221fe8d348c19aa159a9248d62d4.png

设定编译指令, make 即可

b036fa050e0c333ff436d40c0f66ba49.png

设定指令目标. 内核使用 uImage, 驱动使用 make modules

3ece024ca06f6cf1169833dba97418db.png

如果需要设置更多的指令目标, 用如下方式. Create是设置, Build是执行

ee4e6fc4e783039d6ff43238bf1de9c5.png

设置自定义目标

9689dc7e570d9f074e26e3626767ac1a.png

好了, 如果这样直接 Make Targets->Build...->uImage, 会编译失败.

原因是Eclipse下面无法正确识别Makefile下面的CROSS_COMPILE路径.

见 Ubuntu下基于Eclipse去调用Makefile交叉编译Uboot

需要将其改为绝对路径. 打开内核源码根目录下的 Makefile, 187行, 修改如下:

1

2# CROSS_COMPILE ?= arm-linux-

CROSS_COMPILE ?= /usr/local/gcc-3.4.5-glibc-2.3.6/bin/arm-linux-

再次在eclipse下尝试编译, 就成功了. 看Console的输出, 获得uImage文件

1

2

3Kernel: arch/arm/boot/Image is ready

Kernel: arch/arm/boot/zImage is ready

Image arch/arm/boot/uImage is ready

但Ecilpse依旧会显示很多警告和错误. 原因不明, 查的如下资料:

先忽略这些错误警告, 但此时, 有些函数依旧不能正常跳转. 原因是 .\include\linux\autoconf.h 没有被其它头文件包含, 里面的宏定义linux源码无法识别. 解决办法是我们自己把这些宏定义加入eclipse的SYMBOLS. 手工一个个加入不现实, 我写了一个python代码, 把linux下的config自动转为eclipse可识别的XML格式:

将这个文件放在linux源码根目录下, 配置好.config 文件. 然后在终端运行它

1

2

3# pwd = linux内核源码根目录

$ python config2xml.py

Generate ../eclipse_SYMBOLS.xml successfully...

成功后, 会在上层目录生成 eclipse_SYMBOLS.xml 这么一个文件.

然后回到eclipse里面, 将其导入. 如图:

42028226d254d129e290ea385d50764e.png

另外, 为方便跳转, 可以在eclipse下面把linux源码下不相关的平台代码排除掉.

7e07aed94c15fc400f520d02951cb9ba.png

最后, 需要把项目的index索引重建一下才能正确跳转. 重建耗时较长.

7c971da4a42c61c724a2145d26f39f61.png

至此内核源码的C语言部分已经能成功的跳转查看了.汇编部分可以用eclipse的搜索功能.

写驱动

需要先在工程里加载好Kernel源码!

然后参考

大致步骤如下:

LinK+IDE里, 新建工程->Linux Kernel Development(LinK+)

选择 Device Driver Project

写好驱动名称, 驱动路径, 作者, 开源证书类型

Kernel Version 要去掉 Use Host Machine Kernel, 选择我们已经编译好的嵌入式内核源码路径

X86架构 (ARM不支持),

下面两步可以根据需求自己选择驱动框架, LinK+会自动生成有框架的.c和.h以及Makefile文件.

驱动下面, 所有的跳转都可用, 可以非常方便的查看函数和宏定义.

可以使用eclipse去编译, 设置一个 modules 目标就可以了.

Eclipse交叉编译说明

这个方法的核心是不用Eclipse自己的编译工具链. 所有的编译工具都由Makefile内指定了.

所以, 这个也适用于编译查看u-boot源码.

如果是应用层代码, 那么就需要自己写Makefile指定编译工具了.

另外一个方法是, 另外下载一个 Eclipse IDE for C/C++, 单独为应用层代码配置一个环境.

可参考:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在Keil IDE中配置GD32开发环境需要按照以下步骤进行。首先,确保你已经安装了Keil IDE,安装过程中也选择了GD32系列的设备支持。安装完成后,打开Keil IDE。 第一步是选择工程模板,点击“Project”菜单,选择“New Project”。在弹出的对话框中,选择你希望保存工程的目录,然后选择GD32系列的设备,点击“OK”。 第二步是添加源文件,右键点击工程名,选择“Add/Remove Files”。在弹出的对话框中,选择你需要添加的源文件,点击“Add”按钮,然后点击“OK”。 第三步是配置编译选项,点击“Project”菜单,选择“Options for Target”。在弹出的对话框中,选择“C/C++”选项,选择你需要的编译器选项,比如优化级别、浮点运算选项等。然后选择“Linker”选项,配置你的链接器选项,如堆栈大小、扩展RAM等。 第四步是配置调试器,点击“Project”菜单,选择“Options for Target”。在弹出的对话框中,选择“Debug”选项。在“Debug”选项卡中,选择你使用的调试器类型,比如J-Link或ST-Link。然后设置调试器的连接速度和目标设备参数。 最后,点击“Project”菜单,选择“Build”来编译你的工程。如果编译成功,你可以点击“Debug”按钮开始调试你的程序,或者点击“Flash”按钮将程序烧录到目标设备中。 以上就是在Keil IDE中配置GD32开发环境的基本步骤。根据具体的需求,你还可以进行更详细的配置,如添加库文件、配置中断向量表等。希望这个简要的手册能够帮助到你。 ### 回答2: keil是一款常用的嵌入式开发环境,可以用来开发各种嵌入式系统。gd32是一款基于ARM Cortex-M3内核的微控制器。配置keil ide以适配gd32开发环境需要按照以下步骤进行操作。 1. 首先,需要从gd32官方网站下载并安装gd32库文件。这些库文件可以提供给keil ide使用,以支持gd32的开发工作。 2. 下载和安装keil ide。可以从keil官方网站得到该软件的安装包,并按照提示进行安装操作。 3. 与gd32库文件一起安装的还有一些gd32的示例工程。可以选择其中的一个示例工程,将其复制到本地目录中。 4. 打开keil ide,并选择“File”菜单中的“Open”选项,找到刚才复制的示例工程文件,打开该工程。 5. 在keil ide的工程管理器中,找到并打开工程的属性设置。选择“Options for Target”选项卡,可以对工程进行一些基本的配置。 6. 在“Target”选项卡中,选择正确的gd32目标设备,并设置其相关的参数,如时钟频率和存储器布局等。 7. 在“C/C++”选项卡中,将gd32库文件所在的路径添加到“Include Paths”中。 8. 在“Linker”选项卡中,将gd32库文件所在的路径添加到“Library Paths”中,并添加相应的库文件。 9. 完成上述配置后,点击“OK”按钮保存配置并退出属性设置。 10. 最后,编译和下载工程,即可在gd32开发板上运行测试。 以上是使用keil ide配置gd32开发环境的大致步骤,可以根据具体情况作适当调整。配置完成后,就可以使用keil ide来进行gd32开发工作了。 ### 回答3: Keil IDE一款非常流行的嵌入式开发工具,用于编写和调试各种嵌入式系统的程序。GD32是一款基于ARM Cortex-M3或Cortex-M4内核的微控制器系列。为了在Keil IDE中配置GD32开发环境,我们可以按照以下步骤进行操作: 1. 首先,我们需要下载GD32的设备支持包(Device Support Pack,DSP),这个包包含了GD32系列微控制器的设备描述文件和驱动程序。 2. 下载并安装Keil IDE最新的版本。确保你选择了正确的版本,以便支持你所使用的GD32系列微控制器。 3. 安装Keil IDE后,启动软件。在菜单栏上找到“Project”选项,选择“New Project”来创建一个新的项目。 4. 在项目创建向导中,选择适合你的GD32芯片型号的模板。如果你的型号不在列表中,可以选择一个类似的型号。 5. 在项目创建向导中,选择一个合适的目标设备。这会根据你选择的GD32芯片型号来设置项目的配置。 6. 设置项目的输出目录和名字,然后点击“Finish”来完成项目的创建。 7. 项目创建完成后,你将看到一个新的工程添加到Keil IDE的工程窗口中。在这个窗口中,你可以添加源文件、库文件等。 8. 在项目管理器中,右键单击“Target 1”并选择“Options for Target 'Target 1'”来配置目标设备的编译选项。 9. 在弹出的对话框中,你可以设置编译器的选项,连接器的选项,优化级别,调试器等。 10. 最后,点击“OK”来保存配置。然后,你可以通过点击工具栏上的“Build”按钮来编译你的项目。 通过按照上述步骤,你可以在Keil IDE中配置GD32开发环境,并开始编写和调试GD32的嵌入式程序。这样,你就可以利用Keil IDE和GD32来进行嵌入式系统的开发工作了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值