一、FoxPro程序中嵌入C语言函数的技术(论文文献综述)
胡尔西代姆·伊米提[1](2022)在《计算机程序设计中C#和汇编语言混合程序设计研究》文中认为C#和汇编语言被广泛地应用于计算机各类软件的编程中,是两种具有不同特征的编程语言。在计算机程序设计中,C#和汇编语言混合编程,通过发挥各自的优势,实现两种语言之间的转化,可以提升软件运行效率,实现两种语言共通。主要对计算机程序设计中C#和汇编语言混合程序设计进行了研究,希望能够为计算机程序设计提供一些帮助。
周洁[2](2021)在《基于深度学习的C语言代码缺陷定位方法研究与应用》文中研究说明C语言作为结构化程序设计语言的代表,被众多高校确定为理工科各专业的必修课程,提高编程实践能力是该课程的重要教学目标之一。为了更好提高的学习者的编程能力,在线测评系统(Online Judge)或实验支持系统成为需求迫切的教学支持平台。此类教学平台的作用是对学生提交的程序代码通过黑盒测试方式进行自动评测,并给出评判结果,促进课程的实践教学效果。然而,目前的大多数平台都只能给出评测结果,而不能对学习者的代码缺陷进行定位,以帮助学习者尽快发现代码中的问题。本文针对代码缺陷定位方法展开研究工作,主要研究内容包括:首先,本文提出了一种基于深度学习的C语言代码缺陷定位方法。该方法不同于以往的利用缺陷报告或者以缺陷代码形成训练库的代码缺陷定位方法,而是基于OJ系统存在的大量正确代码形成检测模板,即将大量正确的代码作为训练数据通过深度学习技术进行训练构建代码模板库,通过找出与提交代码最相似的模板代码,对缺陷代码进行缺陷定位。具体地,该方法将C语言代码表示为抽象语法树(AST)的形式,并对AST进行子树拆分,使用Word2vec词嵌入技术对代码进行编码,输入神经网络模型进行特征提取,构建代码模板库;在检测阶段将缺陷代码与代码模板库中的代码进行相似度计算,找出最相似的模板代码,通过逐句地词法分析找出缺陷语句,从而实现C语言代码的缺陷定位。通过对两个数据集以及相应测试集的构建来进行方法的有效性验证,结果表明本文的方法具有较好的缺陷定位效果。其次,本文探索了该方法在C语言课程教学实验系统的应用,通过在实验代码提交页面添加“错误提示”功能,对代码的逻辑缺陷进行检测并反馈给学生,帮助学生更快地发现代码中可能存在的缺陷语句。最后,本文给出了针对该功能的可用性测试、性能测试、以及安全性测试结果,证明该方法在实际系统中的有效性。
郭涛[3](2021)在《基于ARM DS-5平台设计ThreadX嵌入式实时操作系统关键技术开发及应用》文中进行了进一步梳理随着嵌入式系统技术的日益成熟,处理器的运算能力越来越强大,运算速度越来越快,人们对于嵌入式系统的应用也越来越多。但是在许多工业应用中,对于所使用工具的安全性和可靠性有极高的要求,一般的嵌入式操作系统,如Linux,安卓等还不能满足工业级别的安全要求,这就对既能够达到工业级安全认证要求,又可以快速运算的嵌入式系统产生了迫切的需求。本文所阐述的是一款同时拥有IEC 61508安全完整性三级认证(SIL 3)和共通准则第六级(EAL 4+)等高级认证的嵌入式实时操作系统ThreadX RTOS。它由Express Logic公司(现已被微软收购)开发,具有高性能,高可靠性的嵌入式实时操作系统。与其它实时操作系统不同,ThreadX具有通用性,使基于RISC(reduced instruction set computer 简化指令集计算机)和 DSP(DigitalSignal Processing数字信号处理)的小型微控制器的应用程序易于升级,现在已经被广泛应用于手机、智能手表、智能手环的基带,以及打印机、数码相机等设备中。i.MX 6Quad则是由恩智浦(NXP)公司研发的搭载了四个Cortex-A9内核的高性能四核处理器。Cortex-A9处理器是由ARM推出的一款,基于ARMv7架构的多核处理器,Cortex-A9多核处理器是第一次结合了 Cortex架构以及用于可以扩展性能的多处理能力的ARM架构处理器。ARM DS-5是我们选择用来开发Cortex-A9处理器的集成开发环境,它是由ARM官方推出的一款,基于Eclipse的调试器,它可以用来调试全部的ARM处理器,其中包括:较早的ARMv9、ARMv11等系列处理器,以及较新的Cortex-A7、Cortex-A9、Cortex-A15 等 Cortex-A 系列,以及 Cortex-R 系列和 Cortex-M 处理器。本文将详细介绍基于ARM DS-5开发平台设计ThreadX RTOS嵌入式实时操作系统关键技术的研究,详细介绍嵌入式操作系统移植技术,完成在i.MX 6Quad四核高性能处理器上的各项移植工作。
周文迪[4](2021)在《面向C程序的软件功耗评估方法研究与应用》文中进行了进一步梳理近年来,随着物联网以及人工智能的飞速发展,计算机的计算性能和信息处理能力得到了极大提升。然而计算机硬件设备的运算速度越快,运行的应用程序越复杂,设备消耗的电量也越大。由于受到计算机硬件设备大小和芯片制作工艺的约束,降低计算机硬件功耗变得越来越困难,所以从软件层面降低功耗的办法受到了普遍关注。而软件功耗评估作为软件功耗优化研究的基础,更是成为了重点研究对象。现有软件功耗评估方法大多集中于软件功耗的建模与优化上,研究者通过建立相应的软件功耗模型来评估软件功耗,进而为软件功耗的优化指明方向。软件功耗的建模分析方法往往是针对具体的应用软件,然而在系统软件的功耗特性方面并没有统一的评价标准。并且现有研究大都处于理论层面,实际应用与评估工具较少。C语言作为一种当前主流的程序设计语言,凭借其灵活以及性能优势,在嵌入式软件、数据存储、操作系统等方面得到了广泛应用。因此本文以有效评估软件功耗为目标,以C程序为例,分别对系统软件功耗和应用软件功耗的评估方法进行了研究。对于系统软件功耗的评估,本文通过对C程序具体语句的测量,在分析其功耗特性和现有基准技术的基础上提出了一套系统软件功耗的评估基准CEC(C Energy Consumption)-Bench Mark。对于应用软件功耗的评估,本文对软件功耗评估工具HMSim进行了改进,优化了其功耗评估算法和用户交互方式,设计实现了评估工具B-HMSim。最后,对提出的评估基准CEC-Benchmark和评估工具B-HMSim进行了实验验证。总的来说,本文的创新主要有以下几个方面:1.对C程序不同类型语句的软件功耗进行实际测量,分析总结了C程序语句的功耗特性,并提出了C程序语句的软件功耗优化策略。2.设计了评估基准CEC-Benchmark和综合评价指标R,系统的综合评价指标R越小,说明在该系统软件下执行C程序耗能越小。3.参考算法级建模分析方法,从时间和空间两个维度对C程序软件功耗产生的原因进行分析,提出了一种函数软件功耗的评估方法,并在HMSim的基础上设计实现了评估工具B-HMSim。功耗目前已经成为软件评估的重要指标,本文设计的CEC-Benchmark和B-HMSim可以有效的帮助嵌入式软件开发人员对软件功耗进行评估与优化。CEC-Benchmark能够有效评估系统软件的功耗特性,综合评价指标R可以有效的帮助嵌入式开发者选择和优化系统软件。在设计C程序应用软件时,开发者可以利用B-HMSim来评估其功能函数的功耗,进而对算法和程序进行优化,减少软件的能量消耗。
谢文光,李琪,马春燕,汪克念,尹伟,张涛[5](2021)在《嵌入式处理器P2020机器码程序到C语言源程序的溯源方法》文中提出处理器PowerPC P2020在航空航天等嵌入式领域被广泛应用,以RTCA/DO-178C中A级软件的适航要求作为研究的出发点,提出了从文件、函数声明、函数体代码3层次实现P2020机器码程序到C源程序的溯源方法。在获取C语言源程序与PowerPC P2020机器码程序文件名列表的基础上,实现PowerPC P2020机器码文件主名的溯源;通过遍历C源程序抽象语法树和PowerPC P2020机器码获取函数名列表,实现PowerPC P2020机器码函数声明的溯源;通过定义C语言程序抽象语法树节点生成期望汇编指令序列的规则,实现PowerPC P2020机器码函数体的溯源。通过设计245个C源程序文件与345个PowerPC P2020机器码程序文件,1 111个C语言函数声明与1 273个PowerPC P2020机器码函数声明,以及覆盖C语言程序23类语法结构的460个测试用例,验证了PowerPC P2020机器码程序到C源程序的自动化溯源方法的有效性。结果表明:文件溯源和函数声明溯源的追溯匹配率达100%,程序函数体代码的平均溯源匹配率达97.22%。溯源匹配结果可以检查PowerPC P2020机器码程序是否在编译过程插入例外异常代码,以防止其带来的安全隐患,保证航空航天嵌入式安全关键软件机器码的安全性和可靠性。
潘华稳[6](2020)在《面向C语言软件的单元与集成测试工具的设计与实现》文中进行了进一步梳理软件测试是保障软件质量的重要手段,包含单元测试、集成测试、配置项测试、系统测试等多个测试过程。单元测试对软件的最小可测试单元进行检查和验证,是最低级别的软件测试过程。集成测试作为单元测试的扩展,能够验证各单元集成时发生的问题。在实际应用中,由于测试工作量巨大,单元测试过于以覆盖率为主要目标而忽视功能测试,集成测试又没有有效的测试评价手段,测试的投入产出比很低,加之测试过程完全依赖人工,或者使用不够简单易用且基本来自国外的测试工具,导致单元与集成测试常常流于形式,在单元测试时只考虑覆盖率,集成测试更是简单测试或直接略过,未能真正起到保障软件质量的作用。没有易用的测试工具是出现以上问题的主要原因之一。本文试图立足于工程应用需求,充分分析单元测试和集成测试在工程应用中的问题,设计实现一款适用于实际工程应用的、简单易用的国产化单元与集成测试工具。工具能够自动抽取函数单元的接口信息、函数内的控制流关系、函数间的调用关系,并提供控制流关系和函数调用关系的可视化显示,提供表格化的易用型用例设计界面,可自动化生成用例脚本和桩函数、驱动函数脚本,支持自动化的覆盖率统计分析、代码覆盖率标注和控制流关系、函数调用关系的覆盖率染色标注。工具将集成测试作为独立的测试过程,不依赖于单元测试,结合学术研究,支持多种默认的集成测试方案和可定制方案选择。测试完成后,工具支持可定制报告导出。本文的研究试图解决在工程应用中无易用单元与集成测试工具的问题,希望通过对工具的使用,减少测试人员不必要的工作量投入,如覆盖率计算、用例脚本和测试报告编写等,集中测试人员精力进行用例设计,从而发现问题,提高投入产出比,提升测试效率,并最终实现单元与集成测试工具的国产化替代。
苏彤[7](2020)在《基于SIMD-DSP的LU分解算法的优化与实现》文中研究表明LU分解运算是密集型运算的经典算法,由于具有着广泛的应用范围和重要的应用价值,一直以来都处于核心地位。但是,当LU分解算法在SIMDDSP硬件平台上实现时仍会面临没有充分使用硬件运算单元与数据传输总线,内存访问冲突等问题,这些问题使得算法在硬件平台上的性能无法达到理想水平。由此可见,利用软件优化方法在硬件平台上实现LU分解依然值得研究。本课题基于国产SIMD架构的数字信号处理芯片BWDSP1042,设计具有高精度、高实时性的LU分解算法库。本文首先介绍了 BWDSP1042处理器的内核结构、流水线、内存空间分配与指令系统,深入理解硬件特点是优化与实现LU分解并行算法的前提。其次,阐述了C语言版LU分解函数的设计过程,构建了算法的主体框架与运行环境。最后研究了基于BWDWP1042的汇编版LU分解算法,消除了矩阵乘法运算过程中的非连续访存,充分利用硬件运算资源与数据传输总线,通过软件优化的方式,加快了循环中任务间的通信,减少了因通信带来的访存延时和访存冲突,进一步提升了LU分解算法的性能。本文给出了 LU分解算法研究的详细过程,并与主流高性能DSP芯片TMS320C6678内部函数库的运行周期和运行时间进行对比。在测试用例相对全面的情况下,对C语言版本和汇编版本函数进行测试,确保函数的正确性和可靠性。仿真与实验结果表明,在BWDSP1042平台实现的LU分解函数充分利用了 SIMD架构的特点挖掘算法的并行性,汇编版函数与串行版C函数相比,当矩阵点数为32*32时效率提升了 26.75倍,点数为64*64时效率提升了 34.61倍,点数为128*128时效率提升了 42.95倍。与TMS320C6678相比,当矩阵点数为128*128时,运行时间比接近内核频率比。C版函数与汇编版函数所有测试结果的误差均小于等于10-7数量级,远优于库函数设计指标要求的10-4数量级。该函数满足雷达实时信号处理领域对函数库高稳定、高精度以及高性能的工程需求。
任路遥[8](2020)在《面向对象程序的自动化单元测试框架研究与设计》文中研究表明单元测试是对软件中的基本组成单位(如模块、过程、函数或类)进行的测试,在保障软件质量的过程中发挥重要作用。面向对象语言是一类以对象作为基本程序结构单位的程序设计语言。面向对象程序中涉及到复杂逻辑结构的单元测试具有一定的难度,是单元测试方向研究的热点之一。面向对象程序的自动化单元测试框架,能提高面向对象程序的单元测试效率,减轻测试人员繁重的单元测试任务,有效的降低面向对象软件开发的成本。面向对象程序自动化单元测试框架的研究有很大的技术难度,目前国内此类单元测试框架较少,且多为在国外成熟的测试框架基础上进行的二次设计。本文调研了国外成熟的面向对象程序的自动化单元测试框架设计,以及传统的面向过程程序的自动化单元测试框架设计,总结了面向对象程序的自动化单元测试框架的设计原则与原型设计。在此基础上做了两点研究:一、对面向对象程序的单元测试中存在的问题进行了研究,分析了面向对象程序自动化单元测试框架要解决的功能和性能两类需求。功能方面,研究了面向对象语言中常见的权限访问、类属性、函数重载等特性引入的单元测试问题。性能方面,研究了自动化测试框架常见的多程序测试内存性能问题以及实际执行环境的平台适应性问题。由于面向对象语言的丰富度颇多,本文选取C++这一流行的面向对象语言,作为研究面向对象语言的切入点。二、在原型设计的基础上,结合上述需求,本文设计了一种面向对象程序的自动化单元测试框架(Code Test System for Cpp,CTSCpp),用以对C++程序进行自动化的单元测试。功能方面,该测试框架可以自动化的为C++程序进行预处理、静态分析、构建测试环境,自动的生成测试用例,并动态执行获得覆盖率信息。性能方面,采用前后端分离的形式,运用序列化的技术手段,用硬盘资源换取内存资源,防止测试框架执行过程中发生内存溢出;并采用适配器模式,针对预处理、动态执行等操作,设计了适配器模块,丰富了测试框架的拓展性。作者在实际工程中实现了上述面向对象程序的自动化单元测试框架,并通过实际程序进行了验证检验。结果表明,本文研究与设计的面向对象程序的自动化单元测试框架具有可行性。其能够实现对面向对象程序进行自动的程序解析、单元提取、覆盖率测试等功能。
凌波[9](2020)在《基于缺陷上下文深度学习的程序修复方法》文中研究说明由于近些年来软件程序应用领域逐渐扩大,这便导致软件规模也会随之变大。因为程序中日渐增加的缺陷会导致程序运行时出现错误的频率越来越大,这种缺陷程序存在的隐患将会影响到整个软件领域。所以,尽可能提前的发现并且修复程序中可能存在的缺陷,是当前软件工程学科中非常值得研究的方向。在修复程序缺陷的问题上,自动修复编程错误,也称为程序修复,在一定程度上提高了修复程序缺陷的效率,推动了软件开发的进程。然而,目前的程序修复方法仍然存在修复率低以及修复类型少等问题,修复效果有待提升。在程序修复的语法错误修复方面,对于修复部分缺陷程序语句,有时可能需要分析整个程序结构,从而浪费了大量的有效时间。而在对程序修复的语义错误修复方面,对程序语句进行有效的结构语义分析又成为了目前语义错误修复的主要限制。针对上述问题,本文提出了一种基于缺陷上下文的深度学习方法来进行错误程序的自动修复,主要分为不考虑编译信息的语法错误修复方法、考虑编译信息的语法错误修复方法和语义错误修复方法。首先,对于修复程序语法错误,本文采用不考虑编译信息的语法错误修复方法和考虑编译信息的语法错误修复方法,采用编译器对程序语句分别进行不编译和编译处理,在该处理的基础上再利用深度学习技术对程序的缺陷语句进行预测并得到对应修复。其次,对于修复程序语义错误,本文主要是采用语义错误修复方法,将基于历史缺陷修复程序对的自动程序修复转化为一个机器学习问题,即挖掘同一个编程任务的大量历史缺陷修复程序对中的缺陷修复上下文作为学习语料,对缺陷程序中存在语义错误的程序语句进行有效修复。另外,本文对所提出的不考虑编译信息的语法错误修复方法、考虑编译信息的语法错误修复方法和语义错误修复方法进行了实验评估。实验结果表明,本文提出的不考虑编译信息的语法错误修复方法比当前自动程序修复方法在学生错误程序生成的数据集上进一步修复了缺陷程序。本文提出的考虑编译信息的语法错误修复方法和语义错误修复方法也在该数据集上可以分别修复一定的对应错误类型缺陷程序。
陈东奇[10](2020)在《BM3823的操作系统移植和驱动开发》文中提出随着航天事业的不断发展,对航天器中操作系统的可靠性和功能多样性的要求越来越高。但开发专用的航天操作系统价格十分昂贵,而Linux操作系统源码开放,将Linux移植到航天器件中开发成本较低。同时Linux性能优异、运行可靠、可扩张性强非常有利于开发,支持多种架构类型,可以根据不同硬件结构进行按需裁剪,逐渐被应用在航天领域,所以研究移植Linux操作系统到航天器件中具有重要意义。本文基于BM3823开发板,研究和实现移植Linux操作系统。为了正确加载Linux,在分析SPARC V8架构基础上,先实现移植U-Boot。在U-Boot中建立对应硬件的设备树结构,完成向Linux传递启动参数和设备树结构的功能,将U-Boot作为Bootloader引导Linux启动。分析Linux操作系统结构和机制后,在Linux中实现基于SPARC V8架构的启动过程,完成Linux解析传入的启动参数和设备树结构,初始化MMU,挂载根文件系统后运行应用程序等功能。在BM3823开发板上,用U-Boot引导Linux镜像文件正确运行,并对Linux操作系统进行测试。为了完善Linux操作系统的功能,在成功移植的基础上,进行DMA驱动程序的开发。根据DMA硬件,开发DMA驱动程序和相应的测试程序。通过实现对DMA传输的多种参数进行配置,验证DMA驱动程序功能的正确性和完整性,并对DMA传输速度进行测试,分析影响DMA传输速度的因素。最终DMA传输结果正确,进一步验证了Linux操作系统和DMA驱动的功能正确性。
二、FoxPro程序中嵌入C语言函数的技术(论文开题报告)
(1)论文研究背景及目的
此处内容要求:
首先简单简介论文所研究问题的基本概念和背景,再而简单明了地指出论文所要研究解决的具体问题,并提出你的论文准备的观点或解决方法。
写法范例:
本文主要提出一款精简64位RISC处理器存储管理单元结构并详细分析其设计过程。在该MMU结构中,TLB采用叁个分离的TLB,TLB采用基于内容查找的相联存储器并行查找,支持粗粒度为64KB和细粒度为4KB两种页面大小,采用多级分层页表结构映射地址空间,并详细论述了四级页表转换过程,TLB结构组织等。该MMU结构将作为该处理器存储系统实现的一个重要组成部分。
(2)本文研究方法
调查法:该方法是有目的、有系统的搜集有关研究对象的具体信息。
观察法:用自己的感官和辅助工具直接观察研究对象从而得到有关信息。
实验法:通过主支变革、控制研究对象来发现与确认事物间的因果关系。
文献研究法:通过调查文献来获得资料,从而全面的、正确的了解掌握研究方法。
实证研究法:依据现有的科学理论和实践的需要提出设计。
定性分析法:对研究对象进行“质”的方面的研究,这个方法需要计算的数据较少。
定量分析法:通过具体的数字,使人们对研究对象的认识进一步精确化。
跨学科研究法:运用多学科的理论、方法和成果从整体上对某一课题进行研究。
功能分析法:这是社会科学用来分析社会现象的一种方法,从某一功能出发研究多个方面的影响。
模拟法:通过创设一个与原型相似的模型来间接研究原型某种特性的一种形容方法。
三、FoxPro程序中嵌入C语言函数的技术(论文提纲范文)
(1)计算机程序设计中C#和汇编语言混合程序设计研究(论文提纲范文)
1 C#与混编语言 |
1.1 C#语言程序设计 |
1.2 汇编语言程序设计 |
2 C#与汇编语言混合程序设计方法 |
2.1 C#语言调用汇编语言子程序 |
2.2 汇编语言调用C#语言子程序 |
2.3 C#语言程序设计嵌入汇编语言程序 |
3 C#与汇编语言连接的关键问题 |
3.1 参数传递 |
3.2 调用关系的确定 |
3.3 汇编语言和C#语言模块的结合 |
4 结语 |
(2)基于深度学习的C语言代码缺陷定位方法研究与应用(论文提纲范文)
摘要 |
abstract |
1 绪论 |
1.1 研究背景与意义 |
1.2 国内外研究现状 |
1.2.1 缺陷定位方法 |
1.2.2 代码表示方法 |
1.3 本文主要研究内容 |
1.4 本文结构安排 |
2 相关理论基础 |
2.1 基于深度学习的缺陷定位 |
2.2 循环神经网络及其变形 |
2.2.1 循环神经网络 |
2.2.2 长短期记忆网络 |
2.2.3 门控循环单元 |
2.3 相似度算法 |
2.4 本章小结 |
3 基于深度学习的C语言代码缺陷定位方法 |
3.1 基于深度学习的C语言代码缺陷定位框架 |
3.2 代码预处理 |
3.3 语句编码器 |
3.4 特征提取 |
3.5 模式匹配 |
3.6 缺陷定位 |
3.7 实验结果及分析 |
3.7.1 实验环境 |
3.7.2 实验数据以及参数设置 |
3.7.3 实验结果及分析 |
3.8 本章小结 |
4 基于深度学习的C语言代码缺陷定位方法实现 |
4.1 需求分析 |
4.1.1 功能性需求 |
4.1.2 非功能性需求 |
4.2 功能设计 |
4.3 代码缺陷定位的实现 |
4.3.1 代码库训练阶段 |
4.3.2 缺陷反馈阶段 |
4.4 系统应用性能和功能测试 |
4.4.1 反馈效果测试 |
4.4.2 响应时间测试 |
4.4.3 线程安全测试 |
4.5 本章小结 |
5 总结与展望 |
5.1 研究工作总结 |
5.2 工作展望 |
致谢 |
参考文献 |
攻读硕士学位期间主要研究成果 |
(3)基于ARM DS-5平台设计ThreadX嵌入式实时操作系统关键技术开发及应用(论文提纲范文)
摘要 |
Abstract |
第1章 绪论 |
1.1 研究背景与意义 |
1.1.1 为什么要使用嵌入式操作系统 |
1.1.2 操作系统移植的目的与必要性 |
1.2 嵌入式实时操作系统国内外研究现状与发展趋势 |
1.2.1 ThreadX RTOS研究现状 |
1.2.2 i.MX处理器研究现状 |
1.3 嵌入式操作系统移植的主流技术 |
1.3.1 Linux移植 |
1.3.2 BootLoad选择及对比 |
1.3.3 移植方案分析 |
1.4 主要研究内容 |
1.5 论文章节安排 |
1.6 本章小结 |
第2章 开发环境 |
2.1 开发平台 |
2.2 硬件环境 |
2.2.1 i.MX 6Quad处理器 |
2.2.2 JLink调试器 |
2.3 软件环境 |
2.3.1 ThreadX RTOS代码 |
2.3.2 固件库代码 |
2.4 本章小结 |
第3章 移植方案 |
3.1 移植方案综述 |
3.2 ThreadX RTOS内核移植 |
3.2.1 i.MX6Q开发板启动流程 |
3.2.2 ThreadX RTOS内核移植方案设计 |
3.3 固件库移植 |
3.3.1 SDK中的文档 |
3.3.2 裁剪固件库 |
3.3.3 C语言部分移植 |
3.3.4 汇编部分移植 |
3.4 GUIX移植 |
3.4.1 使用guix_medical例程 |
3.4.2 使用GUIX Studio更改配置 |
3.4.3 添加入ThreadX RTOS工程 |
3.5 本章小结 |
第4章 ThreadX RTOS内核移植实现 |
4.1 ThreadX RTOS产品介绍 |
4.2 ThreadX RTOS工作机制 |
4.2.1 初始化 |
4.2.2 线程执行 |
4.2.3 中断服务例程 |
4.2.4 程序定时器 |
4.3 软件部分 |
4.3.1 源代码 |
4.3.2 工程属性 |
4.4 硬件部分 |
4.5 本章小结 |
第5章 固件库移植实现 |
5.1 固件库综述 |
5.1.1 什么是固件库 |
5.1.2 固件库的优点 |
5.2 固件库裁剪 |
5.2.1 固件库分析 |
5.2.2 固件库裁剪 |
5.3 C语言代码移植 |
5.3.1 头文件 |
5.3.2 armcc兼容GNU C |
5.3.3 修改宏 |
5.3.4 设置mmu table |
5.4 汇编代码移植 |
5.4.1 ARM汇编语法 |
5.4.2 GNU汇编语法 |
5.4.3 移植实现 |
5.5 本章小结 |
第6章 GUIX移植实现 |
6.1 GUIX产品介绍 |
6.1.1 GUIX的特性 |
6.1.2 GUIX的优点 |
6.1.3 GUIX开发工具 |
6.1.4 GUIX源代码 |
6.2 GUIX Studio的配置 |
6.3 GUIX例程移植 |
6.3.1 库文件 |
6.3.2 头文件 |
6.3.3 中断服务 |
6.4 本章小结 |
第7章 驱动编写 |
7.1 I2C通信总线驱动 |
7.1.1 设备信息及固件库代码分析 |
7.1.2 代码实现 |
7.2 IPU显示模块驱动 |
7.2.1 设备信息及固件库代码分析 |
7.2.2 代码实现 |
7.3 GT911触屏模块驱动 |
7.3.1 硬件分析 |
7.3.2 代码实现 |
7.3.3 GT911中断配置 |
7.4 本章小结 |
第8章 调试及分析 |
8.1 FVP平台调试 |
8.1.1 scatterload问题 |
8.1.2 应用层GUIX中的问题 |
8.2 实机运行 |
8.2.1 运行画面 |
8.2.2 监控画面 |
8.3 本章小结 |
第9章 总结与展望 |
9.1 工作总结 |
9.2 工作展望 |
参考文献 |
附录 |
附录A cortexA9.s汇编代码 |
附录B I2C驱动代码 |
1 bsp_imx6_i2c.h |
2 bsp_imx6_i2c.c |
附录C IPU驱动代码 |
1 bsp_imx6_ipu.h |
2 bsp_imx6_ipu.c |
附录D触屏模块驱动关键代码 |
1 bsp_imx6_touch.h |
2 bsp_imx6_touch.c |
附录E中断控制器驱动代码 |
1 bsp_imx6_touch_eim_int.h |
2 bsp_imx6_touch_eim_int.c |
致谢 |
(4)面向C程序的软件功耗评估方法研究与应用(论文提纲范文)
摘要 |
Abstract |
第1章 绪论 |
1.1 研究背景及意义 |
1.2 软件功耗的基本定义 |
1.3 国内外研究现状分析 |
1.4 论文主要研究内容 |
1.5 论文组织结构 |
第2章 相关技术研究 |
2.1 引言 |
2.2 软件功耗的建模分析方法 |
2.2.1 指令级建模分析方法 |
2.2.2 算法级建模分析方法 |
2.2.3 体系结构级建模分析方法 |
2.3 基准测试方法 |
2.3.1 基准测试的概念 |
2.3.2 基准测试的规范 |
2.3.3 基准测试程序与综合评价指标 |
2.3.4 现有基准分析 |
2.4 评估工具HMSim |
2.4.1 HMSim概述 |
2.4.2 HMSim基本组成 |
2.4.3 HMSim软件功耗评估方法 |
2.4.4 HMSim使用 |
2.5 本章小结 |
第3章 系统软件功耗的评估方法 |
3.1 引言 |
3.2 C程序软件功耗特性分析 |
3.2.1 数据类型语句 |
3.2.2 分支语句 |
3.2.3 循环语句 |
3.2.4 函数语句 |
3.2.5 数据结构语句 |
3.2.6 面向C程序的优化策略 |
3.3 系统软件功耗评估基准CEC-Benchmark |
3.3.1 基准测试方法 |
3.3.2 基准测试程序的设计 |
3.3.3 基准综合评价指标的设计 |
3.4 本章小结 |
第4章 应用软件功耗的评估方法 |
4.1 引言 |
4.2 函数软件功耗的评估方法 |
4.2.1 函数软件功耗与时间的关系 |
4.2.2 函数软件功耗与空间的关系 |
4.2.3 函数软件功耗的评估方法 |
4.3 软件功耗评估工具HMSim的改进B-HMSim |
4.3.1 B-HMSim总体设计 |
4.3.2 B-HMSim子系统设计 |
4.3.3 B-HMSim实现 |
4.4 本章小结 |
第5章 实验验证与结果分析 |
5.1 引言 |
5.2 实验环境 |
5.3 实验验证与结果分析 |
5.3.1 面向C程序的功耗优化策略验证 |
5.3.2 系统软件功耗评估基准CEC-Benchmark有效性验证 |
5.3.3 软件功耗评估工具B-HMSim验证 |
5.3.4 函数软件功耗评估方法有效性验证 |
5.4 本章小结 |
第6章 总结与展望 |
6.1 全文总结 |
6.2 未来工作展望 |
参考文献 |
攻读学位期间取得的研究成果 |
致谢 |
(5)嵌入式处理器P2020机器码程序到C语言源程序的溯源方法(论文提纲范文)
1 PowerPC P2020机器码程序到C语言源程序的溯源需求 |
2 PowerPC P2020机器码程序到C语言源程序的溯源 |
2.1 算法概览 |
2.2 PowerPC P2020机器码程序文件主名与源文件文件主名溯源 |
2.3 PowerPC P2020机器码程序函数声明与源文件函数声明的溯源 |
2.4 PowerPC P2020机器码函数体代码与源文件函数体代码的溯源 |
2.4.1 C程序语法结构到PowerPC P2020汇编语言指令序列映射规则的定义 |
1)函数类 |
(1)函数调用节点funcCall |
(2)函数声明节点funcDecl |
2)控制语句相关节点 |
(1)if控制节点 |
(2)for循环节点 |
3)跳转类节点 |
(1)返回节点return |
(2)循环终止节点break |
4)运算类节点 |
(1)二元运算符binaryOp |
(2)单目运算节点unaryOp |
2.4.2 建立PowerPC P2020机器码程序函数体语句序列与C源程序函数体语句之间的追溯关系 |
2.5 库函数的溯源 |
3 实验验证 |
3.1 实验环境搭建 |
3.2 测试用例 |
1)文件主名溯源测试用例 |
2)函数名溯源测试用例 |
3)函数体溯源测试用例 |
3.3 实验步骤 |
1)导入源文件和机器码文件 |
2)机器码文件溯源 |
3.4 实验结果分析 |
1)文件溯源结果 |
2)函数声明溯源结果 |
3)函数体代码行溯源结果 |
4 结论和展望 |
(6)面向C语言软件的单元与集成测试工具的设计与实现(论文提纲范文)
摘要 |
Abstract |
第1章 绪论 |
1.1 研究背景与意义 |
1.2 单元测试与集成测试工具的研究进展 |
1.2.1 单元测试研究进展及工程应用现状 |
1.2.2 集成测试研究进展及工程应用现状 |
1.2.3 单元与集成测试工具研究进展 |
1.3 本文主要研究内容 |
第2章 工具架构设计 |
2.1 工具需求分析 |
2.1.1 功能需求分析 |
2.1.2 非功能需求分析 |
2.2 工具整体架构设计 |
2.3 基础分析模块功能分析 |
2.4 用户交互模块功能分析 |
2.5 用例执行模块功能分析 |
2.6 小结 |
第3章 基础分析模块详细设计与实现 |
3.1 语法分析功能设计实现 |
3.1.1 语法分析功能介绍 |
3.1.2 语法分析功能实现 |
3.2 控制流程图构造实现 |
3.3 函数调用图构造实现 |
3.4 小结 |
第4章 用户交互模块详细设计与实现 |
4.1 基于Eclipse RCP的工具客户端实现 |
4.2 基于Eclipse插件扩展的用户交互实现 |
4.3 测试工程管理功能设计实现 |
4.3.1 单元测试工程设计实现 |
4.3.2 集成测试工程设计实现 |
4.4 测试用例编辑器设计实现 |
4.4.1 单元测试用例编辑器设计实现 |
4.4.2 集成测试方案设计 |
4.5 小结 |
第5章 用例执行模块设计实现与工具应用验证 |
5.1 自动生成用例脚本功能设计实现 |
5.2 用例执行业务流程设计 |
5.3 覆盖率统计分析功能的设计实现 |
5.3.1 代码覆盖率介绍 |
5.3.2 源代码插装功能设计 |
5.3.3 覆盖率分析计算功能设计 |
5.4 可定制化测试报告生成功能设计实现 |
5.5 工具应用实践 |
5.5.1 创建被测工程 |
5.5.2 应用工具进行单元测试 |
5.5.3 应用工具进行集成测试 |
5.5.4 非功能性需求验证 |
5.6 小结 |
第6章 结论与展望 |
6.1 工作总结 |
6.2 下一步研究方向 |
参考文献 |
致谢 |
作者简历及攻读学位期间发表的学术论文与研究成果 |
(7)基于SIMD-DSP的LU分解算法的优化与实现(论文提纲范文)
摘要 |
abstract |
1 绪论 |
1.1 课题研究背景及意义 |
1.2 研究现状 |
1.2.1 现有SIMD_DSP对并行运算的支持 |
1.2.2 LU分解算法在硬件平台中研究现状 |
1.3 本文主要工作与组织结构 |
2 关键技术及理论研究 |
2.1 BWDSP1042处理器 |
2.1.1 eC104+内核结构 |
2.1.2 BWDSP1042流水线 |
2.1.3 BWDSP1042指令系统 |
2.1.4 BWDSP1042内存空间分配 |
2.2 LU分解算法原理分析 |
2.3 本章小结 |
3 基于C函数库的LU分解算法设计 |
3.1 库函数设计 |
3.1.1 库函数设计内容 |
3.1.2 库函数设计指标 |
3.1.3 库函数设计流程 |
3.1.4 库函数编码规范 |
3.2 C语言版LU矩阵分解函数设计过程 |
3.3 LU矩阵分解函数C程序的仿真与验证 |
3.3.1 实验环境搭建 |
3.3.2 仿真结果与分析 |
3.4 本章小结 |
4 基于BWDSP1042 的汇编版LU分解算法优化 |
4.1 LU分解算法在BWDWP1042 中的优化 |
4.1.1 LU矩阵分解并行算法设计 |
4.1.2 LU矩阵分解在BWDSP1042 中的实现 |
4.2 LU矩阵分解函数在ECS中的编写与调用 |
4.3 LU矩阵分解算法理论周期与实际周期数 |
4.4 本课题LU矩阵分解算法与TMS320C6678内LU矩阵分解算法对比 |
4.4.1 周期与时间 |
4.4.2 误差 |
4.5 本章小结 |
5 结论与展望 |
5.1 结论 |
5.2 展望 |
致谢 |
参考文献 |
附录 |
(8)面向对象程序的自动化单元测试框架研究与设计(论文提纲范文)
摘要 |
ABSTRACT |
第一章 绪论 |
1.1 研究背景 |
1.2 研究内容 |
1.3 论文章节安排 |
第二章 相关研究 |
2.1 单元测试 |
2.2 面向对象程序测试 |
2.3 面向对象程序单元测试 |
2.3.1 面向对象程序单元测试理论 |
2.3.2 面向对象程序单元测试工具 |
2.3.3 面向对象程序单元测试现状分析 |
2.4 本章小结 |
第三章 面向对象程序的自动化单元测试框架需求分析 |
3.1 面向对象程序单元测试框架研究 |
3.1.1 框架设计原则 |
3.1.2 框架的原型设计 |
3.2 测试框架的功能需求 |
3.3 测试框架的性能需求 |
3.3.1 多程序测试后JVM内存溢出的工程问题 |
3.3.2 平台适应性 |
3.4 本章小结 |
第四章 面向对象程序的自动化单元测试框架设计 |
4.1 面向对象自动化单元测试框架 |
4.1.1 设计原理 |
4.1.2 系统概述与框架流程图 |
4.1.3 总体框架 |
4.2 针对C++程序的功能设计 |
4.2.1 相关模块的变更 |
4.2.2 私有成员函数的测试 |
4.2.3 函数重载 |
4.3 多程序测试JVM内存溢出问题的性能设计 |
4.3.1 JVM内存垃圾回收机制 |
4.3.2 序列化和反序列化 |
4.3.3 界面架构变更 |
4.4 适配器模块的设计 |
4.4.1 跨平台的需求 |
4.4.2 适配器设计模式 |
4.4.3 CTSCpp适配器设计 |
4.5 本章小结 |
第五章 实验结果及分析 |
5.1 实验环境 |
5.2 实验结果及分析 |
5.2.1 功能测试 |
5.2.2 性能测试 |
5.3 本章小结 |
第六章 总结与展望 |
6.1 研究工作总结 |
6.2 进一步研究工作 |
参考文献 |
附录 |
致谢 |
(9)基于缺陷上下文深度学习的程序修复方法(论文提纲范文)
摘要 |
Abstract |
第1章 绪论 |
1.1 课题背景及研究的目的和意义 |
1.2 国内外研究现状及分析 |
1.2.1 国外研究现状 |
1.2.2 国内研究现状 |
1.2.3 国内外研究简析 |
1.3 课题的主要研究内容及章节安排 |
1.3.1 主要研究内容 |
1.3.2 章节安排 |
第2章 不考虑编译信息的语法错误修复方法 |
2.1 引言 |
2.2 不考虑编译信息的语法错误修复方法总体流程 |
2.3 不考虑编译信息的语法错误修复方法数据处理 |
2.3.1 程序预处理 |
2.3.2 程序过滤 |
2.3.3 变异操作 |
2.3.4 向量编码映射 |
2.4 Transformer模型训练 |
2.4.1 模型网络结构 |
2.4.2 模型输入 |
2.4.3 模型训练过程 |
2.5 不考虑编译信息的语法错误修复方法算法实现 |
2.6 不考虑编译信息的语法错误修复方法实验结果与分析 |
2.6.1 数据集信息 |
2.6.2 实验设置 |
2.6.3 评价方法 |
2.6.4 实验结果与分析 |
2.7 本章小结 |
第3章 考虑编译信息的语法错误修复方法 |
3.1 引言 |
3.2 考虑编译信息的语法错误修复方法总体流程 |
3.3 考虑编译信息的语法错误修复方法数据处理 |
3.3.1 程序过滤 |
3.3.2 程序预处理 |
3.3.3 向量编码映射 |
3.4 多轮对话模型训练 |
3.4.1 模型网络结构 |
3.4.2 模型输入 |
3.4.3 模型训练过程 |
3.5 考虑编译信息的语法错误修复方法算法实现 |
3.6 考虑编译信息的语法错误修复方法实验结果与分析 |
3.6.1 数据集信息 |
3.6.2 实验设置 |
3.6.3 评价方法 |
3.6.4 实验结果与分析 |
3.7 本章小结 |
第4章 语义错误修复方法 |
4.1 引言 |
4.2 语义错误修复方法总体流程 |
4.3 语义错误修复方法数据处理 |
4.3.1 语句覆盖信息计算 |
4.3.2 排序可疑语句 |
4.3.3 程序切片 |
4.3.4 程序标准化 |
4.4 Transformer模型训练 |
4.4.1 模型网络结构 |
4.4.2 模型输入 |
4.4.3 模型训练过程 |
4.5 语义错误修复方法算法实现 |
4.6 语义错误修复方法实验结果与分析 |
4.6.1 数据集信息 |
4.6.2 实验设置 |
4.6.3 评价方法 |
4.6.4 实验结果与分析 |
4.7 本章小结 |
结论 |
参考文献 |
致谢 |
个人简历 |
(10)BM3823的操作系统移植和驱动开发(论文提纲范文)
摘要 |
Abstract |
第1章 绪论 |
1.1 课题背景与研究意义 |
1.2 国内外研究现状 |
1.3 BM3823简介 |
1.4 本文主要研究内容 |
第2章 U-Boot程序移植 |
2.1 SPARC架构分析 |
2.2 U-Boot程序启动 |
2.2.2 预配置文件设计 |
2.2.3 启动过程设计 |
2.2.4 设备树结构分析及设计 |
2.2.5 U-Boot向 Linux传递参数程序设计 |
2.3 U-Boot引导Linux程序设计 |
2.4 U-Boot移植 |
2.4.1 安装工具及编译 |
2.4.2 U-Boot加载及运行 |
2.5 本章小结 |
第3章 Linux操作系统移植 |
3.1 Linux操作系统结构分析 |
3.1.1 Linux 源代码目录结构 |
3.1.2 Linux操作系统组成结构 |
3.1.3 Linux操作系统运行机制 |
3.2 编译环境搭建与配置 |
3.3 Linux程序启动 |
3.3.1 引导Linux内核程序设计 |
3.3.2 初始化MMU |
3.3.3 分析和创建设备树 |
3.3.4 挂载根文件系统 |
3.4 Linux操作系统移植测试 |
3.5 本章小结 |
第4章 DMA驱动程序开发 |
4.1 DMA硬件分析 |
4.2 DMA设备树代码设计 |
4.3 DMA驱动probe程序设计 |
4.4 DMA驱动程序设计 |
4.5 DMA测试程序设计 |
4.6 DMA配置编译和测试 |
4.6.1 配置编译和运行 |
4.6.2 DMA速度测试 |
4.7 本章小结 |
结论 |
参考文献 |
攻读硕士学位期间发表的论文及其它成果 |
致谢 |
四、FoxPro程序中嵌入C语言函数的技术(论文参考文献)
- [1]计算机程序设计中C#和汇编语言混合程序设计研究[J]. 胡尔西代姆·伊米提. 电脑编程技巧与维护, 2022(02)
- [2]基于深度学习的C语言代码缺陷定位方法研究与应用[D]. 周洁. 西安理工大学, 2021(01)
- [3]基于ARM DS-5平台设计ThreadX嵌入式实时操作系统关键技术开发及应用[D]. 郭涛. 华北电力大学(北京), 2021(01)
- [4]面向C程序的软件功耗评估方法研究与应用[D]. 周文迪. 四川大学, 2021(02)
- [5]嵌入式处理器P2020机器码程序到C语言源程序的溯源方法[J]. 谢文光,李琪,马春燕,汪克念,尹伟,张涛. 航空学报, 2021(09)
- [6]面向C语言软件的单元与集成测试工具的设计与实现[D]. 潘华稳. 中国科学院大学(中国科学院大学人工智能学院), 2020(04)
- [7]基于SIMD-DSP的LU分解算法的优化与实现[D]. 苏彤. 西安科技大学, 2020(01)
- [8]面向对象程序的自动化单元测试框架研究与设计[D]. 任路遥. 北京邮电大学, 2020(05)
- [9]基于缺陷上下文深度学习的程序修复方法[D]. 凌波. 哈尔滨工业大学, 2020(01)
- [10]BM3823的操作系统移植和驱动开发[D]. 陈东奇. 哈尔滨工业大学, 2020(02)
标签:单元测试论文; 面向对象分析与设计论文; 编译程序论文; C语言论文; 程序测试论文;