[MCU]嵌入式Linux开发板 裸机程序烧写 方法总结 原创

1.使用imxdownload烧写 (针对nxp 6ULL 开发板

将 imxdownload 拷贝到工程根目录下,我们要将 imxdownload 拷贝到工程根目录下,也就是和 led.bin 处于同一个文件夹下,要不然烧写会失败的,拷贝完成以后如图

       

给予 imxdownload 可执行权限 ,直接将软件 imxdownload 从 Windows 下复制到 Ubuntu中以后, imxdownload 默认是没有可执行权限的。我们需要给予 imxdownload 可执行权限,使用命令“chmod”,命令如下 :

   当给予 imxdownload可执行权限以后其名字变成了绿色的,如果没有可执行权限的话其名字颜色是白色的。

向 SD 卡烧写 bin 文件 ,使用 imxdownload 向 SD卡烧写 led.bin 文件,命令格式如下:/imxdownload <.binfile> <SD Card> 其中.bin 就是要烧写的.bin 文件, SD Card 就是你要烧写的 SD卡,比如我的电脑使用如下命令烧写led.bin /dev/sd中: ./imxdownload led.bin /dev/sdb烧写的过程中可能会让你输入密码,输入你的Ubuntu 密码即可完成烧写,烧写过程如图 :

       

 

2使用USB +DNW+Uboot烧写(针对 三星 6410 、2440 系列)
 

  _Writer.exe将mmc.bin烧写到SD 卡中 ,将开发板设置到SD卡启动。(具体方法参见飞凌开发板linux3.0.1用户手册.pdf)

将SD卡安装到开发板中并启动,快速敲空格键让开发板停留在uboot的启动画面,如下图所示,出现菜单框,选择5,即可输入命令。

3.安装、dnw 以及USB驱动(xp环境)

4.执行以下命令可以烧写,烧写原理是用Linux的uboot命令 nand烧写程序到开发板。

01.  输入:dnw  50008000 下载你要烧写的程序。

02.  然后从dnw的usbport->Transmit->Transmit发送你要下载的.bin文件。

03.  输入:nand  erase  0 100000 擦除nandflash前1M的空间。

04.  输入:nand  write.uboot  50008000 0  1000000  将内存地址50008000中的1M数据写到nandflash的0 ~ 100000空间中(即前1M字节)。

05.  将开发板设置为nand启动,并重新启动开发板。



 

3.使用 uboot 中网络验证裸机程序(通用板子,只要你的uboot 已经移植好网络功能)
  在学习嵌入式 Linux 之前,还是有必要了解一下嵌入式处理器的裸机程序。但一些教程中提供的裸机程序烧写方法都相对比较复杂,有些需要使用 sd 卡烧写,烧写前还要格式化SD 卡,然后再给裸机程序加入头部信息(6ull6410/2440 不需要),用专用的下载上位机烧写。其实裸机程序在我们学习嵌入式的过程中只是一个引导作用,用来了解这些处理器是如何工作的,因此编写好裸机程序后其实没必要真正地烧写到系统里面,只需要等让它运行,观察实验现象即可。uboot 中一般都会提供多种文件传输的方法,如 tftpnfsxmodemymodem 等方法,选择一种板子上 uboot 支持的方式,如不清楚,可以使用 pri 命令查看,并选择对应的命令查看帮助信息,如tftp help 等(不同的 uboot 命令会有所不同)。把编译好的裸机 bin 文件下载到对应的地址上,注意这个地址需要和裸机程序在链接时指定的地址一样(.lds 文件中描述,或者在执行链接的时候指定),如指定到 0x87800000。那么就下载到 0x87800000 这个地址,完成后让 uboot 直接跳转到这个地址即可运行裸机程序:go0x87800000.需要注意,在板子复位或者重上电等情况,会运行默认的程序,而不是裸机程序,所以说这种方式并不是烧写,只是拷贝到内存中执行,当中省略了很多烧写裸机必要的步骤。

 


nfs 服务模式:
   使用 nfs在 6ull上验证裸机、uboot、kernel,虚拟机需要安装 nfs服务,并开启 nfs服务,具体操作参考开发环境搭建第二小节。开发板运行在 uboot界面,将其 ip、服务 ip、网关等进行修改,保证可以与服务器(虚拟机)ip正常 ping通即可。
 

准备好以后就可以使用nfs 命令来将 裸机下载到开发板 DDR 的 0X87800000 链接地址处,命令如下: nfs 87800000 192.168.0.104:/home/lumeng/linux/nfs/uart.bin

go 命令执行跳转 到 0x87800000 执行串口打印结果:

不仅可以测试裸机程序,也可以加载 uboot 和内核,来测试 uboot 和内核哦!使用 nfs 传输uboot 和执行如下:

使用 nfs 传输内核+设备树和启动内核如下,使用 nfs 命令从服务器下载 kernel 和设备树到DDR。
nfs 80800000192.168.0.104:/home/lumeng/linux/nfs/zImage
nfs 83000000 192.168.0.104:/home/lumeng/linux/nfs/6ull.dtb

使用bootz 命令启启动内核 bootz 80800000 – 83000000


 

3.2 tftp 服务模式:
使用 tftp 在 6ull 上验证裸机、uboot、kernel,虚拟机需要安装 nfs 服务,并开启 nfs 服务,具体操作参考开发环境搭建第二小节。开发板运行在 uboot 界面,将其 ip、服务 ip、网关等进行修改,保证可以与服务器(虚拟机)ip 正常 ping 通即可。

准备好以后就可以使用 tftp 命令来将 裸机程序 uart.bin下载到开发板 DDR 的0X87800000 链接地址处,命令如下:tftp 87800000 uart.bin ,并使用 go 87800000 执行裸机。

使用tftp 测试 uboot和内核如下,具体和 nfs 类似,不再赘述。
---------------------
作者:一路向北lm
链接:https://bbs.21ic.com/icview-3057050-1-1.html
来源:21ic.com
此文章已获得原创/原创奖标签,著作权归21ic所有,任何人未经允许禁止转载。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 嵌入式 Linux 开发板是一种微型计算机,它可以在物理设备中嵌入,并通过 Linux 操作系统与其他设备进行通信。这些设备通常是非常小巧,可以在各种应用场景中使用,如工业控制、家庭自动化、智能家居等。 嵌入式 Linux 开发板通常具有以下特点: 1. 小巧:它们通常很小,可以方便地安装在物理设备中。 2. 可编程:它们可以通过编程语言(如 C、Python 等)进行开发。 3. 多功能:它们可以支持多种功能,如网络通信、存储数据、显示图像等。 4. 可扩展:它们可以通过外部设备扩展功能,如接入传感器、摄像头等。 如果您对嵌入式 Linux 开发板感兴趣,可以考虑使用 Raspberry Pi、BeagleBone Black 等流行的开发板。 ### 回答2: 嵌入式Linux开发板是指搭载嵌入式Linux操作系统的开发板,通常采用ARM架构的处理器。它可以为嵌入式系统提供完整的Linux环境,包括Linux内核、文件系统以及常用的Linux工具,方便开发人员进行应用程序的开发。 嵌入式Linux开发板具有以下特点: 一、低功耗和高性能:嵌入式Linux开发板使用ARM架构的处理器,具有低功耗和高性能的特点,满足低功耗和高性能的应用需求。 二、丰富的接口和扩展性:嵌入式Linux开发板具有丰富的接口和扩展性,可通过外置扩展板或接口扩展模块满足不同应用场景下的需求。 三、可裁剪性:嵌入式Linux开发板可以根据实际需求进行裁剪,去除不必要的组件和功能,从而减少系统资源的占用,提高系统运行效率。 四、稳定可靠:由于使用Linux操作系统,嵌入式Linux开发板具有非常稳定可靠的特点,可保证系统长时间稳定运行。 嵌入式Linux开发板广泛应用于智能家居、智能医疗、智慧交通、物联 网等领域,成为嵌入式系统开发的主流选择。但是,嵌入式Linux开发板也具有一定的开发门槛,需要开发人员掌握一定的Linux操作系统和嵌入式系统开发经验,才能更好地发挥其功能和优势。 ### 回答3: 嵌入式Linux开发板是一种集成了Linux操作系统和硬件平台的开发板。这种开发板通常是由嵌入式系统厂商或者开发者自行设计的,其主要用途是针对特定的应用场景进行开发和调试,比如智能家居、工业控制、医疗设备等。嵌入式Linux开发板具有以下特点: 1. 硬件平台:嵌入式Linux开发板通常是采用一款微处理器为核心,搭配一些外设如存储器、网络、输入输出接口等组成的系统。硬件平台的选择通常需要根据应用场景的需求、想要实现的功能以及成本等因素进行权衡。 2. Linux系统:嵌入式Linux开发板搭载的是简化版本的Linux操作系统,由于资源受限,会使用一些轻量级的系统,如busybox等。这些系统通常会定制化,去掉一些不必要的部分,从而减小系统运行所需的资源开销,并且加快系统启动、响应等速度。 3. 开发环境:嵌入式Linux开发板的开发环境也是非常重要的一部分。通常有两种方式,一种是通过交叉编译的方式,在主机上编译运行嵌入式系统程序;另一种是通过板载编译方式,直接在开发板上编译运行程序。一般来说,板载编译的方式速度较慢,但对于嵌入式开发板的测试和调试非常方便。 总之,嵌入式Linux开发板嵌入式系统开发的一种重要方式,通过这种方式可以快速构建出自己所需的某种特定应用系统。当然,开发过程中也要考虑到硬件和系统控制等相关方面的问题,以使用更加安全稳定的系统运行设备。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值