当前位置:网站首页>二次bootloader关于boot28.asm应用的注意事项,28035的
二次bootloader关于boot28.asm应用的注意事项,28035的
2022-06-26 05:11:00 【量子力学和生命科学】
做BL的时候,主函数被改成了BLmian()
boot28.asm中 LCR _SBLmain,如此带返回调用主函数,这句话运行结束后,SBLmain函数的返回值是个APP的入口地址放在ACC中,通过 LCR _exit 调用,最终将ACC中的主函数入口地址加载到PC中
因此, _exit函数的内容要加到boot28.asm中,不然引用的_exit是库中的,没有上面这个过程,就无法完成跳转
添加到boot28.asm中的代码如下:
_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
边栏推荐
- Image translation /gan:unsupervised image-to-image translation with self attention networks
- Apktool tool usage document
- ModuleNotFoundError: No module named ‘numpy‘
- [unity3d] rigid body component
- 一个从坟墓里爬出的公司
- Zhongshanshan: engineers after being blasted will take off | ONEFLOW u
- Transport layer TCP protocol and UDP protocol
- 6.1 - 6.2 introduction to public key cryptography
- -Discrete Mathematics - Analysis of final exercises
- Tensorflow visualization tensorboard "no graph definition files were found." error
猜你喜欢

How to select the data transmission format of instant messaging application

YOLOV5超参数设置与数据增强解析

2.< tag-动态规划和常规问题>lt.343. 整数拆分

The best Chinese open source class of vision transformer, ten hours of on-site coding to play with the popular model of Vit!

pycharm 导包错误没有警告
Briefly describe the pitfalls of mobile IM development: architecture design, communication protocol and client

What is UWB in ultra-high precision positioning system

FastAdmin Apache下设置伪静态

Codeforces Round #800 (Div. 2)

Using requests library and re library to crawl web pages
随机推荐
[unity3d] collider assembly
Computer Vision Tools Chain
Datetime data type - min() get the earliest date and date_ Range() creates a date range, timestamp() creates a timestamp, and tz() changes the time zone
localStorage浏览器本地储存,解决游客不登录的情况下限制提交表单次数。
5. <tag-栈和常规问题>补充: lt.946. 验证栈序列(同剑指 Offer 31. 栈的压入、弹出序列)
Tp5.0框架 PDO连接mysql 报错:Too many connections 解决方法
Technical problems to be faced in mobile terminal im development
zencart新建的URL怎么重写伪静态
UWB超高精度定位系统架构图
Statsmodels Library -- linear regression model
[geek] product manager training camp
The first gift of the project, the flying oar contract!
Tensorflow and deep learning day 3
【Latex】错误类型总结(持更)
Schematic diagram of UWB ultra high precision positioning system
cartographer_pose_graph_2d
FastAdmin Apache下设置伪静态
apktool 工具使用文档
Yolov5 super parameter setting and data enhancement analysis
RESNET practice in tensorflow