当前位置:网站首页>sbl_init.asm-适合在编辑模式下看
sbl_init.asm-适合在编辑模式下看
2022-08-04 05:30:00 【Btobk】
;******************************************************************************
;* *
;* Copyright 2018-2019 Texas Instruments Incorporated *
;* http://www.ti.com/ *
;* *
;* Redistribution and use in source and binary forms, with or without *
;* modification, are permitted provided that the following conditions *
;* are met: *
;* *
;* Redistributions of source code must retain the above copyright *
;* notice, this list of conditions and the following disclaimer. *
;* *
;* Redistributions in binary form must reproduce the above copyright *
;* notice, this list of conditions and the following disclaimer in *
;* the documentation and/or other materials provided with the *
;* distribution. *
;* *
;* Neither the name of Texas Instruments Incorporated nor the names *
;* of its contributors may be used to endorse or promote products *
;* derived from this software without specific prior written *
;* permission. *
;* *
;* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS *
;* “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT *
;* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR *
;* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT *
;* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, *
;* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT *
;* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, *
;* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY *
;* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT *
;* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE *
;* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *
;* *
;******************************************************************************
;****************************************************************************
; Setup Reset Vectors
;****************************************************************************
下面的代码为arm模式
.arm
下面的代码属于ResetVectors段
.sect “.rstvectors”
.global _sblResetVectors
sbl程序入口,临时异象向量表
_sblResetVectors:
reset跳转到sblEntry
LDR pc, sblEntry ; Reset
临时异象向量表
B _sblLoopForever ; Undefined Instruction
B _sblLoopForever ; SVC call
B _sblLoopForever ; Prefetch abort
B _sblLoopForever ; Data abort
B _sblLoopForever ; Hypervisor
B _sblLoopForever ; IRQ
B _sblLoopForever ; FIQ
sblEntry表
sblEntry .long _sblEntry
;****************************************************************************
; SBL Entry
;****************************************************************************
.def _sblEntry
.ref _c_int00
.ref SBL_init_profile
.ref _sblTcmEn
_c_int00_addr .long _c_int00
SBL_init_profile_addr .long SBL_init_profile
_sblTcmEnAddr .long _sblTcmEn
_sblEntry:
读取cupid,不为ti的就跳到_sblLoopForever进入死循环
MRC p15, #0, r1, c0, c0, #5
BFC r1, #8, #24
CMP r1, #0
BNE _sblLoopForever
设置临时对战地址_sblTestStackBase-#0xf
ADR r1, _sblTestStackBase
BIC r1, r1, #0xf
MOV sp, r1
获取sbl启动的时间点信息,看sbl快不快
LDR r1, SBL_init_profile_addr
BLX r1
开开当前核的atcm和btcm,告诉内存让他们可以被使用
LDR r1, _sblTcmEnAddr
BLX r1
LDR r1, _c_int00_addr
BLX r1
开始进行fpu,各模式stack初始化
_sblLoopForever:
WFI
B _sblLoopForever
_sblTestStackTop:
.space 64
_sblTestStackBase:
边栏推荐
猜你喜欢
【CV-Learning】Object Detection & Instance Segmentation
PP-LiteSeg
fuser 使用—— YOLOV5内存溢出——kill nvidai-smi 无pid 的 GPU 进程
Jupyter Notebook installed library;ModuleNotFoundError: No module named 'plotly' solution.
【深度学习日记】第一天:Hello world,Hello CNN MNIST
MNIST手写数字识别 —— ResNet-经典卷积神经网络
BatchNorm&&LayerNorm
Halcon缺陷检测
target has libraries with conflicting names: libcrypto.a and libssl.a.
【论文阅读】Mining Cross-Image Semantics for Weakly Supervised Semantic Segmentation
随机推荐
【论文阅读】Exploring Spatial Significance via Hybrid Pyramidal Graph Network for Vehicle Re-identificatio
Usage of Thread, Handler and IntentService
图像形变(插值方法)
tensorRT教程——使用tensorRT OP 搭建自己的网络
亚马逊云科技Build On-Amazon Neptune基于知识图谱的推荐模型构建心得
基于BiGRU和GAN的数据生成方法
Thunderbolt turns off automatic updates
空洞卷积
MNIST Handwritten Digit Recognition - Lenet-5's First Commercial Grade Convolutional Neural Network
深度学习理论 —— 初始化、参数调节
[CV-Learning] Linear Classifier (SVM Basics)
BatchNorm&&LayerNorm
浅谈游戏音效测试点
度量学习(Metric learning)—— 基于分类损失函数(softmax、交叉熵、cosface、arcface)
Attention Is All You Need(Transformer)
MOOSE平台使用入门攻略——如何运行官方教程的例子
How to get started with MOOSE platform - an example of how to run the official tutorial
Deep Adversarial Decomposition: A Unified Framework for Separating Superimposed Images
The use of the attribute of the use of the animation and ButterKnife
2020-10-19