摘要:

打开你仿真用的机器人的配置文化,这个应该是local_costmap_params.yaml

transform tolerance g改为1

    本文介绍了如何在Ubuntu平台配置J-Link,因版本较高,网上一些资料已不适用,根据J-Link的README文件操作,会产生诸多问题,本文对产生问题的原因进行简单分析,并给出解决方法。最后给出J-Link基本用法。
1 引言

最近因项目需要,需要配置Linux下的J-Link工具,网上有一博文《ubuntu 9.04下J-Link for linux 的配置与使用》,介绍得蛮详细的,但在实际操作过程中差别甚大,应该是版本的原因(我用的是Ubuntu 10.04LTS和JLink_Linux_V430)。     JLink_Linux_V430安装包里的README文件,介绍了如何配置,过于简单,而且安装过程中会遇到不少问题,遂记录整个过程,以供分享。

2 J-Link配置
2.1安装libusb
      如果J-Link是通过USB连接的,得先装libusb,README文件声称用apt-get install libusb,在我机器上不行,提示“无法找到软件包”。所以得自己下载安装。
       在http://sourceforge.net/projects/libusb/files/libusb-1.0/下载(libusb官网,http://www.libusb.org/),并安装,整个过程多次需要root权限,可通过命令sudo -s一次性取得root权限:
  1. root@jelline:~/Downloads# tar jxvf libusb-1.0.8.tar.bz2
  2. root@jelline:~/Downloads# cd libusb-1.0.8/
  3. root@jelline:~/Downloads/libusb-1.0.8# ./configure
  4. root@jelline:~/Downloads/libusb-1.0.8# make
  5. root@jelline:~/Downloads/libusb-1.0.8# make install

2.2 安装libreadline

    JLinkExe会用到libreadline库,所以得把libreadline库装上。http://cnswww.cns.cwru.edu/php/chet/readline/rltop.html 中Current Status选择下载,并安装,如下所示:
  1. root@jelline:~/Downloads# tar -zxvf readline-6.2.tar.gz
  2. root@jelline:~/Downloads/readline-6.2# ./configure
  3. root@jelline:~/Downloads/readline-6.2# make
  4. root@jelline:~/Downloads/readline-6.2# make install

2.3 下载Beta software version for Linux
    到http://www.segger.com/cms/jlink-software.html下载Beta software version for Linux,提示输入序列号,随便输入一串数字即可,点submit serial number,接着在I confirm that I will not use the software with illegal clones打勾,而后Download Software。拷贝库,并执行ldconfig,具体如下:
  • jelline@jelline:~/Downloads$ tar zxvf JLink_Linux_V430.tgz
  • jelline@jelline:~/Downloads/JLink_Linux_V430$ cp libjlinkarm.so.4* /usr/lib
  • jelline@jelline:~/Downloads/JLink_Linux_V430$ ldconfig
上述是依README指示操作,会报如下错误:
  1. /sbin/ldconfig.real: /usr/lib/libjlinkarm.so.4 is not a symbolic link
      
      问题出在把libjlinkarm.so.4拷贝到/usr/lib就不再是符号链接文件(这点我也纳闷),进入到/usr/lib目录下,删除libjlinkarm.so.4,并重新建立符号链接文件即可,如下:
  • root@jelline:/usr/lib# rm libjlinkarm.so.4
  • root@jelline:/usr/lib# ln -s libjlinkarm.so.4.30.0 libjlinkarm.so.4
  • root@jelline:/usr/lib# ldconfig
       
       为了让标准用户有权使用JLinkExe(这句话是README翻译过来的),还需要进行如下操作:
  1. root@jelline:~/Downloads/JLink_Linux_V430# cp 45-jlink.rules /etc/udev/rules.d/
  2. root@jelline:~/Downloads/JLink_Linux_V430# groupadd plugdev
  3. root@jelline:~/Downloads/JLink_Linux_V430# usermod -a -G plugdev jelline
2.4 测试
按README文件,貌似已经装好了,但执行JLinkExe,仍提示如下错误:
  1. root@jelline:~/Downloads/JLink_Linux_V430# ./JLinkExe
  2. error while loading shared libraries: libreadline.so.5: cannot open shared object file: No such file or directory
       在/usr/lib找不到libreadline.so.5库,最后发现libreadline.so库被放在/lib/下,但其版本是6,创建一个符号链接指向libreadline.so.6.1,具体如下:
  • jelline@jelline:/lib$ ls libreadline.so.6*
  • libreadline.so.6 libreadline.so.6.1
  • jelline@jelline:/lib$ ln -s libreadline.so.6.1 libreadline.so.5
OK,现在重新运行JLinkExe就可以了,提示如下信息:
  • jelline@jelline:~/Downloads/JLink_Linux_V430$ ./JLinkExe
  • SEGGER J-Link Commander V4.30 ('?' for help)
  • Compiled Jun 30 2011 15:53:19
  • DLL version V4.30, compiled Jun 30 2011 15:53:15
  • Firmware: J-Link ARM V8 compiled Jun 21 2011 20:26:20
  • Hardware: V8.00
  • S/N: 20100214
  • Feature(s): RDI,FlashDL,FlashBP,JFlash,GDBFull
  • VTarget = 3.306V
  • Info: TotalIRLen = 9, IRPrint = 0x0011
  • Info: Found Cortex-M3 r1p1, Little endian.
  • Info: TPIU fitted.
  • Info: FPUnit: 6 code (BP) slots and 2 literal slots
  • Found 2 JTAG devices, Total IRLen = 9:
  • #0 Id: 0x3BA00477, IRLen: 04, IRPrint: 0x1, CoreSight JTAG-DP (ARM)
  • #1 Id: 0x16410041, IRLen: 05, IRPrint: 0x1, STM32 Boundary Scan
  • Cortex-M3 identified.
  • JTAG speed: 100 kHz
  • J-Link>

3 使用JLink
在J-Link>输入"?",即给出命令列表。我在使用过程中,总体觉得Linux下JLink不够成熟,主要表现在资料太小、功能不易用、操作成功与否不提示(当然不排除不熟练的原因)。

3.1 下载loadbin
loadbin用于将二进制文件下载到目标存储器,语法如下:
  1. Syntax: loadbin <filename>, <addr>  //Load binary file into target memory
   下载之前需要设置下目标版的处理器,否则无法正常烧写,我的型号是STM32F103RBT6,但在指定的时候只指定为STM32F103RB,如下:
  1. J-Link>exec device = STM32F103RB
   有个麻烦,下载完没有明显提示成功与否,可以通过这样解决:在PC通过命令xxd查看待下载文件,下载进去通过JLink命令mem查看,判断这两者是否一样(只比较前面若干字节即可),若一样,则表示烧写成功。举个例子,把/bin/cp文件烧到板子:
  1. J-Link>loadbin /bin/cp, 0x08000000
  2. Loading binary file... [/bin/cp]
  3. Writing bin data into target memory @ 0x08000000.
  4. J-Link>mem 0x08000000,3f
  5. 08000000 = 7F 45 4C 46 01 01 01 00 00 00 00 00 00 00 00 00
  6. 08000010 = 02 00 03 00 01 00 00 00 40 A1 04 08 34 00 00 00
  7. 08000020 = 04 73 01 00 00 00 00 00 34 00 20 00 09 00 28 00
  8. 08000030 = 1D 00 1C 00 06 00 00 00 34 00 00 00 34 80 04
  9. jelline@jelline:~$ xxd /bin/cp | more
  10. 0000000: 7f45 4c46 0101 0100 0000 0000 0000 0000 .ELF............
  11. 0000010: 0200 0300 0100 0000 40a1 0408 3400 0000 ........@...4...
  12. 0000020: 0473 0100 0000 0000 3400 2000 0900 2800 .s......4. ...(.
  13. 0000030: 1d00 1c00 0600 0000 3400 0000 3480 0408 ........4...4...
3.2 保存savebin
  1. Syntax: savebin <filename>, <addr>, <NumBytes>   //Saves target memory into binary file

   这里值得一提的是,参数<NumBytes>是十六进制,比如指定10,保存的是16个字节。我最开始误以为是十进制,我通过ls命令,发现文件大小与自己预期不一致,对比实际文件与预期大小,才发现这个问题。命令mem的<NumBytes>也是十六进制的。

转载于:https://www.cnblogs.com/zxouxuewei/p/5510647.html

ubuntuPC机安装JLink驱动相关推荐

  1. stm32 --如何安装J-Link驱动软件

     对初学者来说,要进行STM32的程序下载调试,需要安装驱动,驱动的安装比较简单,请看下面的描述即可. 如何安装J-Link驱动软件 本文档讲述如何在安装J-Link驱动. 众所周知, J-Lin ...

  2. Linux(ubuntu)安装JLink 驱动

    1安装libusb 如果J-Link是通过USB连接的,得先装libusb,README文件声称用apt-get install libusb,试下行不行,如果提示"无法找到软件包" ...

  3. gentoo实体机安装显卡驱动和解决多媒体播放问题

    硬件为: 显卡:蓝宝石的HD6870(带声卡) 声卡:主板自带(技嘉GA-x79-ud3),显卡自带,华硕老虎卡(PCI接口) 1. 编辑/etc/portage/make.conf文件 修改VIDE ...

  4. linux(manjaro)下安装jlink驱动

    本人的linux是manjaro发行版本的,  网上看到别人用ubuntu遇到很多问题, 我装驱动的时候没遇到问题, 可能环境不一样吧 访问SEGGER J-Link Software and Doc ...

  5. ubuntu搭建基于arm-none-eabi-gcc,jlink驱动的平台,并实现stm32f103c8t6程序的编译链接和烧写

    ubuntu搭建基于arm-none-eabi-gcc,jlink驱动的环境,并实现stm32f103c8t6程序的编译链接和烧写 说明: 本文内容基于VMware上的ubuntu虚拟机,vmware ...

  6. A_A02_004 J-LINK驱动安装

    A_A02_004 J-LINK驱动安装 一.驱动下载 二.交流学习 三.驱动安装步骤 四.检测是否成功安装 五.注意事项 一.驱动下载 网盘下载 戳它跳转 提取码:gz5g 二.交流学习 安装过程如 ...

  7. Ubuntu下 stm32 jlink驱动的安装(1)通过JLink烧写、调试STM32

    转载地址 https://blog.csdn.net/lc_cc/article/details/66982821 最近在学习RT-thread,想在在LINUX下编译烧写stm32,JLink驱动安 ...

  8. 笔记本实体机安装FreeBSD操作系统(KDE-Plasma5桌面环境+NVIDIA显卡驱动)

    笔记本实体机安装FreeBSD操作系统 1.绪论 2.安装过程 2.1 刻录FreeBSD启动U盘 2.2 安装xorg服务以及nvidia显卡驱动程序 2.3 安装sddm管理器以及KDE-plas ...

  9. 【手把手教你做智能车】第三节-Jlink驱动安装_下载第一个例程到系统板

    飞思卡尔智能车系列教学视频教程 手把手教你做智能车:第三节-Jlink驱动安装_下载第一个例程到系统板 视频教程观看地址:http://v.youku.com/v_show/id_XNzkwNTYyO ...

最新文章

  1. 一张图看懂数据防泄漏
  2. python反序数函数_python range()函数取反序遍历sequence的方法
  3. TF之CNN:Tensorflow构建卷积神经网络CNN的简介、使用方法、应用之详细攻略
  4. 严重性代码说明项目文件行 禁止显示状态错误 C4996 fopen('fscanf'、strcmp):This function or variable may be unsafe. 最全解决办法
  5. 这应该是目前最快速有效的ASP.NET Core学习方式(视频)
  6. 一篇男人必看的创业文章。(人活着不能没有钱,但是活着却不能只为了钱)...
  7. 更新Docker中的Jenkins版本
  8. 七:构造方法与自定义构造方法
  9. 《中国人工智能学会通讯》——11.10 点云局部特征描述子基准评估体系
  10. java文件中获取创建日期_如何在Java中获取文件的上次修改日期
  11. 《JavaScript语言精粹(修订版)》试读
  12. Php的入栈,PHP实现的栈数据结构示例【入栈、出栈、遍历栈】
  13. Java标识符、关键字、运算符
  14. 解决win10没Wifi功能了,无线网卡驱动异常代码56的问题
  15. mysql中split_part_Postgresql之split_part()切割函数
  16. android悬浮功能实现,Android利用悬浮按钮实现翻页效果
  17. 小丁在美国的惬意生活 日常学学英语吃吃BBQ-猎豹体育网
  18. 华为OD机试真题 Python 实现【开放日活动】【100%通过率】【2022.11 Q4 新题】
  19. 安装群晖系统入门图文教程
  20. 《从零开始的记账本开发》第1篇 需求分析

热门文章

  1. Informix IDS 11琐屑管理(918考试)认证指南,第 7 局部: IDS复制(10)
  2. 不想做操作工就把你的心静下来
  3. 计算机软件著作权落户加分吗,软件著作权评职称加分吗
  4. sinajs获取的多种类型的最新报价
  5. mac系统上Unity classes.jar 目录
  6. [软件教程]专业屏幕捕捉软件 HyperSnap-DX 使用教程
  7. 一维条形码ean-13格式编码 最后一位校验码的生成规则 及代码
  8. linux deepin 常用命令
  9. 进阶的阿牛哥之用python向多人发送邮件(带附件)、遍历邮件获取内容(两种方法:imbox、imaplib)
  10. 华为Mate30EPro和华为Mate30的区别