上述是依README指示操作,会报如下错误:
- /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翻译过来的),还需要进行如下操作:
- root@jelline:~/Downloads/JLink_Linux_V430# cp 45-jlink.rules
/etc/udev/rules.d/
- root@jelline:~/Downloads/JLink_Linux_V430# groupadd plugdev
- root@jelline:~/Downloads/JLink_Linux_V430# usermod
-a -G plugdev jelline
2.4 测试
按README文件,貌似已经装好了,但执行JLinkExe,仍提示如下错误:
- root@jelline:~/Downloads/JLink_Linux_V430#
./JLinkExe
- 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不够成熟,主要表现在资料太小、功能不易用、操作成功与否不提示(当然不排除不熟练的原因)。