开发板烧录系统

Posted 想文艺一点的程序员

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了开发板烧录系统相关的知识,希望对你有一定的参考价值。

开发板烧录系统

1、安装驱动

铺垫:安装 USB 转串口的驱动:

剩下的直接下一步就可以了。

安装好之后,在电脑的 设备管理 处,会出现一个端口,用来提示是 COM几。

注意点:

1、COM 号码可以进行修改:

  • 点击右键 -> 属性 -> 端口设置 -> 高级 -> COM号
  • 并且还可以强制修改为 ”已占用“ 的COM号。

2、安装 SecureCRT

注意:

  • 这个软件是已经可以直接运行的,不需要进行安装
  • 第一次使用会提示 软件未注册,根据《说明文档》,一步一步进行操作。

名字:Windows
公司:IC
序列号:03-50-006248
许可密钥:ADPUSB W3DQ5B ZC35EJ 99AG3T ACM47V SAK5W6 8CD1YZ GJU7JK
发布日期:27-06-2006

数据流控制一定要关闭,要不然不能进行通信。

我们要确定我们自己开发使用的是哪一个串口进行通信,我的默认是 串口2。

!!! 波特率是 115200


3、破坏 iNand 当中的 bootloader 从 SD2 启动

首先要查看开发的硬件手册,分析开发板不同的启动模式:

  • emmc 启动:SD0 (iNand)、 SD2 (SD卡通道)
  • 如果使用 emmc 启动,那么就会默认先执行 SD0 通道(iNand)当中的 bootloader,根本轮不到 SD2 通道。所以我们先将 iNand 当中的 bootloader 破坏掉。
  • 检验自己 iNand 的 bootloader 是否完好:先将 SD卡拔掉,看看能不能正常启动。

第一步:busybox dd if=/dev/zero of=/dev/mmcblk0 bs=512 seek=1 count=1 conv=sync  

第二步:sync
  • Linux 当中的 dd 命令:用来在Linux和类Unix系统下对硬盘设备进行 读写的命令

  • if=/dev/zero:input file 输入文件,全部为 0 。

  • of=/dev/mmcblk0:输出文件,mmc 的0通道 iNand。(即将 0 ,写入 mmc 的 0 通道当中)。

  • bs=512 :block size = 512 ,写入大小为 512 Byte,为一个扇区。

  • seek=blocks:从输出文件开头跳过blocks个块后再开始操作。

  • count=blocks:仅拷贝blocks个块,块大小等于 bs 指定的字节数。

  • conv = sync:将每个输入块填充到ibs个字节,不足部分用空(NUL)字符补齐。

Linux 当中的 sync 命令:

Linux 系统中欲写入硬盘的资料有的时候为了效率起见,会写到 filesystem buffer 中,这个 buffer 是一块记忆体空间,如果欲写入硬盘的资料存于此 buffer 中,而系统又突然断电的话,那么资料就会流失了,sync 指令会将存于 buffer 中的资料强制写入硬盘中


4、制作启动 SD 卡

制作 SD 启动卡,有两种方法:

  • 在 Windows 当中,用 刷卡工具 对 SD 卡进行烧录。
  • 在 Linux 当中,使用 dd 命令 对 SD 卡进行烧录。

我使用的是 九鼎 开发的 SD 卡烧录工具。uboot 使用的是开发板厂商经过裁剪的 uboot。


5、使用 fastboot 来部署环境

  • fastboot 是一个 uboot 当中的命令。
  • fastboot 也是 windows 上面的一个软件。
  • fastboot 是使用 usb线 进行传输信息的。(windows 需要安装 fastboot 驱动。)

安装驱动:

开发板与主机通过usb线进行连接,并且uboot当中进入了 fastboot 命令,如果没有安装驱动就会提示以下信息:

单击右键 -> 更新驱动程序

选择这个文件夹

安装好之后:

第一步:先在 uboot 当中使用 fastboot 命令,让其进入下载状态

第二步:在 Windows 上面使用 CMD ,从而使用 fastboot 程序。

开发板uboot 显示:

当在uboot 当中输入fastboot 就会显示当前的分区状况

bootloader、kernel、ramdisk、config、system、cache、userdata

windows 命令行下面显示:

devices:查看当前的连接的设备
fastboot  <partition>   [<filename>] :fastboot   分区   文件名(分区对应的是 uboot 当中的分区)

烧录前提:

  • 确认开发板与主机通过USB线进行连接。
  • 确认安装了驱动。(可能需要解决数字签名的问题)
  • 主要最后选项:文件路径,注意 uboot.bin 的存放路径。
fastboot flash bootloader android4.0/uboot.bin		烧uboot

.\\fastboot.exe flash kernel ..\\5、系统镜像\\Linux+QT\\zImage-qt   (烧linux kernel)

.\\fastboot.exe flash system ..\\5、系统镜像\\Linux+QT\\rootfs_qt4.ext3		(烧文件系统,uboot 当中默认是 ext3 类型的)

烧录完成后注意:

  • 修改 bootcmd :set bootcmd ‘movi read kernel 30008000; bootm 30008000’
  • 修改 bootargs: set bootargs console=ttySAC2,115200 root=/dev/mmcblk0p2 rw init=/linuxrc rootfstype=ext3
  • 最后一定要进行 save ,保存环境变量。

以上是关于开发板烧录系统的主要内容,如果未能解决你的问题,请参考以下文章

stm32最小系统板烧录的简单说明

51单片机之STC89C52RC最小系统板烧录说明

嵌入式入门之烧录操作系统

利用arduino给PCB800099液晶驱动板烧录程序

求助 关于uboot.BIN 烧写uImage到开发板的内存中

iMX6开发板烧写Android系统