0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

嵌入式Linux开发板裸机程序烧写方法详细总结

Q4MP_gh_c472c21 来源:嵌入式ARM 作者:嵌入式ARM 2021-01-26 16:51 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

1、使用imxdownload烧写(针对nxp6ULL 开发板) 将imxdownload拷贝到工程根目录下,我们要将 imxdownload 拷贝到工程根目录下,也就是和 led.bin 处于同一个文件夹下,要不然烧写会失败的,拷贝完成以后如图

9a2897cc-5f64-11eb-8b86-12bb97331649.png

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

9a602214-5f64-11eb-8b86-12bb97331649.png

当给予 imxdownload可执行权限以后其名字变成了绿色的,如果没有可执行权限的话其名字颜色是白色的。 向 SD 卡烧写 bin 文件,使用 imxdownload 向 SD卡烧写 led.bin 文件,命令格式如下:/imxdownload <.binfile> 其中.bin 就是要烧写的.bin 文件, SD Card 就是你要烧写的 SD卡,比如我的电脑使用如下命令烧写led.bin 到/dev/sd中:./imxdownload led.bin /dev/sdb烧写的过程中可能会让你输入密码,输入你的Ubuntu 密码即可完成烧写,烧写过程如图:

9aafbc16-5f64-11eb-8b86-12bb97331649.png

2、使用USB +DNW+Uboot烧写(针对 三星6410、2440 系列) _Writer.exe将mmc.bin烧写到SD 卡中,将开发板设置到SD卡启动。(具体方法参见飞凌开发板linux3.0.1用户手册.pdf)

9af886bc-5f64-11eb-8b86-12bb97331649.png

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

9ba353da-5f64-11eb-8b86-12bb97331649.png

安装、dnw 以及USB驱动(xp环境) 执行以下命令可以烧写,烧写原理是用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 卡,然后再给裸机程序加入头部信息(6ull,6410/2440 不需要),用专用的下载上位机烧写。

其实裸机程序在我们学习嵌入式的过程中只是一个引导作用,用来了解这些处理器是如何工作的,因此编写好裸机程序后其实没必要真正地烧写到系统里面,只需要等让它运行,观察实验现象即可。 uboot 中一般都会提供多种文件传输的方法,如 tftp,nfs,xmodem,ymodem 等方法,选择一种板子上 uboot 支持的方式,如不清楚,可以使用 pri 命令查看,并选择对应的命令查看帮助信息,如tftp help 等(不同的 uboot 命令会有所不同)。

把编译好的裸机 bin 文件下载到对应的地址上,注意这个地址需要和裸机程序在链接时指定的地址一样(在.lds 文件中描述,或者在执行链接的时候指定),如指定到 0x87800000。那么就下载到 0x87800000 这个地址,完成后让 uboot 直接跳转到这个地址即可运行裸机程序:go0x87800000.需要注意,在板子复位或者重上电等情况,会运行默认的程序,而不是裸机程序,所以说这种方式并不是烧写,只是拷贝到内存中执行,当中省略了很多烧写裸机必要的步骤。

nfs 服务模式:

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

9ca0a8dc-5f64-11eb-8b86-12bb97331649.png

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

9d23223a-5f64-11eb-8b86-12bb97331649.png

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

9db4adae-5f64-11eb-8b86-12bb97331649.png

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

9ddb1aa2-5f64-11eb-8b86-12bb97331649.png

使用 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

9e43aa7c-5f64-11eb-8b86-12bb97331649.png

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

9f523d70-5f64-11eb-8b86-12bb97331649.png

tftp 服务模式:

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

a0a4262a-5f64-11eb-8b86-12bb97331649.png

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

a16a7906-5f64-11eb-8b86-12bb97331649.png

责任编辑:xj

原文标题:嵌入式Linux开发板裸机程序烧写方法总结

文章出处:【微信公众号:嵌入式ARM】欢迎添加关注!文章转载请注明出处。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式
    +关注

    关注

    5186

    文章

    20145

    浏览量

    328742
  • Linux
    +关注

    关注

    88

    文章

    11628

    浏览量

    217946
  • 开发板
    +关注

    关注

    25

    文章

    6122

    浏览量

    113250

原文标题:嵌入式Linux开发板裸机程序烧写方法总结

文章出处:【微信号:gh_c472c2199c88,微信公众号:嵌入式微处理器】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    迅为RK3588开发板Android系统及注意事项

    迅为RK3588开发板Android系统及注意事项
    的头像 发表于 12-03 15:17 3810次阅读
    迅为RK3588<b class='flag-5'>开发板</b>Android系统<b class='flag-5'>烧</b><b class='flag-5'>写</b>及注意事项

    飞凌嵌入式RK3568开发板的TFTP文件系统指南

    本文基于搭载瑞芯微RK3568处理器的OK3568-C开发板Linux4.19.206标准开发环境开展测试,其网络基础稳定,可满足TFTP协议传输需求。
    的头像 发表于 11-21 08:03 1346次阅读
    飞凌<b class='flag-5'>嵌入式</b>RK3568<b class='flag-5'>开发板</b>的TFTP<b class='flag-5'>烧</b><b class='flag-5'>写</b>文件系统指南

    RK3506开发板Linux开发板极致性价比之选

    RK3506开发板Linux开发板极致性价比之选瑞芯微RK3506开发板,3核Cortex-A7@1.5GHz+Cortex-M0,Linux
    的头像 发表于 09-11 16:26 2775次阅读
    RK3506<b class='flag-5'>开发板</b><b class='flag-5'>Linux</b><b class='flag-5'>开发板</b>极致性价比之选

    【HZ-RK3568开发板免费体验】系统

    开发环境: 主机:Ubuntu 20.04 开发板:合众HZ-RK3568开发板 HZ-RK3568开发板可以使用USB和TF卡
    发表于 07-25 09:40

    RK3568开发板暗藏32位兼容开关?飞凌嵌入式带你一键解锁!

    RK3568是一款64位处理器,飞凌嵌入式为其提供的交叉编译器也是64位的,然而部分用户可能需要在RK3568开发板上运行32位应用。本文将详细阐述如何使用32位交叉编译器,编译出32位应用,并使其能够在飞凌
    的头像 发表于 07-19 08:49 4180次阅读
    RK3568<b class='flag-5'>开发板</b>暗藏32位兼容开关?飞凌<b class='flag-5'>嵌入式</b>带你一键解锁!

    明远智睿SSD2351开发板嵌入式创新应用的理想平台

    随着科技的飞速发展,嵌入式系统已经渗透到我们生活的方方面面,从智能家居到工业自动化,从视频监控到智能交通,嵌入式技术的应用无处不在。而在嵌入式开发的过程中,一款性能卓越、功能丰富的开发板
    的头像 发表于 07-01 16:49 447次阅读

    明远智睿SSD2351开发板嵌入式开发领域的新型新星

    在物联网、智能家居、智能网关、视频监控等新兴技术领域迅猛发展的今天,嵌入式开发作为这些创新背后的核心驱动力,其重要性日益凸显。而在嵌入式开发的众多环节中,开发板的选择无疑是决定项目成败的关键因素之一
    的头像 发表于 07-01 16:47 491次阅读

    Linux嵌入式和单片机嵌入式的区别?

    新的应用程序和驱动程序来扩展功能。 6. 开发难度 : 单片机嵌入式开发难度相对较低,适合初学者入门。
    发表于 06-20 09:46

    嵌入式开发入门指南:从零开始学习嵌入式

    基础 3. 学习路径推荐第一阶段:熟悉开发环境(如Keil、IAR、STM32)第二阶段:掌握裸机编程与驱动开发第三阶段:学习RTOS(实时操作系统)如FreeRTOS第四阶段:深入理解Lin
    发表于 05-15 09:29

    为何嵌入式开发者觉得 MCU 开发无趣,更倾向 MPU(Linux)?

    嵌入式圈子里,最近老能听见有人念叨:“搞 MCU 开发越来越没劲儿了,不如转 MPU(Linux)有意思。” 作为在这行摸爬滚打二十多年的老兵,我也算看明白了 —— 这事儿就像程序
    的头像 发表于 04-25 10:48 649次阅读
    为何<b class='flag-5'>嵌入式开发</b>者觉得 MCU <b class='flag-5'>开发</b>无趣,更倾向 MPU(<b class='flag-5'>Linux</b>)?

    【北京迅为】itop-3568 开发板openharmony鸿蒙及测试-第1章 体验OpenHarmony—镜像

    【北京迅为】itop-3568 开发板openharmony鸿蒙及测试-第1章 体验OpenHarmony—镜像
    的头像 发表于 03-04 16:31 872次阅读
    【北京迅为】itop-3568 <b class='flag-5'>开发板</b>openharmony鸿蒙<b class='flag-5'>烧</b><b class='flag-5'>写</b>及测试-第1章 体验OpenHarmony—<b class='flag-5'>烧</b><b class='flag-5'>写</b>镜像

    Made with KiCad(九十四):M5Pi Linux嵌入式开发板

    “ 波哥大作,必须优先安排!M5Pi 是一款开源 Linux 嵌入式开发板,使用全志 F1C200s CPU,拥有漂亮的外壳。”
    的头像 发表于 12-25 14:53 1329次阅读
    Made with KiCad(九十四):M5Pi <b class='flag-5'>Linux</b><b class='flag-5'>嵌入式开发板</b>

    嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-mfgtools烧录流程介绍之所需镜像

    USB OTG所需镜像在:ELF 1开发板资料包\\06-常用工具\\06-4 工具\\OTG
    发表于 12-21 09:25

    嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-mfgtools烧录流程之方法

    Mfgtools工具是NXP官方提供的用于其系列产品系统的软件,可以从官方网站下载,我们的ELF 1开发资料包中也放了这个工具,路径为:ELF 1开发板资料包\\06-常用工具\\
    发表于 12-20 09:07

    飞凌嵌入式ElfBoard ELF 1板卡-mfgtools烧录流程介绍之所需镜像

    USB OTG所需镜像在:ELF 1开发板资料包\\06-常用工具\\06-4 工具\\OTG
    发表于 12-20 09:05