Saving Environment to FAT... Card did not respond to voltage select!

news2024/11/25 4:37:55

在移植uboot到全志H3时,出现了错误:

Saving Environment to FAT… Card did not respond to voltage select!

判定与MMC有关。

同时还有报错:

Error: ethernet@1c30000 address not set.
No ethernet found.

查看源码发现这与环境变量有关(读不到MAC地址),进一步坐实了MMC的问题。

因为板子是自己设计的,只留了SD卡,没有EMMC,所以刚开始以为是虚焊等硬件问题,但进一步分析,既然都到这一步了,SD卡肯定是能正常使用的。

为了找到原因,这里使用orangepi pc plus(带EMMC)验证:
在这里插入图片描述
网口依然无法使用,并且出现错误:

Loading Environment from FAT… Unable to use mmc 1:1…

查看mmc:
在这里插入图片描述
mmc 1:1说明使用的是EMMC的第1分区,也就是说我想使用SD卡,但在后续板级初始化时,系统会更改MMC,而默认使用的是EMMC,所以需要将其更改SD卡。

找到出现错误的代码:

static int env_fat_load(void)
{
	ALLOC_CACHE_ALIGN_BUFFER(char, buf, CONFIG_ENV_SIZE);
	struct blk_desc *dev_desc = NULL;
	disk_partition_t info;
	int dev, part;
	int err;

#ifdef CONFIG_MMC
	if (!strcmp(CONFIG_ENV_FAT_INTERFACE, "mmc"))
		mmc_initialize(NULL);
#endif

	part = blk_get_device_part_str(CONFIG_ENV_FAT_INTERFACE,
					CONFIG_ENV_FAT_DEVICE_AND_PART,
					&dev_desc, &info, 1);	// 识别设备与分区
	if (part < 0)
		goto err_env_relocate;

	dev = dev_desc->devnum;
	if (fat_set_blk_dev(dev_desc, &info) != 0) {
		/*
		 * This printf is embedded in the messages from env_save that
		 * will calling it. The missing \n is intentional.
		 */
		printf("Unable to use %s %d:%d... ",	// 打印错误
		       CONFIG_ENV_FAT_INTERFACE, dev, part);
		goto err_env_relocate;
	}

	err = file_fat_read(CONFIG_ENV_FAT_FILE, buf, CONFIG_ENV_SIZE);
	if (err == -1) {
		/*
		 * This printf is embedded in the messages from env_save that
		 * will calling it. The missing \n is intentional.
		 */
		printf("Unable to read \"%s\" from %s%d:%d... ",
			CONFIG_ENV_FAT_FILE, CONFIG_ENV_FAT_INTERFACE, dev, part);
		goto err_env_relocate;
	}

	return env_import(buf, 1);

err_env_relocate:
	env_set_default(NULL, 0);

	return -EIO;
}

在出现错误之前,uboot会识别设备与其分区,通过宏“CONFIG_ENV_FAT_DEVICE_AND_PART”来定义,查看配置文件:

#define CONFIG_ENV_FAT_DEVICE_AND_PART “1:auto”

发现它确实被默认配置为EMMC启动,所以这里将1改为0,重新编译,orangepi和自己设计的板子均正常运行。

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

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

相关文章

01-xss基本原理

核心:攻击的是前端&#xff0c; 一、课程引入 1、开发一个简单的PHP页面&#xff0c;代码如下&#xff1a; <?php // xss 基础演示代码&#xff1a;从浏览器中接受一个URL地址参数名为content if(isset($_GET[content])){$content$_GET[content];echo "你输入的内容…

LeetCode 每日一题 Day 144-157

2385. 感染二叉树需要的总时间 给你一棵二叉树的根节点 root &#xff0c;二叉树中节点的值 互不相同 。另给你一个整数 start 。在第 0 分钟&#xff0c;感染 将会从值为 start 的节点开始爆发。 每分钟&#xff0c;如果节点满足以下全部条件&#xff0c;就会被感染&#xf…

浏览器的使用心得和探索

文章目录 前言一、浏览器二、个人推荐2.1 3602.2 猎豹2.3 火狐2.4 chorme2.5 Opera2.6 QQ浏览器2.7 猫眼&#xff08;Catsxp&#xff09;2.8 edge 三、Browser plugin3.1 AdGuard 广告拦截器3.2 Axure RP 查看器3.3 Edge深度清理者3.4 FeHelper(前端助手)3.5 MarkDownload - Ma…

Echarts之桑基图的配置,带你感受数据流动之美。

一、桑基图的作用 ECharts中的桑基图&#xff08;Sankey diagram&#xff09;是一种用于显示数据流量、能量转移、材料流动等复杂关系的图表类型。它可以反映不同节点之间的流动关系、数量、比例等信息。 桑基图可以用于展示各种复杂的关系&#xff0c;比如流程图、资源分配、…

算法基础01一快速排序,归并排序,二分

一.排序 1.快速 排序 基于分治 确定分界点 左 右 中间 随机划分区间 左半边<x >x在右半边递归处理左右两端 #include<iostream>using namespace std;const int N 1e6 10;int n; int q[N]; void quick_sort(int q[],int l,int r) {if(l>r)return;//边界&…

【微机原理及接口技术】8086/8088系统时序和微机总线

【微机原理及接口技术】8086/8088系统时序和微机总线 文章目录 【微机原理及接口技术】8086/8088系统时序和微机总线前言一、8086/8088引脚信号和工作模式1.8088 的两种组态模式2.最小组态的引脚信号3.最小组态的总线形成4.最大组态的总线形成 二、8086/8088典型时序1.三种周期…

九州金榜|孩子出现焦虑情绪应该怎么家庭教育?

当下社会&#xff0c;生活节奏快&#xff0c;生活压力大&#xff0c;同时孩子学习压力也在加大&#xff0c;这就造成孩子会出现焦虑情绪。那么作为家长&#xff0c;我们不仅仅只关注孩子的身体健康&#xff0c;还要重视孩子心理健康问题。当孩子出现焦虑情绪时&#xff0c;那么…

鞋店小程序商城的作用是什么

鞋与服装一样其购买/复购属性都非常足&#xff0c;每个人生活所需无疑促进了品牌多样化、工厂/店铺商家/个人都有很多&#xff0c;其目的都是为了品牌宣传和将更多货卖给下游/客户。 对消费者来说&#xff0c;买鞋渠道线上线下选择比较多&#xff0c;普遍会以品牌为主&#xf…

Centos7 安装 MySQL5.7 使用 RPM 方式

1 访问网站 https://downloads.mysql.com/archives/community/ 选择合适的版本&#xff0c;点击 Download。 2 上传下载好的 mysql-5.7.44-1.el7.x86_64.rpm-bundle.tar 文件到 Centos7 机器&#xff0c;这里放到了 下载 目录。 3 解压 mysql-5.7.44-1.el7.x86_64.rpm-bundle.…

FileLink跨网文件交换的交换方式:满足不同场景下的文件交换需求

FileLink&#xff0c;作为一款创新的文件交换工具&#xff0c;不仅满足了用户在日常生活中对文件传输的需求&#xff0c;更在技术上实现了跨网文件交换的突破。其独特之处在于支持邮件方式投递、文件中转站、网盘模式共享三种交换方式&#xff0c;这使得FileLink能够适应不同场…

《intel开发手册卷1》学习笔记2

1、栈 堆栈&#xff08;见图 6-1&#xff09;是一个连续的内存位置数组。它包含在一个段中&#xff0c;并由 SS 寄存器中的段选择器标识。使用平面内存模型时&#xff0c;堆栈可以位于程序线性地址空间中的任何位置。堆栈最长可达 4 GB&#xff0c;这是段的最大大小。 使用 P…

【SpringBoot 项目 加密】你会对Spring项目的接口进行加密吗?

这里写目录标题 加密/加盐加密介绍加密算法分类加密思路 测试类写加密/解密工具类修改数据库密码修改登录接口 加密/加盐 加密介绍 在MySQL数据库中, 我们常常需要对密码, ⾝份证号, ⼿机号等敏感信息进⾏加密, 以保证数据的安全性。如果使⽤明⽂存储, 当⿊客⼊侵了数据库时,…

springboot本地文件同步到nacos 本地文件上传到nacos 使用nacos

导入依赖 <!--配置文件使用nacos--><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId><version>nacos版本</version></dependency><dependency…

深入解析Python中的`add_argument`用法

深入解析Python中的add_argument用法 在Python编程中&#xff0c;add_argument通常与命令行参数解析库argparse有关。这个库主要用于编写用户友好的命令行接口&#xff0c;其核心功能之一就是通过add_argument方法来指定程序可以接受哪些命令行参数。本篇博客将详细介绍argpar…

留学资讯 | 曼大突然官宣接受雅思单科重考!单科重考体验大揭秘!

雅思单科重考于昨日&#xff08;5月6日&#xff09;进行了大陆地区的首场考试&#xff0c;不少烤鸭都在观望状态&#xff0c;表示&#xff1a;虽然我很心动&#xff0c;但是学校们可不心动&#xff01;&#xff01; 别急&#xff01;好消息这不就来了&#xff01;曼大官网明确表…

geoHelper

个人博客&#xff1a;无奈何杨&#xff08;wnhyang&#xff09; 个人语雀&#xff1a;wnhyang 共享语雀&#xff1a;在线知识共享 Github&#xff1a;wnhyang - Overview 简介 GitHub - wnhyang/geoHelper 无奈何杨/geoHelper geoHelper整合了身份证、手机号、IP、GPS解析…

Java云商城系统 云端商城 一站式系统Java源码 云商城自助下单平台 云商城虚拟交易网

内容目录 一、详细介绍二、效果展示2.效果图展示 三、学习资料下载 一、详细介绍 云商城系统&#xff0c;无后门&#xff0c;一站式系统Java源码&#xff0c;心权益商品数量不限数量 系统对接 手动发货 自动发货 兑 换 码 订单监控 商品监控 对象存储 邮箱提醒 加价模板 密价…

智慧园区能耗管控系统,3D可视化开发都需要哪些技术栈?

数据可视化&#xff1a; 数据可视化是将数据通过图表、图形、地图等可视化方式展示&#xff0c;使得数据更加直观、易于理解和分析。在智慧园区能耗管控系统中&#xff0c;可以使用各种图表库&#xff08;如Echarts、Highcharts&#xff09;和可视化工具&#xff08;如Tableau…

首个ICLR时间检验奖出炉,机器学习大牛Max Welling和OpenAI创始团队成员Diederik Kingma获奖

国际表征学习大会&#xff08;ICLR&#xff09;是机器学习领域的一个学术会议&#xff0c;每年一次&#xff0c;通常在每年四月底或五月初举行。会议包括特邀演讲以及经评审论文的口头和海报展示。 ICLR 由 Yann LeCun&#xff08;杨立昆&#xff09;和 Yoshua Bengio 两位图灵…

探索宇宙奥秘:太阳系运转的三维可视化之旅

在宇宙探索的伟大征途中&#xff0c;太阳系运转三维可视化技术为我们揭开了星辰大海的一角。通过图扑可视化技术&#xff0c;我们能够以前所未有的方式直观地体验和理解太阳及其周围行星的运动规律。这不仅是对于天文学家的一大帮助&#xff0c;也为广大天文爱好者和教育者提供…