中文
注册

单指令转换

本示例主要是演示如何使用鲲鹏DevKit应用迁移工具的源码迁移功能进行嵌入式汇编单指令转换,帮助用户基于该工具快速实现源码迁移嵌入式汇编单指令转换。

扫描源代码

  1. GithubGitee代码样例single_inline_asm获取待使用的软件源码包。

    下载的源码包为devkitdemo-main.zip,解压后的“./devkitdemo-main/Porting_advisor/testdemo/asm_trans/single_inline_asm”为源码迁移的待扫描代码。

  2. 在进行源码迁移前,请在x86平台编译修改前的代码。进入实际源码存放目录,以demo_single_inline_asm为例。
    执行gcc编译生成二进制文件a.out,执行./a.out生成结果,如图1所示。
    图1 执行编译及二进制文件生成结果
  3. 进入鲲鹏DevKit,在左侧列表中单击“应用迁移 > 源码迁移”进入源码迁移任务创建页面。

    单击“上传”,上传已下载的single_inline_asm文件夹,并单击输入框,选择源代码single_inline_asm。其它选项根据实际的情况进行选择,如图2所示。

    图2 扫描分析界面
  4. 单击“开始分析”,进行分析并得到扫描分析报告,如图3所示。
    图3 扫描分析报告

修改源代码

  1. 单击源码迁移报告的“源码迁移建议”页签或报告页面中的“查看建议源码”,如图4所示。
    图4 源码迁移建议
  2. 单击左侧“文件列表”框中的内容进行源代码查看,如图5所示。
    图5 文件列表
  3. 根据迁移报告修改文件。在“源码迁移建议”页面,检查文件的修改建议,并根据建议进行源代码修改。

    在“源码迁移建议”页面,查看swap.c文件的修改建议,如图6所示。

    图6 swap.c修改建议

    根据以上建议,单击“Quick Fix > 替换成建议代码”修改后的代码(修改时进行了x86_64分支和aarch64分支的区分处理),如图7所示。

    图7 Quick Fix后的代码

    根据“Description”里的Note提示检视“Suggestion”里面的替换代码是否合适。

    如果根据Note检查建议代码通过,就将注释符“//”删除。修改后的代码如图8所示。

    图8 修改后的代码

编译

  1. 使用SSH远程登录工具登录服务器。
  2. 在鲲鹏平台编译修改后的代码。

    将生成的swap.c文件传入鲲鹏平台,执行gcc编译,执行生成的二进制文件,与x86平台运行结果一致,源码迁移成功,如图9所示。

    图9 鲲鹏平台编译结果
    • swap.c文件为鲲鹏DevKit应用迁移工具执行Quick Fix之后产生的文件,在鲲鹏平台上对该文件执行编译生成二进制文件。
    • 当鲲鹏平台和x86平台对二进制文件进行执行产生的结果一致时,源码迁移成功。
搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词