当前位置:网站首页>Secondary bootloader about boot28 Precautions for ASM application, 28035
Secondary bootloader about boot28 Precautions for ASM application, 28035
2022-06-26 05:13:00 【Quantum mechanics and Life Science】
do BL When , The main function has been changed to BLmian()
boot28.asm in LCR _SBLmain, In this way, the main function is called with a return , After this sentence runs ,SBLmain The return value of the function is APP The entry address of is placed in ACC in , adopt LCR _exit call , In the end ACC The main function entry address in is loaded into PC in
therefore , _exit The contents of the function are added to boot28.asm in , Otherwise, it is quoted _exit Is in the library , There is no such process , You can't complete the jump
Add to boot28.asm The code in is as follows :
_exit:
;-----------------------------------------------
; Insure that the stack is deallocated
;-----------------------------------------------
MOV SP,#__stack
;-----------------------------------------------
; Clear the bottom of the stack. This will endup
; in RPC when we are finished
;-----------------------------------------------
MOV *SP++,#0
MOV *SP++,#0
;-----------------------------------------------
; Load RPC with the entry point as determined
; by the boot mode. This address will be returned
; in the ACC register.
;-----------------------------------------------
PUSH ACC
POP RPC
;-----------------------------------------------
; Put registers back in their reset state.
;
; Clear all the XARn, ACC, XT, and P and DP
; registers
;
; NOTE: Leave the device in C28x operating mode
; (OBJMODE = 1, AMODE = 0)
;-----------------------------------------------
ZAPA
MOVL XT,ACC
MOVZ AR0,AL
MOVZ AR1,AL
MOVZ AR2,AL
MOVZ AR3,AL
MOVZ AR4,AL
MOVZ AR5,AL
MOVZ AR6,AL
MOVZ AR7,AL
MOVW DP, #0
;------------------------------------------------
; Restore ST0 and ST1. Note OBJMODE is
; the only bit not restored to its reset state.
; OBJMODE is left set for C28x object operating
; mode.
;
; ST0 = 0x0000 ST1 = 0x0A0B
; 15:10 OVC = 0 15:13 ARP = 0
; 9: 7 PM = 0 12 XF = 0
; 6 V = 0 11 M0M1MAP = 1
; 5 N = 0 10 reserved
; 4 Z = 0 9 OBJMODE = 1
; 3 C = 0 8 AMODE = 0
; 2 TC = 0 7 IDLESTAT = 0
; 1 OVM = 0 6 EALLOW = 0
; 0 SXM = 0 5 LOOP = 0
; 4 SPA = 0
; 3 VMAP = 1
; 2 PAGE0 = 0
; 1 DBGM = 1
; 0 INTM = 1
;-----------------------------------------------
MOV *SP++,#0
MOV *SP++,#0x0A0B
POP ST1
POP ST0
;------------------------------------------------
; Jump to the EntryAddr as defined by the
; boot mode selected and continue execution
;-----------------------------------------------
LRETR
边栏推荐
- [unity3d] human computer interaction input
- C# 39. Conversion between string type and byte[] type (actual measurement)
- 【Unity3D】刚体组件Rigidbody
- [greedy college] recommended system engineer training plan
- Use to_ Numeric to numeric type
- C# 40. Byte[] to hexadecimal string
- Resample
- Machine learning final exercises
- cartographer_pose_graph_2d
- UWB超高精度定位系统原理图
猜你喜欢

Schematic diagram of UWB ultra high precision positioning system

Codeforces Round #800 (Div. 2)

How to select the data transmission format of instant messaging application

AD教程系列 | 4 - 创建集成库文件

The beautiful scenery is natural, and the wonderful pen is obtained by chance -- how is the "wonderful pen" refined?

关于支付接口回调地址参数字段是“notify_url”,签名过后的特殊字符url编码以后再解码后出现错误(¬ , ¢, ¤, £)

UWB ultra high precision positioning system architecture

FastAdmin Apache下设置伪静态

Machine learning final exercises

Baidu API map is not displayed in the middle, but in the upper left corner. What's the matter? Resolved!
随机推荐
thread priority
Computer Vision Tools Chain
Zuul 实现动态路由
百度API地图的标注不是居中显示,而是显示在左上角是怎么回事?已解决!
cartographer_backend_constraint
86.(cesium篇)cesium叠加面接收阴影效果(gltf模型)
2. < tag dynamic programming and conventional problems > lt.343 integer partition
The best Chinese open source class of vision transformer, ten hours of on-site coding to play with the popular model of Vit!
86. (cesium chapter) cesium overlay surface receiving shadow effect (gltf model)
[greedy college] recommended system engineer training plan
【上采样方式-OpenCV插值】
CMakeLists.txt Template
[unity3d] collider assembly
One of token passing between microservices @feign's token passing
Setting pseudo static under fastadmin Apache
How to rewrite a pseudo static URL created by zenpart
Anaconda creates tensorflow environment
Interpretation of yolov5 training results
What is UWB in ultra-high precision positioning system
【Latex】错误类型总结(持更)