【启明智显实战指南】SSD202D方案双网口开发板烧录全攻略---从入门到精通

news2024/12/24 0:41:00

提示:作为Espressif(乐鑫科技)大中华区合作伙伴及sigmastar(厦门星宸)VAD合作伙伴,我们不仅用心整理了你在开发过程中可能会遇到的问题以及快速上手的简明教程供开发小伙伴参考。同时也用心整理了乐鑫及星宸科技的新产品、新方案的主要特点及应用!希望你能第一时间了解并快速用上好的方案和产品!

SSD202D双网口开发板烧录说明

在这里插入图片描述

烧录须知:
一、什么情况下需要单独使用ISP Tool工具重新烧录uboot:

(1)空片的情况下需要单独使用ISP Tool工具重新烧录uboot。
(2)系统崩溃无法进入uboot的情况下需要单独使用ISP Tool工具重新烧录uboot。
(3)更新uboot的配置后需要单独使用ISP Tool工具重新烧录uboot。

二、kernel以及rootfs烧录注意事项:

(1)kernel的烧录首先需要完成uboot的烧录,并且确定uboot能正常起来。
(2)其中kernel的烧录可以分成ETH烧录、U盘烧录和SD卡烧录三种烧录方式,选择其中一种即可。
(3)如需单独改动uboot、kernel或者rootfs时,请查看“更新uboot和更新rootfs”章节。

三、UBoot烧录

注意:uboot烧录使用ISP专用工具烧录,可以参考上手指南debug调试章节。
UBoot烧录所需的文件来自/images/boot/目录。
当flash没有烧过系统或者系统损坏时,可以先通过ISP烧录boot,然后再通过ETH,U盘或SD卡烧录完整的系统
1、没有烧录过系统或者系统损坏,使用ISP工具连接电脑和板子,直接上电即可。且我们需要借个跳线帽
在这里插入图片描述
2、如果板子已经烧录过boot或有系统的时候,使用debug工具连接开发板和电脑,电脑运行串口助手(putty,SecureCRT等,波特率参考上手指南),给开发板上电的同时,按住电脑的enter键进入boot,在uboot下输入debug后关闭串口助手,如下图所示。
在这里插入图片描述
3、提取文件解压tools/ssd201_ISP_5.0.15.rar到Windows中。
4、进入解压目录,双击运行Flash_Tools_5.0.15.exe
在这里插入图片描述
如果遇到下图这种情况,可能开发板烧录了系统,请按照Uboot烧录的第二点进行操作
在这里插入图片描述
如果遇到ISP烧录过程中提示连接不成功,可以先查看有没有关闭串口调试软件
在这里插入图片描述
清除flash数据
在这里插入图片描述
烧录GCIS.bin
在这里插入图片描述
烧录IPL.bin
在这里插入图片描述
烧录 IPL_CUST.bin
在这里插入图片描述
烧录 u-boot_spinand.xz.img.bin
在这里插入图片描述
Uboot一键烧录

FlashTool烧录工具支持一键烧录,可以通过事先配置好一个*.cfg为后缀的文本文件,如下:

GCIS.bin : 0x000000
IPL.bin  : 0x140000
IPL_CUST.bin : 0x200000
u-boot_spinand.xz.img.bin : 0x2c0000

将配置好的文件放到images/boot目录下
在这里插入图片描述
运行Flash_Tools_5.0.15.exe
在这里插入图片描述
点击run就会依次烧录

ISP 烧录uboot遇到问题解决办法

注意:
无法连接设备(connect fail):
1、是否购买了我们的烧录器(debug Tool)。
2、是否安装ISP工具的驱动。
3、PC是否能正常识别到烧录工具。
4、我们的debug工具和调试串口接线比较特殊(TX-TX: RX-RX)
无法识别flash:
1、是否在uboot模式下输入debug,否则会出现识别不到flash的情况。
2、是否选择了正确的flash类型(例如spinor or spinand )。
3、重新断开debug tool 和电源,再次上电尝试。
4、config一栏下是否选择了USB连接方式。
5、换usb口,尝试连接。
6、重启电脑尝试连接。
7、换一台电脑试一下。
烧录失败
1、是否关闭了串口调试软件,否则会导致烧录失败。
2、可能debug 线过长TX_RX信号不好,导致烧录失败。

ETH烧录

ETH烧录是在uboot烧录成功后进行的,因此需要确保uboot是否烧录成功。
注意:烧录网络时需要用开发板连接网线,并且开发板和PC端在同一网段。
在这里插入图片描述

  1. 下载并解压tools/Tftpd32.rar并进入目录,双击运行ftpd32.exe,开启服务端,图中的步骤二为电脑IP地址,在win+r输入CMD,执行ipconfig查看电脑IP。
    在这里插入图片描述
    2、debug tool连接电脑,运行串口软件助手,板子上电,按住enter进入uboot,并设置ipadddr和serverip这两个环境变量,并确保板子和电脑正常通信。
//可以随机填写,但是要和电脑IP同一路由下
#setenv ipaddr 192.168.0.11
//电脑的IP地址
#setenv serverip 192.168.0.21
#saveenv

3、执行estar命令,开更新系统

在这里插入图片描述 ETH烧录原理

在我们使用Release_to_customer.sh编译完后,将生成images目录,其中一个文件名为auto_update.txt。
在这里插入图片描述
其内容如下:
在这里插入图片描述
我们再看看uboot.es和kernel.es的内容:
在这里插入图片描述
不难看出,更新uboot和kernel(其他分区也是如此)是通过tftp先下载镜像,再写到对应的分区。这些命令都是在uboot下直接执行的,也就是说,我们只需要执行对应镜像.es中的命令,即可更新对应的镜像。比如我们要更新kernel:

 tftp 0x21000000 kernel
 nand erase.part KERNEL
 nand write.e 0x21000000 KERNEL${filesize}
 run bootcmd

U盘烧录

  1. 在烧录前,我们需要先确认已经使用ISP烧录了Uboot,并且Uboot中包含了usbstar命令(默认已经包含)。执行以下步骤包含usbstar命令
//这个步骤在源码中去到boot的目录下执行
industio@industio$:cd boot
industio@industio$:make menuconfig

在这里插入图片描述
2、首先我们已经使用Release_to_customer.sh脚本成功编译出images目录,接下来通make_usb_upgrade_sigmastar.sh来制作U盘升级镜像

industio@industio$:cd project
industio@industio$:./make_usb_upgrade_sigmastar.sh

在这里插入图片描述

3、执行以上命令后,成功生成U盘升级镜像:project/image/output/images/SigmastarUpgrade.bin,将此镜像拷贝到U盘中,然后把U盘接到板子上(注意:U盘文件类型必须为FAT32)。
接着给板子上电并进入uboot,设置UpgradePort为1:

#setenv UpgradePort 1
#gpio ouput 14 1
#saveenv

4、最后执行usbstar,完成升级:

#usbstar

SD Card烧录

1、首先我们已经使用Release_to_customer.sh脚本成功编译出images目录,接下来通过make_sd_upgrade_sigmastar.sh来制作SD升级镜像:

industio@industio$:cd project
industio@industio$:./make_sd_upgrade_sigmastar.sh

在这里插入图片描述
2、执行以上命令后,成功生成SD升级镜像:project/image/output/images/SigmastarUpgradeSD.bin,将此镜像拷贝到SD卡中,然后把SD卡接到板子上。由于SD升级需要用到uboot中的sdstar指令,因此我们需要事先打开sdstar(默认已经打开):

industio@industio$:cd boot
industio@industio$:make menuconfig 

3、接着给板子上电并进入uboot,设置UpgradePort为1

#setenv UpgradePort 1
#saveenv

4、最后执行sdstar,完成升级:

#sdstar

更新uboot和kernel

从上面ETH烧录原理分析得知,更新 uboot 和 kernel 只需要在 uboot 执行以下三步:
以更新uboot为例:
● Ubuntu查看uboot.es的内容

industio@industio$:cat images/scripts/\[\[uboot.es

在这里插入图片描述
● 依次执行uboot.es中的各条命令
注意一下命令是在uboot模式下执行(进入uboot模式:上电按住回车 or reboot按住回车)
注意是单条执行。

#tftp 0x21000000 uboot_s.bin 
#nand erase.part UBOOT0
#nand write.e 0x21000000 UBOOT0 ${filesize}
#nand erase.part UBOOT1 
#nand write.e 0x21000000 UBOOT1 ${filesize}
  • 重新上电
#reset

更新rootfs

在调试阶段,我们常常需要更新 rootfs,比如添加某个工具(只需要拷贝对应的可执行文件、库和配置文件),这种情况不必要更新整个 rootfs 分区,可以使用U盘或SD卡拷贝工具相关的文件,并放到 rootfs 对应的目录。但使用U盘或SD卡操作较为繁琐,可以换成通过ssh来传输。
首先需要我们通过 buildroot 安装 ssh:
在这里插入图片描述
替换rootfs.tar为buildroot生成的,并将这个rootfs烧录到板子上。
查看密码有效期

#cat /etc/shadow

在这里插入图片描述

第三个字段为密码有效期,和系统时间有关系,先设置系统时间,再修改密码:

#date -s "2021-03-02 12:12:12"  

在这里插入图片描述
配置ssh:

#adduser sshd 
# passwd root 
# vi /etc/ssh/sshd_config

在这里插入图片描述

#/etc/init.d/S50sshd restart

若有如下提示,无法创建/var/empty目录。(我们可以在文件系统中生成这目录,也可以开机启动创建目录)

在这里插入图片描述

#mkdir -p /var/empty

再次开启ssh,ssh就可以了。
在这里插入图片描述

#ifconfig eth0 up 
# udhcpc

在这里插入图片描述
接着在windows上安装软件wincp,并打开连接到板子,密码为刚才设置的root的密码:
在这里插入图片描述
连接成功后,就可以拷贝文件了。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1814720.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

游戏试玩站打码zq平台系统可运营的任务网源码

安装说明 1.恢复数据; 2.数据连接库配置路径:protected\config\mail.php 文件中修改第60行 (记得不要用记事本修改,否则可能会出现验证码显示不了问题,建议用Notepad) 3.浏览器访问输入 127.0.0.2 显示界…

哈尔滨等保测评内容科普

#网络安全等级保护 #哈尔滨等保测评 1. 等保测评的概念 等保测评的全称为“信息安全等级保护测评”。它通过对各个层次的信息系统提供安全保障,从而保证了信息的安全与保密性。 2. 哈尔滨等保测评的意义 随着我国信息化进程的不断推进,网络的信息安…

【学习笔记】C++每日一记[20240612]

给定两个有序的数组,计算两者的交集 给定两个有序整型数组,数组中 的元素是递增的,且各数组中没有重复元素。 第一时间解法:通过一个循环扫描array_1中的每一个元素,然后利用该元素去比较array_2中的每一个元素&…

说说你对Rust的了解?

Rust 是一种系统编程语言,由Mozilla开发,于2010年首次发布。它旨在提供与C和C等低级语言相媲美的性能,同时通过其独特的内存安全保证来避免诸如缓冲区溢出等常见安全问题。Rust的设计哲学融合了现代编程语言的特性,包括内存安全、…

精密结构件核心供应商「东创集团」×企企通启动SRM采购数字化项目,共同驱动供应链价值跃升

导读 此次采购数字化项目上线可有效打通东创集团业务全面信息化的最后一公里,为公司柔性交付提供系统助力。在项目建设阶段,希望各业务关键人员从业务需求出发,设计好蓝图去打通堵点、断点,各相关部门要高度配合,组织…

Java从放弃到继续放弃

并发编程 为什么需要多线程? 由于硬件的发展,CPU的核数增多,如果仍然使用单线程对CPU资源会造成浪费。同时,单线程也会出现阻塞的问题。所以,选择向多线程转变。 多线程的使用使得程序能够并行计算,提高计…

MT2092 水温调节

代码&#xff1a; #include <bits/stdc.h> using namespace std; double t1, t2, x1, x2, t0; double y1, y2, t; double tmax 0x3f3f3f3f, ans1, ans2; int main() {cin >> t1 >> t2 >> x1 >> x2 >> t0;y1 x1, y2 x2; // 初始流速赋最…

提升易用性,OceanBase生态管控产品的“从小到大”

2022年&#xff0c;OceanBase发布4.0版本“小鱼”&#xff0c;并首次公开提出了单机分布式一体化这一理念&#xff0c;旨在适应大小不同规模的工作负载&#xff0c;全面满足用户数据库“从小到大”全生命周期的需求。当时&#xff0c;我们所说的“从小到大”主要聚焦于数据库的…

Stable Diffusion 如何写出更优雅的 Prompt

在看了前面的课程后&#xff0c; 相信很多人都会有一个困惑&#xff0c;这个 prompt 咋写… 为什么我写的时候只能憋出来了一个 a girl, a boy, beautify … 再也想不到其他的了&#xff0c; 总感觉是吃了没文化的亏&#xff1f; 这一节课我们就来讲一讲 如何写好 prompt …

JVM (四)GC过程

一。概述 程序计数器、虚拟机栈、本地方法栈都是随线程生灭&#xff0c;栈帧随着方法的进入和退出做入栈和出栈操作&#xff0c;实现了自动的内存清理&#xff0c;因此&#xff0c;内存垃圾回收主要集中于Java堆和方法区中。 GC整体流程示意图&#xff1a; ① 年轻代对象的移动…

【UE5|水文章】在UMG上显示帧率

参考视频&#xff1a; https://www.youtube.com/watch?vH_NdvImlI68 蓝图&#xff1a;

解决生产问题的万能接口(Java编译器API的使用)

文章目录 前言Tool和ToolProvider编译器工具&#xff1a;JavaCompiler文件管理文件&#xff1a;FileObject文件管理器&#xff1a;JavaFileManager 诊断监听器&#xff1a;DiagnosticDemo&#xff1a;allPowerfulInterface具体实现测试 结语 前言 当生产环境出现问题时&#x…

【大模型应用开发极简入门】提示工程一:1. 通过context、task、role文本结构设计有效的提示词、 2. OpenAI的提示词任务示例

文章目录 一. chat_completion函数二. 设计有效的提示词1.上下文1.1. 更多细节的上下文1.2. 让GPT改进上下文 2.任务2.1. 提供足够的任务信息2.2. OpenAI的任务示例语法纠正总结TL;DR概要Python转自然语言计算时间复杂度修复Python bug产生python函数 3.角色 了解LLM和OpenAI A…

【Linux】基础IO [万字之作]

目录 一.重谈文件 二.重谈C文件操作 1.操作 1.文件的打开和关闭 2.文件的读写操作 ​编辑 1.fgetc函数 2.fputc函数 3.fputs函数 4.fgets函数 5.fprintf函数 6.fscanf函数 7.fread函数 8.fwrite函数 三.重谈当前路径 四.系统文件操作接口 1.Open函数 2.write函数 3…

假期抢票难?程序员手写一个超强抢票脚本,轻松购得出行票!

距离五一假期只剩几天的时间&#xff0c;据央视财经报道&#xff0c;从4月17日开始&#xff0c;5月1日的火车票就可以通过铁路12306网站核车站售票窗口购买了&#xff0c;售票通道一打开&#xff0c;5月1日上午的热门目的地车票&#xff0c;几乎瞬间售罄。 有平台预计&#xff…

conda虚拟环境,安装pytorch cuda cudnn版本一致,最简单方式

1、pytorch版本安装&#xff08;卸载也会有问题&#xff09; &#xff08;1&#xff09;版本如何选择参考和卸载 https://zhuanlan.zhihu.com/p/401931724 &#xff08;2&#xff09;对应版本如何安装命令 https://pytorch.org/get-started/previous-versions/ 最简答安装参考…

网络数据包抓取与分析工具wireshark的安及使用

WireShark安装和使用 WireShark是非常流行的网络封包分析工具&#xff0c;可以截取各种网络数据包&#xff0c;并显示数据包详细信息。常用于开发测试过程中各种问题定位。 1 任务目标 1.1 知识目标 了解WireShark的过滤器使用,通过过滤器可以筛选出想要分析的内容 掌握Wir…

海外短剧推广平台的开发策略

在全球文化交融的背景下&#xff0c;海外短剧正逐渐成为观众的新宠。为了满足这一需求&#xff0c;我们提出了“视界无界&#xff1a;海外短剧推广平台”的开发策略。下面&#xff0c;我们将详细介绍这一策略的具体内容。 一、全球化内容策略 我们将积极引进全球各地的优质短…

找不到vcruntime140_1.dll无法继续执行的原因解析及解决方法

在现代的信息化社会中&#xff0c;电脑已经成为我们生活和工作中不可或缺的工具之一。然而&#xff0c;在使用过程中&#xff0c;我们可能会遇到一些问题&#xff0c;其中之一就是电脑缺失vcruntime140_1.dll文件。那么&#xff0c;这个问题到底是怎么回事呢&#xff1f;小编将…

传神论文中心|第11期人工智能领域论文推荐

在人工智能领域的快速发展中&#xff0c;我们不断看到令人振奋的技术进步和创新。近期&#xff0c;开放传神&#xff08;OpenCSG&#xff09;社区发现了一些值得关注的成就。传神社区本周也为对AI和大模型感兴趣的读者们提供了一些值得一读的研究工作的简要概述以及它们各自的论…