使用ADS1.2进行嵌入式软件开发(下).
5页1、使用ADS1.2进行嵌入式软件开发(下)上期主要介绍了基于ARM的嵌入式系统软件开发中,怎样来对必要的C库函数进行移植和重定向,以及如何根据不同的目标存储器系统进行程序编译和连接设置。本期介绍程序中的存储器分配和如何根据设置正确初始化系统。放置堆栈和heapScatterloading机制提供了一种指定代码和静态数据布局的方法。下面介绍如何放置应用程序的堆栈和heap。* _user_initial_stackheap重定向应用程序的堆栈和heap是在C库函数初始化过程中建立起来的。可以通过重定向对应的子程序来改变堆栈和heap的位置,在ADS的库函数中,即_user_initial_stackheap()函数。_user_initial_stackheap()可以用C或汇编来实现,它必须返回如下参数:r0:heap基地址;r1:堆栈基地址;r2:heap长度限制值(需要的话);r3:堆栈长度限制值。当用户使用分散装载功能的时候,必须重调用_user_initial_stackheap(),否则连接器会报错:Error: L6218E: Undefined symbol Image$Z
2、I$Limit (referred from sys_stackheap.o)*存储器模型ADS提供了两种实时存储器模型。缺省时为one-region,应用程序的堆栈和heap位于同一个存储器区块,使用的时候相向生长,当在heap区分配一块存储器空间时需要检查堆栈指针。另一种情况是堆栈和heap使用两块独立的存储器区域。对于速度特别快的RAM,可选择只用来作堆栈使用。为了使用这种two-region模型,用户需要导入符号use_two_region_memory,heap使用需要检查heap的长度限制值。对这两种模型来说,缺省情况下对堆栈的生长都不进行检查。用户可以在程序编译时使用 -apcs/swst 编译器选项来进行软件堆栈检查。如果使用two-region模型,必须得在执行_user_initial_stackheap时指定一个堆栈限制值。 图9 重定向_user_initial_stackheap()图10 基本初始化过程图11 ROM/RAM重定向和映射表1系统复位和初始化目前情况,一般假设程序从C库函数的初始化入口_main开始执行。实际上,所有的嵌入式程序在启动时都要执行
3、一些系统级的初始化操作。在此讨论这方面的内容。初始化过程图10中显示了一个基于ARM的嵌入式系统的基本初始化过程。可以看到,在_main之前加入了一个复位处理模块reset handler,它在系统上电复位时立即启动。标识为$sub$main的新代码块在进入主程序之前执行。复位处理模块reset handler通常是一小段汇编代码,在系统复位时执行。它至少完成应用程序中使用到的所有处理器模式的堆栈初始化工作。对于含有本地存储器系统的内核(比如含cache的ARM内核),配置工作也必须在这一段初始化过程中完成。当完成系统初始化之后,通常程序会跳向_main,开始C库函数的初始化过程。系统初始化过程一般还包括另外一些内容,中断使能等,这些大多安排在C库函数的初始化完成之后执行。$sub$main()完成这部分功能。向量表(vector table)所有的ARM系统都有一张中断向量表当出现异常需要处理时,必须调用向量表。向量表一般要位于0地址处。表2表3表4表5表6表7表8表9表10存储器配置*ROM/RAM重定向当系统启动的时候,为了保证0地址处有正确的启动代码存在,需要非易失性的存储器。
《使用ADS1.2进行嵌入式软件开发(下).》由会员jiups****uk12分享,可在线阅读,更多相关《使用ADS1.2进行嵌入式软件开发(下).》请在金锄头文库上搜索。
建立安全生产长效机制-共创和谐平安输气管道
土石方爆破工程设计方案
康师傅百货商场制度汇编之退换货管理办法
庙头中学2012年中考百日誓师大会学生代表发言稿
围堰拆除爆破工程
华能洱源马鞍山风电场工程土石方爆破管理制度
国资委:全面开展管理提升活动-为培育世界一流企业奠定坚实基础
《专业技术人员职业发展与规划》电子书
应收票据审计方案
建筑给水排水与采暖工程质量验收用表
广播电视管理条例行政处罚裁量标准
广东电力系统调度运行操作管理规定
建筑给排水工程名词解释
幼儿园小班安全健康活动教案:宝宝误食后的急救
建业集团房屋建筑工程交房标准内容技术交底
建筑心理学论文(1)
康师傅百货商场制度汇编之工服管理程序009
建筑工程专业一级建造师继续教育培训结业报告20
廉洁风险防控回头看工作汇报材料
平台工作人员服务规范
2024-03-26 4页
2024-03-26 4页
2024-03-26 4页
2024-03-26 3页
2024-03-26 4页
2024-03-26 3页
2024-03-26 4页
2024-03-26 4页
2024-03-26 3页
2024-03-26 4页