首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到19条相似文献,搜索用时 140 毫秒
1.
采用嵌入式系统研制一种多协议转换器,研究了一种基于特征字符集的协议解析方法,建立了单串口指令序列及序列接收的控制模型,采用特征字符协议解析法,实现对该串口外设数据的自主采集和提取.指令序列和协议解析方法可选择、可配置,可满足对多种不同协议的解析和转换.  相似文献   

2.
潘雁  祝跃飞  林伟 《软件学报》2019,30(6):1778-1792
软件程序是按一定顺序排列的指令序列,指令的排列组合构成了千变万化的程序语义.指令顺序重排通常会相应地导致程序语义的变化,通过分析相邻指令序列的相对独立性,可以在不影响程序语义的前提下交换相邻指令序列,增大指令距离,改变程序特征,在一定程度上增加逆向分析代价.通过改进程序的形式化定义论证相邻指令交换的充分条件,采用模拟退火算法实现随机化的指令乱序混淆方法,并将指令乱序方法与虚拟机代码保护技术融合,实现基于指令乱序的虚拟机代码保护系统IS-VMP,使用加密算法实例进行系统测试,验证了指令乱序混淆算法的可行性与有效性.  相似文献   

3.
随着嵌入式产品设计上对系统资源、功耗和处理器性能的要求越来越高,对嵌入式系统软件的优化显得愈发重要.本文基于ARM9TDMI内核,从指令调整、寄存器分配、条件分支和循环结构等方面对汇编代码的优化方法进行了详细的论述.  相似文献   

4.
针对反编译中传统的基于机器SLED描述以及基于语言文法分析的二进制代码指令解码技术复杂、难于移植等缺点,提出了基于IDA Pro的ARM指令解码器的设计思想.该指令解码器在分析IDA Pro内部数据表示的基础上,扩展定义了指令操作数类型及其线性字符串表示,设计连接器提取指令的各语义要素,并且提出了基于静态分支转移的递归算法构建控制流图.实验结果表明,生成结构化汇编结果文件可以有效支持ARM反编译的后续工作.  相似文献   

5.
黄厚华  刘嘉祥  施晓牧 《软件学报》2023,34(8):3853-3869
ARM针对ARMv8.1-M微处理器架构推出基于M-Profile向量化扩展方案的技术,并命名为ARM Helium,声明能为ARM Cortex-M处理器提升达15倍的机器学习性能.随着物联网的高速发展,微处理器指令执行正确性尤为重要.指令集的官方手册作为芯片模拟程序,片上应用程序开发的依据,是程序正确性基本保障.主要介绍利用可执行语义框架K Framework对ARMv8.1-M官方参考手册中向量化机器学习指令的语义正确性研究.基于ARMv8.1-M的官方参考手册自动提取指令集中描述向量化机器学习指令执行过程的伪代码,并将其转换为形式化语义转换规则.通过K Framework提供的可执行框架利用测试用例,验证机器学习指令算数运算执行的正确性.  相似文献   

6.
虚拟机技术广泛应用于代码移植、跨平台计算和模拟硬件机器、嵌入式系统模拟等领域.该技术以软件的方式构建通用机器的硬件的仿真环境,实现机器指令在处理器中的运算过程.在介绍了虚拟机原理的基础上,设计并实现了基于多线程的ARM虚拟机,初步模拟了ARM9的指令执行过程.  相似文献   

7.
面向嵌入式系统的编译器,往往需要同时考虑目标代码的性能、大小和功耗等相互冲突的目标.ARM双指令集处理器,在具备通常的32位ARM指令集基础上,还支持一个缩减的16位Thumb指令集,因而为代码优化提供了多个目标之间折衷的机会.由于同一个程序的Thumb代码比相应的ARM代码执行更多的指令,因此虽然前者常比后者占用更少的存储空间,但消耗更多的运行时间.针对这种现象,文中建议一个混合演化算法,通过把程序的不同部分有选择地编译成ARM或Thumb指令集代码,使得可灵活地权衡目标代码大小和运行时间.文中的方法基于遗传算法和关键事件禁忌搜索相融合,后者用来局部搜索.指令选择以函数为单位,从对程序动态行为的profiling分析求得程序运行时间.实验结果表明,文中的技术可有效地、灵活地权衡目标代码大小和性能,并且适用于其它的双指令集处理器.  相似文献   

8.
ARM7TDMI-S在嵌入式系统中的Bootloader代码设计   总被引:7,自引:0,他引:7  
ARM7TDMI-S是ARM公司设计的一款32位精简指令集处理器内核,LPC210x系列是飞利浦半导体公司生产的基于ARM7TDMI-S内核的芯片。在嵌入式系统设计中,针对嵌入式处理器和操作系统的Bootloader代码的设计是一个难点。本文根据用LPC2106进行嵌入式系统设计的实际经验,总结出基于ARM7TDMI-S内核的嵌入式处理器芯片的Bootloader代码设计的一般流程;给出LPC2106芯片在基于μC/OS-II操作系统的嵌入式应用中,BootLoader程序的详细设计流程及其中的一些关键技术和代码。  相似文献   

9.
ARM公司发布了特别为非接触式和USB智能卡以及嵌入式安全应用而设计的ARM SeeurCores C300处理器。这一新产品是基于广受欢迎的Cortex—M3处理器,结合了目前被全球智能卡广泛授权使用的32位RISC CPU——ARM SeeurCore处理器已获证明的安全特性,以及Thumb-2指令集架构的代码效率,将功耗效率和性能提高了1倍。  相似文献   

10.
基于ARM的嵌入式Linux操作系统移植的研究   总被引:9,自引:0,他引:9  
随着ARM技术的广泛应用,建立基于ARM构架的嵌入式操作系统已成为当前研究的热点.本文结合实例论述了基于ARM9核的微处理器上的嵌入式Linux操作系统的移植技术,讨论了uClinux内核的移植过程中内核代码裁剪,介绍了移植uClinux的基本实现过程.  相似文献   

11.
介绍了嵌入式系统领域中的常用RISC微处理器——ARM处理器的ARM指令集与Thumb指令集,分析了应用程序的ARM代码与Thumb代码的各自的优势与不足,研究了生成高密度、执行效率高的混合代码的方法。  相似文献   

12.
分析了KGDB的工作原理,讨论了KGDB在ARM Linux嵌入式系统上的实现,并以三星S3C2410处理器为例,给出了使用KGDB在ARM Linux上调试内核及模块的方法.该方法可移植性强,为在ARM Linux上从事内核及驱动程序开发的人员提供了源码级调试的有效手段.  相似文献   

13.
针对ARM程序高层代码混淆存在盲目性较强而降低混淆准确度,且很容易被逆向还原的问题。从ARM汇编指令底层研究ARM程序混淆,通过结合ARM架构指令系统的特点,基于模式切换提出一种ARM汇编代码混淆算法,包括指令模式切换混淆、寄存器随机分配混淆和虚假指令混淆,使混淆后汇编代码的控制流变得更加复杂,且对切换地址的寄存器混淆也提高了动态调试跟踪的难度。模式切换及虚假指令混淆也会造成反汇编错误,从复杂强度、逆向弹性和性能开销三方面进行测试评估。测试结果表明,该混淆算法不仅有效地提高了程序的控制流循环复杂度,而且能够抵抗反汇编工具的逆向分析。该混淆算法引发的额外体积开销和时间开销较低,具有实用性。  相似文献   

14.
In embedded systems, small code size is important due to memory constraints. One technique to achieve a small code size is reducing the instruction encoding from 32-bit to 16-bit, such as the ARM THUMB or MIPS-16 architectures. This half-size encoding leads to shorter register operands, making fewer registers available for register allocation and causing more spills, although invisible registers can be used as spill locations via copies. We propose reconstructing the original register file into dual-banks, added with the bank toggle instruction for bank changes and the inter-bank copies between the banks. We also propose an efficient dual-bank register allocation technique based on regions in the code to reduce spills. As a case study, we applied our banked register allocation model for the THUMB architecture. We found that the code size decreases by as much as 8% (5.8% on average) while the performance improves by as much as 11.1% (3.3% on average). Our results indicate that we would better organize the register file of an embedded CPU that can provide reduced encoding into dual banks for better quality of register allocation, rather than using the invisible registers for spills.  相似文献   

15.
MX1体系结构采用ARM920T内核,针对它构建嵌入式Linux平台,把Gameboy模拟器(以下统一称为Gnuboy)移植过去;对Gnuboy的源代码进行修改,在宿主平台上交叉编译,编译好的可执行文件烧入测试板上运行,这是移植的过程;Gnuboy在嵌入式环境下面临速度慢的问题,可以对原先的一些C函数用ARM汇编改写来加快速度,这里用到基于图着色技术的寄存器分配算法的一种简化方法,用这种方法对Gnuboy源代码中的几个函数进行了优化处理,优化效果可用相应的工具软件进行测试;这些移植和优化研究工作,目的是为了把Gnuboy应用到基于ARM Linux的嵌入式产品中,同时对研究该平台下一般的虚拟机技术应用也有相应的价值.  相似文献   

16.
为实现高效的C语言代码编写,将Matlab/Simulink应用在基于ARMCortex—M3内核STM32微控制器的嵌入式系统软件开发中。利用专门针对STM32系列微控制器开发的Simulink模块库RapidSTM32及其工具套件,对嵌入式系统进行建模与仿真。仿真成功后,在模型编译器中把其翻译成高效的MDKC语言代...  相似文献   

17.
实现嵌入式系统任务的并行性是改善系统性能的基本手段.通过分析影响嵌入式系统性能的主要因素,采用了基于线程概念的嵌入式系统并行设计方法,利用指令级并行来改善系统性能.主要论述了线程集成的实现方法,通过编译技术在指令级代码中融合多个线程,从而实现任务的并行性,并将该方法应用于仪器仪表显示模块的设计.  相似文献   

18.
底层虚拟机混淆器(OLLVM)是一个著名的代码混淆工具,除了用于保护商业软件的安全外,也被恶意代码的开发者所利用,以此增加分析难度。为便于安全研究人员对ARM恶意程序进行分析,提出并实现了基于动态分析的OLLVM自动化反混淆方法。对于虚假控制流,根据不透明谓词的内存特征监控内存读写并利用动态污点分析技术识别虚假控制流来完成反混淆;对于控制流平坦化,通过动态运行程序并记录基本块的执行顺序来完成反混淆;同时利用多执行路径构造来提高代码覆盖率,最后通过指令修复还原基本块之间的关系。实验结果表明,该方法可准确消除可执行程序中因混淆产生的条件分支,且反混淆后得到的程序其运行结果与未混淆的程序保持一致,能有效完成对ARM混淆程序的反混淆工作。  相似文献   

19.
本文是在基于ARM FPGA的硬件平台上进行嵌入式运动控制系统的设计,ARM实现应用管理,FPGA实现插补运算,发出脉冲到伺服驱动系统,形成运动指令控制伺服电机运转等。文中对FPGA模块内部设计和控制方法的实现进行了详细阐述,并且给出了调试的结果。  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号