The invention discloses a software programming and assembly linking method suitable for real-time control of processors, which includes the following steps: dividing all functions into several groups, the assembler performs lexical and grammatical analysis of each function definition, and records the information of each function in the function information chain, in which each function is divided into several groups. The information is a node in the function information chain, and the definition of each function group is analyzed. The information of each function group is recorded in the function information chain. This method can dynamically adjust the mapping between the logical address and the physical address of the processor.
【技术实现步骤摘要】
适用于处理器实时控制的软件编程及其汇编链接方法
本专利技术属于嵌入式系统软件领域,涉及一种适用于处理器实时控制的软件编程及其汇编链接方法。
技术介绍
现有一款处理器,其存储器包括SRAM存储器和只读指令存储器(ROM),该处理器特点为所接存储器的物理地址空间大于其逻辑地址空间。为方便下文叙述,指定其逻辑寻址空间大小为64K字节,所接SRAM大小为32K,ROM大小为128K。在处理器设计上,其逻辑地址的低32K字节被固定映射到SRAM存储器,高32K字节为用户程序USER_PROGRAM空间,映射到ROM特定的段,每个段大小为32K。逻辑地址高32K字节到存储器物理地址的映射关系通过一个空间映射寄存器MAP_REG控制,其关系如下:physical_addr=(MAP_REG-1)*0x8000+logicl_addrphysical_addr表示ROM存储器物理地址,logical_addr表示高32K逻辑地址,MAP_REG寄存器存储处理器当前映射的ROM段的基址,控制物理地址起始位置相对于逻辑地址的偏移。在实际使用中,该处理器的应用环境要求对程序的执行时间进行精确控制,即每组任务的执行时间应少于指定的时间。且在装载可执行程序时,程序的大小会大于32K字节,所以要求对处理器的逻辑地址与物理地址的映射进行动态调度以加载相应的函数,然而现有公开文件中没有出现相应的技术。
技术实现思路
本专利技术的目的在于克服上述现有技术的缺点,提供了一种适用于处理器实时控制的软件编程及其汇编链接方法,该方法能够动态调整处理器逻辑地址与物理地址的映射。为达到上述目的,本专利技术 ...
【技术保护点】
1.一种适用于处理器实时控制的软件编程方法,其特征在于,包括以下步骤:将所有函数划分为若干组,汇编器对每个函数定义进行词法及语法分析,并将每个函数的信息均记录于函数信息链表中,其中,每个函数的信息为函数信息链表中的一个节点;同时对每个函数组定义进行分析,将每个函数组的信息记录于函数组信息链表。
【技术特征摘要】
1.一种适用于处理器实时控制的软件编程方法,其特征在于,包括以下步骤:将所有函数划分为若干组,汇编器对每个函数定义进行词法及语法分析,并将每个函数的信息均记录于函数信息链表中,其中,每个函数的信息为函数信息链表中的一个节点;同时对每个函数组定义进行分析,将每个函数组的信息记录于函数组信息链表。2.根据权利要求1所述的适用于处理器实时控制的软件编程方法,其特征在于,每个函数的信息均包括函数的函数名、函数包含的指令的机器码、函数的起始物理地址及函数的结束物理地址。3.根据权利要求2所述的适用于处理器实时控制的软件编程方法,其特征在于,每个函数组的信息均包括函数组的id以及函数组包含的函数名。4.一种适用于处理器实时控制的汇编链接方法,其特征在于,基于权利要求3所述的适用于处理器实时控制的软件编程方法,包括以下步骤:在ROM中定义函数入口地址数组USR_PROG_ARR及空间映射配置数组MAP_REG_ARR,其中,通过USR_PROG_ARR数组记录每个函数的起始物理地址,同时通过USR_PROG_ARR数组按顺序连续存放各个函数组中的函数,每个函数组起始处对应的元素为该函数组的id;MAP_REG_ARR数组记录每个函数所在的ROM段的基址,MAP_REG_ARR数组中的元素与USR_PROG_ARR数组中的函数一一对应,MAP_REG_ARR数组中的元素值由函数的起始物理地址与ROM段的大小相除再取整得到,MAP_REG_ARR数组中的元素值与MA...
【专利技术属性】
技术研发人员:梅魁志,赵海波,伍健,郑斐,李恒杰,张瑞智,程军,舒伟华,谷新宇,
申请(专利权)人:西安交通大学,
类型:发明
国别省市:陕西,61
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。