假如只有串口和JTAG,如何高效且优雅的调试linux驱动程序

在只有串口和JTAG存在的嵌入式设备环境中,可以通过JTAG将镜像文件下载到指定位置,但是当文件较大时,下载镜像所消耗的时间会很长,当调试代码时每次都重新加载镜像文件,极大的降低了开发效率。
基于这个背景,我们可以通过串口按需加载文件,对于调试驱动程序而言,可以极大的提高开发和调试效率。

需要的工具包括lrzsz和一个支持x/y/z moderm的串口终端。

1. 源码下载

下载地址:

https://ohse.de/uwe/software/lrzsz.html

下载0.12.20版本

2. 编译

  • 配置
CC=arm-none-linux-gnueabi-gcc CFLAGS=-O2 ./configure

结果log:

checking for xgettext... /usr/bin/xgettext
checking for catalogs to be installed...  de
updating cache ./config.cache
creating ./config.status
creating Makefile
creating intl/Makefile
creating lib/Makefile
creating testsuite/Makefile
creating man/Makefile
creating po/Makefile.in
creating src/Makefile
creating debian/rules
creating Specfile
creating systype
creating src/lrzszbug
creating config.h
linux:lrzsz-0.12.20$
  • 编译
make

查看编译出来的可执行程序如下:

linux:lrzsz-0.12.20$ ls src/
ansi2knr.1  canit.o   lrz    lrzszbug     lsyslog.o  lsz.o        Makefile.in  rbsb.c  tcp.o     timing.o   zm.o      zperr.o
ansi2knr.c  crctab.c  lrz.c  lrzszbug.in  lsz        Makefile     protname.c   rbsb.o  timing.c  zglobal.h  zmodem.h  zreadline.c
canit.c     crctab.o  lrz.o  lsyslog.c    lsz.c      Makefile.am  protname.o   tcp.c   timing.h  zm.c       zperr.c   zreadline.o
linux:lrzsz-0.12.20$

将lrz和lsz拷贝出来即可

3.上板验证

3.1 从远端获取文件

结果:

3.2 发送文件到远端

远端接收目录如下:

4. x/y/z moderm

  • xmodem
    简单通用,传输信息单位是“包=128B”,传输速度慢,适合电话线路质量差的情况下用
  • ymodem
    由XMODEM演变来,效率可靠性高,包=128*8B;一次传输可发送或接受几个文件
  • zmodem
    于上两种不同,已连续的数据流发送数据,效率更高
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Linux与SoC

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值