开发板:RT5350

编译器:mipsel-linux-gcc

( 如果是arm平台和arm_linux的话,请参照修改即可)

1.获取源码:lrzsz-0.12.20.tar.gz

2. 解压:

tar–xvf lrzsz-0.12.20.tar.gz

3.添加配置参数:

vi mipsel-linux.cache (默认下没有这个文件,因为新建这个文件并打开,添加以下内容)

添加内容:

ac_cv_prog_CC=${ac_cv_prog_CC=/opt/buildroot-gcc342/bin/mipsel-linux-gcc'}

备注一下:

/opt/buildroot-gcc342/bin是mipse-linux编译器的绝对路径。

4,配置

./configure –cache-file=mipsel-linux.cach –prefix=/usr/local/lrz

说明一下,执行这个配置操作后,mipsel-linux.cache内容会有所增加,makefie里的CC会指向第三步中配置的编译器。

如果没有看到CC和CPP这两条语句没有指向指定的编译器,说明没有配置成功,需要重新操作一遍,确保操作无误。

5 编译

make

make install

执行这两行后,就会生成lrz等可执行文件。会把这些执行文件存放到/usr/local/lrz里。 这就是配置时—prefix这个参数的作用了。

然后把这几个文件拷贝的要烧写的文件系统中,

烧写,启动系统。

可以看到这几个文件已经成功烧录到板子去了。

由于这几个文件没有放到bin目录,所以要执行这个文件的时候,需要这样执行。

chmod 777 lrz (该指令是修改权限,有些平台不一定需要)

./lrz  执行这个程序。 (如果是拷贝到了bin目录里,可直接lrz执行)

已成功弹出对话框,并选择要下载的文件

下载完成,提示有下载速度。不过,源码默认的波特率是2400,如果要提高速度,可修改源码目录下/src/lrz/c.

大概69行。

unsigned Baudrate=2400;

改为:

unsigned Baudrate=57600;(当然,改多少视自己口味吧)

保存重新编译,下载,重启。

当然,事实证明,修改波特率效果不是很明显,因为本来使用lrz通过串口传输文件到linux下是比较慢的,不过,lrz还是比较方便的,适合于调试linux的程序。一般编写的linux的程序也就几十k到几百K左右,lrz直接下载就OK了,而且可以在linux任何目录下执行lrz便可把文件下载到该目录下。lrz辅助调试还是非常方便的。

最后建议编译的时候,还是选择静态编译。虽然静态编译出来的可执行文件会稍微大一点点,不过,可以避免因系统缺少一个库文件而不能正常使用。

当然采用静态编译的好处是可以在相同平台的不同系统下运行。当然,如果是在mipsel下的编译了,要在arm平台上使用一般是不可能的了。但至少可以在mipsel下可以正常使用,也许你会问这样做的必要性,举个例子吧。

同学A和同学B的电脑都是win 7系统的。

同学A用VC6制作了个软件可以在自己的电脑上运行,但是把可执行文件拷贝到同学B的电脑就不能运行了,提示说缺少什么dll文件之类的。原来是同学B的电脑没有装VC。那怎么办呢。同学A要想别人用他的软件,不可能叫所有人都装VC吧,也不可能说缺少dll就要补上,不停地补dll也不是个办法的。

所以,只要同学A要编译的时候,使用静态编译,可以发布版本的程序,这样拷贝给B同学的时候就可以运行。相信使用过VC的不少同学能够理解这一点的。

回到我们的话题,要想静态编译lrz,可以修改第三步就可以了。

vi mipsel-linux.cache (默认下没有这个文件,因为新建这个文件并打开,添加以下内容)

添加内容:

ac_cv_prog_CC=${ac_cv_prog_CC=/opt/buildroot-gcc342/bin/mipsel-linux-gcc-static'}

后面步骤相同,发现makefile文件会变为:

同时,mipsel-linux.cache文件的内容被修改如下:

说明已成功设置为静态编译。

剩下的请参考前面的操作。

linux内核添加lrz,linux 调试之lrz的移植与一些说明相关推荐

  1. linux内核添加模块,linux中添加内核模块

    1.  内核模块简介 Linux 内核的 整 体结构 非 常 庞 大 ,其 包 含 的 组 件也 非 常多 , 如 何使用 需 要 的 组 件 呢? 方 法 一 : 把 所有的 组 件都 编译 进 内 ...

  2. Linux 内核的测试和调试(1)

    Linux 内核的测试和调试(1) Linux 内核测试哲学 不管是开源还是闭源,所有软件的开发流程中,测试是一个重要的.不可或缺的环节,Linux 内核也不例外.开发人员自测.系统测试.回归测试.压 ...

  3. Bochs调试Linux内核6 - 启动过程调试 - 跳到bootsect引导程序执行

    接此,​​​​​​Bochs调试Linux内核5 - 启动过程调试 - 认识Bootsect.S_bcbobo21cn的专栏-CSDN博客 看一下,0x00007c11 这里是重复执行串传送:而后一条 ...

  4. 向linux内核增加新的系统调用,为linux内核添加新的系统调用

    为linux内核添加新的系统调用 作者:李志勇 更多精彩: 更多精彩: 开发平台:x86 ubuntu 目标平台:S3C6410 linux3.4.4 一.    打开内核源码目录下arch/arm/ ...

  5. linux内核添加系统调用(详细)

    linux内核添加系统调用(详细) 说在前面: 这是我第五次编译内核,分别踩了很多坑.中途问过wz佬,佬让我用qemu.我还是最后换ubuntu虚拟机跑了.现在已经有点emo了. 这篇博客是我第五次的 ...

  6. 手机linux内核版本了解,Linux内核版本介绍与查询

    Linux内核版本命名在不同时期有着不同的规范,在涉及到Linux版本问题时经常容易混淆,主线版本/稳定版/长期支持版本经常搞不清楚,本文主要记录下内核版本命名的规则以及如何查看Linux系统版本信息 ...

  7. linux内核精髓:精通linux内核必会的75个绝技,Linux内核精髓精通Linux内核必会的75个绝技 PDF 高清扫描版...

    经过近20年的发展,Linux操作系统已经成为当今最成功的开源软件之一,使用广泛,影响深远.随着Linux操作系统功能的不断丰富和完善,Linux内核的源代码也从最初的几万行增加到如今的数百万行,庞大 ...

  8. 【Linux 内核】编译 Linux 内核 ① ( 下载指定版本的 Linux 内核源码 | Linux 内核版本号含义 | 主版本号 | 次版本号 | 小版本号 | 稳定版本 )

    文章目录 一.下载 Linux 内核 1.下载最新版本 Linux 内核 2.下载指定版本 Linux 内核 二.Linux 内核版本号含义 一.下载 Linux 内核 1.下载最新版本 Linux ...

  9. 简述arm linux内核启动流程,Linux内核启动过程和Bootloader(总述)

    1.Linux内核启动过程概述 一个嵌入式 Linux 系统从软件角度看可以分为四个部分:引导加载程序(Bootloader),Linux 内核,文件系统,应用程序.其中 Bootloader是系统启 ...

  10. linux 内核优化实战,Linux编译优化必须掌握的几个姿势总结

    01.编译选项和内核编译 Linux内核(英语:linux kernel),是一种计算机操作系统内核,已C语言和汇编语言写成,匹配POSIX标准,以GNU通用公共许可证发布.从技术上说Linux只是一 ...

最新文章

  1. Java 25 岁,发展现状大曝光!程序员的机会来了
  2. php7.3 安装详解,php7.3.20以及常用拓展安装
  3. Oracle数据库的轻松干净卸载
  4. jvm_堆栈永久区详细讲解
  5. python 基础教程(第二版)
  6. 【洛谷P1833】樱花
  7. oracle+导入emp,Oracle数据库导入导出emp文件
  8. 模糊搜索神器FZF番外篇
  9. halcon学习笔记——图像的预处理
  10. php没有输出报错信息的解决
  11. c语言如何做一个打卡的程序,C语言实现学生打卡系统
  12. 宏基因组/微生物组杂志简介及2020最新影响因子
  13. web漏扫问题处理1
  14. LCD驱动(FrameBuffer)实例开发讲解
  15. 用eclipse和androidstudio和基于高德地图API开发的附近购平台的java服务端和android客户端数据库用mysql包括程序设计图
  16. 项目管理心得--第一篇
  17. 移动端web设计尺寸_移动端H5页面的设计稿尺寸大小规范
  18. CentOS下 Meld安装(文件和文件夹比较)的两种方式
  19. 3.2 QuickBI可视化分析工具
  20. 百度地图配合java 代码制作地图

热门文章

  1. android 手势开发,Android开发之——手势识别
  2. Java获取URL中的参数
  3. Windows 官方原版镜像链接地址
  4. 2022年1月11日第四天
  5. SqlServer该如何合适的索引
  6. 《C语言杂记》编译优化之__builtin_expect
  7. 给移动硬盘分区(一个给mac的时间机器使用,一个用于windows和mac系统之间使用)----记录一次mac系统 用磁盘工具抹掉移动硬盘进度条卡死问题
  8. 详解CPIO与Squashfs文件系统
  9. nginx实现二级域名转发
  10. windows server2008安装tomcat