uboot启动流程-涉及s_init汇编函数
一. uboot启动涉及函数
本文简单分析uboot启动流程中,涉及的汇编函数:
lowlevel_init函数调用的函数:s_init 函数
save_boot_params_ret函数调用的函数: _main 函数
本文继上一篇文章的学习,地址如下:
uboot启动流程-涉及lowlevel_init汇编函数_凌肖战的博客-CSDN博客
二. uboot 启动流程涉及的汇编函数
1. s_init 函数
808 void s_init(void)
809 {
810 struct anatop_regs *anatop = (struct anatop_regs
*)ANATOP_BASE_ADDR;
811 struct mxc_ccm_reg *ccm = (struct mxc_ccm_reg *)CCM_BASE_ADDR;
812 u32 mask480;
813 u32 mask528;
814 u32 reg, periph1, periph2;
815
816 if (is_cpu_type(MXC_CPU_MX6SX) || is_cpu_type(MXC_CPU_MX6UL) ||
817 is_cpu_type(MXC_CPU_MX6ULL) || is_cpu_type(MXC_CPU_MX6SLL))
818 return;
.......
850 writel(mask528, &anatop->pfd_528_clr);
851 }

这里的 s_init函数,对 于 I.MX6UL/I.MX6ULL来说,s_init 就是个空函数,就是说什么也没有直接返回了。
调用关系可以看出:
下一篇文章分析 :_main汇编函数。
相关文章:
uboot启动流程-涉及s_init汇编函数
一. uboot启动涉及函数 本文简单分析uboot启动流程中,涉及的汇编函数: lowlevel_init函数调用的函数:s_init 函数 save_boot_params_ret函数调用的函数: _main 函数 本文继上一篇文章的学习,地址如下:…...
单例模式详解及5种实现方式 (设计模式 一)
基本概念 在软件开发中,单例模式是一种常见的设计模式,用于确保一个类只有一个实例,并提供全局访问点。单例模式在需要确保只有一个对象实例存在的场景中非常有用,例如数据库连接、线程池、日志记录器等。 单例模式的核心思想是通…...
面试系列 - Java常见算法(一)
目录 一、排序算法 1、冒泡排序(Bubble Sort): 2、快速排序(Quick Sort): 二、查找算法 1、二分查找(Binary Search): 三、 图算法 1、深度优先搜索(De…...
Sentinel学习(1)——CAP理论,微服务中的雪崩问题,和Hystix的解决方案 Sentinel的相关概念 + 下载运行
前言 Sentinel 是面向分布式、多语言异构化服务架构的流量治理组件,主要以流量为切入点,从流量路由、流量控制、流量整形、熔断降级、系统自适应过载保护、热点流量防护等多个维度来帮助开发者保障微服务的稳定性。 本篇博客介绍CAP理论,微…...
C#学习 - 表达式、语句
表达式 定义 算法逻辑的最基本单元,表达一定的算法意图是由一个或多个操作数和零个或多个操作符组成的序列表达式功能是求值,得到的结果可能是一个值、对象、方法或名称空间因为操作符有优先级,所以表达式也有优先级 分类 一个值。表达式…...
VirtualBox 进入虚拟机后,鼠标出不来了
VirtualBox 进入虚拟机后,鼠标出不来了。 一般情况下,VirtualBox默认的鼠标切换快捷键是右边的Ctrl键。 如果按住右Ctrl键还是没有用,那应该是没有设置主机键。 设置方法: 打开VirtualBox的全局设定,找到热键ÿ…...
030-从零搭建微服务-消息队列(二)
写在最前 如果这个项目让你有所收获,记得 Star 关注哦,这对我是非常不错的鼓励与支持。 源码地址(后端):mingyue: 🎉 基于 Spring Boot、Spring Cloud & Alibaba 的分布式微服务架构基础服务中心 源…...
Docker从认识到实践再到底层原理(九)|Docker Compose 容器编排
前言 那么这里博主先安利一些干货满满的专栏了! 首先是博主的高质量博客的汇总,这个专栏里面的博客,都是博主最最用心写的一部分,干货满满,希望对大家有帮助。 高质量博客汇总 然后就是博主最近最花时间的一个专栏…...
操作EXCEL计算3万条数据的NDVI并填入
Python操作EXCEL,计算3万条数据的NDVI并填入 问题描述 现在是有构建好了的查找表,不过构建了3万条数据,在excel中手动计算每行的NDVI值太麻烦了,也不会操作。 就试试python吧,毕竟python自动处理大型EXCEL数据很方便…...
Linux服务器安装Anaconda 配置远程jupyter lab使用虚拟环境
参考的博客: Linux服务器安装Anaconda 并配置远程jupyter lab anaconda配置远程访问jupyter,并创建虚拟环境 理解和创建:Anaconda、Jupyterlab、虚拟环境、Kernel 下边是正文了。 https://www.anaconda.com/download是官网网址,可…...
R语言实现随机生存森林(3)
常见问题解答 1、计算C指数 1-Error rate,或者 rsf.err <- get.cindex(yvar$Survival_months,yvar$OS,predictedrf.grow$predicted) 2、模型中predicted和predicted.oob区别 predicted和predicted.oob是两个不同的属性,它们分别表示模型的预测结果…...
WebPack-打包工具
从图中我们可以看出,Webpack 可以将多种静态资源 js、css、less 转换成一个静态文件,减少了页面的请求. 下面举个例子 : main.js 我们只命名导出一个变量 export const name"老六"index.js import { name } from "./tset/…...
CISSP学习笔记:PKI和密码学应用
第七章 PKI和密码学应用 7.1 非对称密码学 对称密码系统具有共享的秘钥系统,从而产生了安全秘钥分发的问题非对称密码学使用公钥和私钥对,无需支出复杂密码分发系统 7.1.1 公钥与私钥 7.1.2 RSA(兼具加密和数字签名) RSA算法…...
简述Java21新特性
Java21新特性 你发任你发我用Java8 不管Java更新了多少版本,我还是用Java8,因为在很多框架不知道支持不支持Java21,而且因为很多Jar包的版本冲突问题,所以我还是用Java8,但是对于新技术的了解是非常必要的。 Java 21是新推出的长…...
Composition API(常用部分)
1. Composition API(常用部分) 文档: https://composition-api.vuejs.org/zh/api.html 1) setup 新的option, 所有的组合API函数都在此使用, 只在初始化时执行一次函数如果返回对象, 对象中的属性或方法, 模板中可以直接使用2) ref 作用: 定义一个数据的响应式语法: cons…...
驱动插入中断门示例代码
驱动插入中断描述符示例代码 最近做实验,每次在应用层代码写测试代码的时候都要手动挂一个中断描述符,很不方便所以就想着写个驱动挂一个中断门比较省事 驱动测试效果如下: 下面的代码是个架子,用的时候找个驱动历程传递你要插…...
1 论文笔记:Efficient Trajectory Similarity Computation with ContrastiveLearning
2022CIKM 1 intro 1.1 背景 轨迹相似度计算是轨迹分析任务(相似子轨迹搜索、轨迹预测和轨迹聚类)最基础的组件之一现有的关于轨迹相似度计算的研究主要可以分为两大类: 传统方法 DTW、EDR、EDwP等二次计算复杂度O(n^2)缺乏稳健性 会受到非…...
如何做一个基于 Python 的搜索引擎?
怎么做一个基于 python 的搜索引擎? 1、确定搜索引擎范围和目标用户 在决定做一个基于Python的搜索引擎之前,首先需要确定搜索引擎的范围和目标用户。搜索引擎的范围可以包括新闻、商品、音乐等,不同的领域需要不同的数据来源和处理方式。同…...
Python报错:KeyError: ‘820‘
Python报错:KeyError: ‘820’ 问题描述 原因 操作的表格列名是数字 NIRdata[820] Rdata[630]以上是出错行,dataframe的这种索引方式不支持用数字。 解决方案 先修改列名为字符 然后将出错行改为对应列名 NIRdata[nir] Rdata[r]...
【kubernetes】kubernetes中的Deployment使用
1 Why need Deployment? K8S中Pod是用户管理工作负载的基本单位,Pod通常通过Service进行暴露,因此,通常需要管理一组Pod,RC和RS主要就实现了一组Pod的管理工作,其中,RC和RS的区别在于,RS提供更…...
电视盒子播放卡顿?教你一招解决所有格式难题
电视盒子播放卡顿?教你一招解决所有格式难题 【免费下载链接】TVBoxOSC TVBoxOSC - 一个基于第三方项目的代码库,用于电视盒子的控制和管理。 项目地址: https://gitcode.com/GitHub_Trending/tv/TVBoxOSC 一、破解家庭娱乐的格式困局 你是否也曾…...
PlotJuggler颜色映射终极指南:如何创建惊艳的数据可视化效果
PlotJuggler颜色映射终极指南:如何创建惊艳的数据可视化效果 【免费下载链接】PlotJuggler The Time Series Visualization Tool that you deserve. 项目地址: https://gitcode.com/gh_mirrors/pl/PlotJuggler PlotJuggler是一款功能强大的时间序列数据可视化…...
游戏多开检测技术深度解析与实战绕过方案
1. 游戏多开检测技术全景解析 游戏多开检测本质上是一种防止同一程序重复运行的技术手段。我在逆向分析各类游戏客户端时发现,现代游戏通常会采用组合拳式的检测策略,从简单的进程查找到复杂的驱动级验证,防御层级越来越深。对于开发者而言&a…...
如何用FanControl彻底告别电脑噪音?Windows风扇控制终极解决方案
如何用FanControl彻底告别电脑噪音?Windows风扇控制终极解决方案 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/GitHub_T…...
PID调参翻车实录:STM32驱动编码电机时,P值过大为何电机啸叫还振荡?
PID调参实战:STM32编码电机啸叫与振荡问题深度解析 当你在深夜实验室里第一次听到电机发出刺耳的啸叫声,同时观察到示波器上速度曲线像过山车一样上下震荡时,那种既困惑又兴奋的感觉,相信每个做过电机控制的工程师都深有体会。这不…...
手机号查QQ号:解密腾讯通信协议的Python实战工具
手机号查QQ号:解密腾讯通信协议的Python实战工具 【免费下载链接】phone2qq 项目地址: https://gitcode.com/gh_mirrors/ph/phone2qq 你是否曾经遇到过这样的情况:手头有一个手机号,想知道它是否关联了QQ账号?或者作为开发…...
CloudFlare Workers实现高级邮箱转发:过滤垃圾邮件+自动分类实战
CloudFlare Workers实现高级邮箱转发:过滤垃圾邮件自动分类实战 邮箱已经成为现代人工作和生活中不可或缺的工具,但随之而来的垃圾邮件、广告推广和各类通知也让收件箱变得杂乱无章。对于开发者和技术爱好者来说,传统的邮箱转发功能往往不能满…...
11.0592MHz晶振在51单片机串口通信中的优势解析
1. 为什么11.0592MHz晶振成为单片机工程师的首选在嵌入式系统设计中,晶振的选择往往决定了整个系统的稳定性和精度。作为一名从事单片机开发多年的工程师,我发现11.0592MHz的晶振在51单片机项目中出现的频率异常高。这绝非偶然,而是由一系列精…...
SDMatte效果对比评测:与传统抠图工具及在线API的全面比拼
SDMatte效果对比评测:与传统抠图工具及在线API的全面比拼 1. 开篇:为什么需要新的抠图方案 在数字内容创作领域,抠图一直是个让人又爱又恨的技术活。记得去年帮朋友做电商产品图,光是给20个商品抠图就花了我整整一个周末。传统工…...
3种Cookie管理方案对比:为什么本地导出才是开发者最佳选择?
3种Cookie管理方案对比:为什么本地导出才是开发者最佳选择? 【免费下载链接】Get-cookies.txt-LOCALLY Get cookies.txt, NEVER send information outside. 项目地址: https://gitcode.com/gh_mirrors/ge/Get-cookies.txt-LOCALLY 在Web开发和自动…...
