你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

嵌入式Linux开发板裸机程序烧写方法

[复制链接]
gaosmile 发布时间:2021-1-19 10:27
1.使用imxdownload烧写 (针对nxp 6ULL 开发板). P9 {6 t8 o: Y+ ]3 j: V
将 imxdownload 拷贝到工程根目录下,我们要将 imxdownload 拷贝到工程根目录下,也就是和 led.bin 处于同一个文件夹下,要不然烧写会失败的,拷贝完成以后如图       微信图片_20210119102453.png

% D8 s% q  R: m- a: l
给予 imxdownload 可执行权限 ,直接将软件 imxdownload 从 Windows 下复制到 Ubuntu中以后, imxdownload 默认是没有可执行权限的。* o' L5 c7 V# h0 B
我们需要给予 imxdownload 可执行权限,使用命令“chmod”,命令如下 :( [+ y( R% r) y& j
微信图片_20210119102458.png
  t( \. \+ R+ F1 S4 V5 _
当给予 imxdownload可执行权限以后其名字变成了绿色的,如果没有可执行权限的话其名字颜色是白色的。
- p1 d; t5 a% P' y/ F
向 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 密码即可完成烧写,烧写过程如图 :       微信图片_20210119102502.png " X; |$ ?. Y- m4 ~( ]
2. 使用USB +DNW+Uboot烧写(针对 三星 6410 、2440 系列)
3 B4 G' {+ X) @, O6 V! N
  _Writer.exe将mmc.bin烧写到SD 卡中 ,将开发板设置到SD卡启动。(具体方法参见飞凌开发板linux3.0.1用户手册.pdf)0 x# _9 }- \, w  f# E0 ^! ?3 h
微信图片_20210119102505.png
2 s3 ]% u$ o& ?
将SD卡安装到开发板中并启动,快速敲空格键让开发板停留在uboot的启动画面,如下图所示,出现菜单框,选择5,即可输入命令。
6 Z7 R' e) }' c3 Q  T/ |; l, ~
微信图片_20210119102509.png
9 p( |0 S& Q3 d" w# ]" o
3.安装、dnw 以及USB驱动(xp环境)) X. m4 T! r& a# S
4.执行以下命令可以烧写,烧写原理是用Linux的uboot命令 nand烧写程序到开发板。
; f  |$ _" J. n' u) |9 v
.  输入:dnw  50008000 下载你要烧写的程序。.  然后从dnw的usbport->Transmit->Transmit发送你要下载的.bin文件。.  输入:nand  erase  0 100000 擦除nandflash前1M的空间。.  输入:nand  write.uboot  50008000 0  1000000  将内存地址50008000中的1M数据写到nandflash的0 ~ 100000空间中(即前1M字节)。.  将开发板设置为nand启动,并重新启动开发板。/ Y6 S7 m* m- K

. d9 j0 _" o6 ^5 g& ~% r5.使用 uboot 中网络验证裸机程序(通用板子,只要你的uboot 已经移植好网络功能)
在学习嵌入式 Linux 之前,还是有必要了解一下嵌入式处理器的裸机程序。但一些教程中提供的裸机程序烧写方法都相对比较复杂,有些需要使用 sd 卡烧写,烧写前还要格式化SD 卡,然后再给裸机程序加入头部信息(6ull,6410/2440 不需要),用专用的下载上位机烧写。其实裸机程序在我们学习嵌入式的过程中只是一个引导作用,用来了解这些处理器是如何工作的,因此编写好裸机程序后其实没必要真正地烧写到系统里面,只需要等让它运行,观察实验现象即可。uboot 中一般都会提供多种文件传输的方法,如 tftp,nfs,xmodem,ymodem 等方法,选择一种板子上 uboot 支持的方式,如不清楚,可以使用 pri 命令查看,并选择对应的命令查看帮助信息,如tftp help 等(不同的 uboot 命令会有所不同)。& L% v; r4 O, J  e; F! d
把编译好的裸机 bin 文件下载到对应的地址上,注意这个地址需要和裸机程序在链接时指定的地址一样(在.lds 文件中描述,或者在执行链接的时候指定),如指定到 0x87800000。那么就下载到 0x87800000 这个地址,完成后让 uboot 直接跳转到这个地址即可运行裸机程序:go0x87800000.需要注意,在板子复位或者重上电等情况,会运行默认的程序,而不是裸机程序,所以说这种方式并不是烧写,只是拷贝到内存中执行,当中省略了很多烧写裸机必要的步骤。nfs 服务模式:
7 z) e4 i% V  u$ q$ n
使用 nfs在 6ull上验证裸机、uboot、kernel,虚拟机需要安装 nfs服务,并开启 nfs服务,具体操作参考开发环境搭建第二小节。开发板运行在 uboot界面,将其 ip、服务 ip、网关等进行修改,保证可以与服务器(虚拟机)ip正常 ping通即可。
* M% m6 u, {: k7 N  X& W+ q! S2 s
微信图片_20210119102512.png # S! k, q* C6 t, `4 p4 l  Q
准备好以后就可以使用nfs 命令来将 裸机下载到开发板 DDR 的 0X87800000 链接地址处,命令如下:3 _1 x8 |3 e  A5 t9 _: \
nfs 87800000
  F' J5 y  ^8 e! k& d; \7 U
192.168.0.104:/home/lumeng/linux/nfs/uart.bin
2 P7 ]5 ]" a" g( z" i- Z. }( T
微信图片_20210119102516.png - f& J8 O- f  S3 i3 E9 a$ d
go 命令执行跳转 到 0x87800000 执行串口打印结果:5 j! a: `& e0 h; m2 Q: S4 b" M
微信图片_20210119102519.png 2 E( \, d" l: K
不仅可以测试裸机程序,也可以加载 uboot 和内核,来测试 uboot 和内核哦!使用 nfs 传输uboot 和执行如下:7 c8 n- T: W3 x" Q8 U
微信图片_20210119102523.png 4 }, n0 V; K. v
使用 nfs 传输内核+设备树和启动内核如下,使用 nfs 命令从服务器下载 kernel 和设备树到DDR。
: Q! Q0 }* r, W% k* x) p0 h" \nfs 80800000192.168.0.104:/home/lumeng/linux/nfs/zImage& ]$ s: K4 }% b/ q* I
nfs 83000000 192.168.0.104:/home/lumeng/linux/nfs/6ull.dtb

- [3 q3 D' i' ]" n3 {( h
微信图片_20210119102527.png
5 Z! ~7 K* n. O1 I! N3 K
使用bootz 命令启启动内核 bootz 80800000 – 83000000
1 r$ T/ ]6 x7 F; Z
微信图片_20210119102531.png
6 d4 I9 t) {7 J- e( M2 G7 L4 ?; A/ d: w
3.2 tftp 服务模式:/ u6 e" {& M  K1 n* ]
使用 tftp 在 6ull 上验证裸机、uboot、kernel,虚拟机需要安装 nfs 服务,并开启 nfs 服务,具体操作参考开发环境搭建第二小节。开发板运行在 uboot 界面,将其 ip、服务 ip、网关等进行修改,保证可以与服务器(虚拟机)ip 正常 ping 通即可。
: r  {' i2 W! [1 e& B# c4 H
微信图片_20210119102534.png

7 v' u: Y$ p( c# b9 N1 f
准备好以后就可以使用 tftp 命令来将 裸机程序 uart.bin下载到开发板 DDR 的0X87800000 链接地址处,命令如下:tftp 87800000 uart.bin ,并使用 go 87800000 执行裸机。3 i, F0 A& `8 P3 f" [* J) ~
微信图片_20210119102542.png
" x8 h9 v& O6 Q$ e6 v! }: ^: H
使用tftp 测试 uboot和内核如下,具体和 nfs 类似,不再赘述。
3 S0 r0 z& G" P5 M* h( C( F' e
赞 收藏 评论0 发布时间:2021-1-19 10:27

举报

0个回答
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版