- 1
- 0
- 约1.59万字
- 约 49页
- 2019-01-07 发布于浙江
- 举报
object1 entry library entry object2 entry exec image entry which entry point to use? 扩展功能 系统初始化代码通常在进入主应用之前运行 当然,reset handler 不是一个适合使能中断和使能caches地方。 在reset handler最后应该放一个C运行库初始化代码 EG。 IMPORT __main B __main 我们可使用$Sub和$Super功能来包装符号 extern void $Super$$main(void); void $Sub$$main(void) { cache_enable(); // enables caches int_enable(); // enables interrupts sys_to_usr_mode(); // change mode - see next slide $Super$$main(); // calls original main() } 相关描述可在ADS 1.2 Linker and Utilities Guide - 4.4章查阅到。 运行模式考虑 主应用程序运行在何种模式是要考虑的重要问题。 用户模式(User mode)是非特权模式(unprivileged mode)-保护你的系统 系统初始化代码只能运行在特权模式(privileged mode)。 需要执行特权操作 比如:使能中断。 如果你的应用要运行在管理模式,简单的在管理模式下退出你的reset handler 就可。 如果你想在用户模式下运行你的应用,你需在$Sub$$main( )改变为用户模式 当然, __user_initial_stackheap( ) 必须有权使用你的应用模式寄存器。 解决办法是在系统模式里退出reset handler 所有C库初始化代码有权使用用户寄存器,但是仍然可以执行特权操作。 Agenda 一个PC软件的构造 裁减标准C库函数到目标板 定制IMAGE的存储器映射到目标板 复位和初始化 深层次的存储器器映象考虑 编译和调试IMAGE 长跳转Veneers ROM_LOAD 0x0000 { ROM_EXEC 0x0000 { * (+RO) } RAM 0 { farfunc.o (+RO) * (+RW,+ZI) } } /* main.c */int main(void) { farfunc(); } /* farfunc.c */ void farfunc(void); { :} 代码段可被远距离分开放置 (比BL的跳转范围还远) 链接器可自动增加长跳转Veneers,远距离的函数可被成功调用。 0 bl Ven$AA$L$$farfunc : : Ven$AA$L$$farfunc ldr pc,[pc,#-4]dcd 0 : : 0: mov pc,lr 存储器映射寄存器 你可以使用scatterloading来放置外设寄存器的存储器映射 在文件中定义它 e.g. timer_reg.c struct { volatile unsigned reg1; /* timer control */ volatile unsigned reg2; /* timer value */ } timer_reg;在存储器映射的请求地址上增加另外的可执行区来放置他们: LOAD_FLASH 00 { : TIMER 0UNINIT { timer_reg.o (+ZI) } : }UNINIT 显示在 ZI 段没有被初始化为0。 Stack 和 Heap 区(1) 你也可以在SCATTER文件中放置stack和heap 在汇编原文件里定义stack 和heap 区 比如. stackheap.s 这个空间直接保留一个为0的存储器块 AREA stack, DATA, NOINIT SPACE 0x3000 ; Reserve stack space AREA heap, DATA, NOINIT SPACE 0x3000 ; Reserve he
您可能关注的文档
最近下载
- 企业研发活动统计107-1、107-2报表版整理版(2021年-2022年).pdf VIP
- XX中学校2026年春季学期安全工作计划与应急演练安排表.docx VIP
- 园林植物配置与应用PPT课件.pptx VIP
- DB33/1006-2017 浙江省住宅设计标准.docx VIP
- HGT 4684-2014 液氯泄漏的处理处置方法.docx VIP
- IMT_2030(6G)推进组-通信行业:6G可信内生安全架构研究报告.docx VIP
- 亨格瑞成本与管理会计(第16版) 课件 Chapter 1 The Manager and Management Accounting .pptx
- 人教版高中化学选择性必修第2册 第三章 晶体结构与性质 第三节 金属晶体与离子晶体(一).ppt VIP
- 2025年全媒体运营师全媒体5G传播应用与传统媒体传输方式对比专题试卷及解析.pdf VIP
- IMT_2030(6G)推进组-通信行业:6G通信感知一体化评估方法研究报告.docx VIP
原创力文档

文档评论(0)