君正X1000_M200用户手册资料

2024-03-08 16:48

本文主要是介绍君正X1000_M200用户手册资料,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

X1000_M200_MXU-User-Guide

1. 简介
工具链中MXU指令以内嵌汇编的方式提供。MXU有16个32bit 通用寄存器(xr0~xr15),一个32bit控制寄存器(xr16)。使用工具链中的 MXU 宏定义时需要程序员手动选择要使用的 MXU 寄存器。如Q16ADD_AA_WW(xr1,xr2,xr3,xr4),其中 Q16ADD_AA_WW 是内嵌汇编宏,xr1,xr2,xr3,xr4 是寄存器编号。指令的使用请详见附录,寄存器和内嵌汇编宏的定义请详见工具链中的 jzmedia.h (PATH_toolchain/mips-linux-gnu/libc/usr/include/jzmedia.h)。

● 使用 MXU 的内嵌汇编宏需要引用 jzmedia.h

● 使用 MXU 指令,在编译时需要添加“-mmxu” 编译选项。
● 使用 MXU 指令,在反汇编时需要添加“-Mmxu” 选项。

2. 指令使用举例
以 Q16ADD 指令为例

/* test.c */
#include <stdio.h>
#include <jzmedia.h>
void main()
{
short src1 [2] = { 1 , 2 };
short src2 [2] = { 10,20 };
short dst1 [2] ;
short dst2 [2] ;
S32LDD(xr1, src1, 0);
S32LDD(xr2, src2, 0);
/*调用 Q16ADD 指令,其中
EPTN2 :AA(00),表示加加运算,
OPTN2:WW(00),表示高位与高位,低位与低位操作
Operation:
xr4 = {xr1.l+xr2.l, xr1.h+xr2.h};
xr3= {xr1.l+xr2.l, xr1.h+xr2.h};*/
Q16ADD_AA_WW(xr4,xr2,xr1,xr3);
S32STD(xr3, dst1, 0);
S32STD(xr4, dst2, 0);
printf(" dst1[0] is %d, dst1[1] is %d\n", dst1[0], dst2[1]);
printf(" dst2[0] is %d, dst2[1] is %d\n", dst2[0], dst2[1]);
}

编译:
$ mips-linux-gnu-gcc test.c -o test -mmxu
反汇编:
$ mips-linux-gnu-objdump -D test -Mmxu
运行:
$./test
dst1[0] is 11, dst1[1] is 22
dst2[0] is 11, dst2[1] is 22

3. X1000附录
MXU 指令具体含义及使用方法请参考《XBurst_ISA_MXU_PM》,MXU 指令使用列表如下:
注:寄存器名称(xra,xrb,xrc,xrd...)为示例,不代表真实寄存器。

D16MUL_WW(xra,xrb,xrc,xrd);
D16MUL_HW(xra,xrb,xrc,xrd);
D16MUL_LW(xra,xrb,xrc,xrd);
D16MUL_XW(xra,xrb,xrc,xrd);

D16MULF_WW(xra,xrb,xrc);
D16MULF_LW(xra,xrb,xrc);
D16MULF_HW(xra,xrb,xrc);
D16MULF_XW(xra,xrb,xrc);


D16MULE_WW(xra,xrb,xrc,xrd);
D16MULE_LW(xra,xrb,xrc,xrd);
D16MULE_HW(xra,xrb,xrc,xrd);
D16MULE_XW(xra,xrb,xrc,xrd);

D16MAC_AA_WW(xra,xrb,xrc,xrd);
D16MAC_AA_LW(xra,xrb,xrc,xrd);
D16MAC_AA_HW(xra,xrb,xrc,xrd);
D16MAC_AA_XW(xra,xrb,xrc,xrd);

D16MAC_AS_WW(xra,xrb,xrc,xrd);
D16MAC_AS_LW(xra,xrb,xrc,xrd);
D16MAC_AS_HW(xra,xrb,xrc,xrd);
D16MAC_AS_XW(xra,xrb,xrc,xrd);

D16MAC_SA_WW(xra,xrb,xrc,xrd);
D16MAC_SA_LW(xra,xrb,xrc,xrd);
D16MAC_SA_HW(xra,xrb,xrc,xrd);

D16MAC_SA_XW(xra,xrb,xrc,xrd);

D16MAC_SS_WW(xra,xrb,xrc,xrd);
D16MAC_SS_LW(xra,xrb,xrc,xrd);
D16MAC_SS_HW(xra,xrb,xrc,xrd);
D16MAC_SS_XW(xra,xrb,xrc,xrd);

D16MACF_AA_WW(xra,xrb,xrc,xrd);
D16MACF_AA_LW(xra,xrb,xrc,xrd);
D16MACF_AA_HW(xra,xrb,xrc,xrd);
D16MACF_AA_XW(xra,xrb,xrc,xrd);

D16MACF_AS_WW(xra,xrb,xrc,xrd);
D16MACF_AS_LW(xra,xrb,xrc,xrd);
D16MACF_AS_HW(xra,xrb,xrc,xrd);
D16MACF_AS_XW(xra,xrb,xrc,xrd);

D16MACF_SA_WW(xra,xrb,xrc,xrd);
D16MACF_SA_LW(xra,xrb,xrc,xrd);
D16MACF_SA_HW(xra,xrb,xrc,xrd);
D16MACF_SA_XW(xra,xrb,xrc,xrd);

D16MACF_SS_WW(xra,xrb,xrc,xrd);
D16MACF_SS_LW(xra,xrb,xrc,xrd);
D16MACF_SS_HW(xra,xrb,xrc,xrd);
D16MACF_SS_XW(xra,xrb,xrc,xrd);

D16MADL_AA_WW(xra,xrb,xrc,xrd);
D16MADL_AA_LW(xra,xrb,xrc,xrd);
D16MADL_AA_HW(xra,xrb,xrc,xrd);
D16MADL_AA_XW(xra,xrb,xrc,xrd);

D16MADL_AS_WW(xra,xrb,xrc,xrd);
D16MADL_AS_LW(xra,xrb,xrc,xrd);
D16MADL_AS_HW(xra,xrb,xrc,xrd);
D16MADL_AS_XW(xra,xrb,xrc,xrd);

D16MADL_SA_WW(xra,xrb,xrc,xrd);
D16MADL_SA_LW(xra,xrb,xrc,xrd);
D16MADL_SA_HW(xra,xrb,xrc,xrd);
D16MADL_SA_XW(xra,xrb,xrc,xrd);

D16MADL_SS_WW(xra,xrb,xrc,xrd);
D16MADL_SS_LW(xra,xrb,xrc,xrd);

D16MADL_SS_HW(xra,xrb,xrc,xrd);
D16MADL_SS_XW(xra,xrb,xrc,xrd);

S16MAD_A_HH(xra,xrb,xrc,xrd);
S16MAD_A_LL(xra,xrb,xrc,xrd);
S16MAD_A_HL(xra,xrb,xrc,xrd);
S16MAD_A_LH(xra,xrb,xrc,xrd);

S16MAD_S_HH(xra,xrb,xrc,xrd);
S16MAD_S_LL(xra,xrb,xrc,xrd);
S16MAD_S_HL(xra,xrb,xrc,xrd);
S16MAD_S_LH(xra,xrb,xrc,xrd);

Q16ADD_AA_WW(xra,xrb,xrc,xrd);
Q16ADD_AA_LW(xra,xrb,xrc,xrd);
Q16ADD_AA_HW(xra,xrb,xrc,xrd);
Q16ADD_AA_XW(xra,xrb,xrc,xrd);

Q16ADD_AS_WW(xra,xrb,xrc,xrd);
Q16ADD_AS_LW(xra,xrb,xrc,xrd);
Q16ADD_AS_HW(xra,xrb,xrc,xrd);
Q16ADD_AS_XW(xra,xrb,xrc,xrd);

Q16ADD_SA_WW(xra,xrb,xrc,xrd);
Q16ADD_SA_LW(xra,xrb,xrc,xrd);
Q16ADD_SA_HW(xra,xrb,xrc,xrd);
Q16ADD_SA_XW(xra,xrb,xrc,xrd);

Q16ADD_SS_WW(xra,xrb,xrc,xrd);
Q16ADD_SS_LW(xra,xrb,xrc,xrd);
Q16ADD_SS_HW(xra,xrb,xrc,xrd);
Q16ADD_SS_XW(xra,xrb,xrc,xrd);

D16MACE_AA_WW(xra,xrb,xrc,xrd);
D16MACE_AA_LW(xra,xrb,xrc,xrd);
D16MACE_AA_HW(xra,xrb,xrc,xrd);
D16MACE_AA_XW(xra,xrb,xrc,xrd);

D16MACE_AS_WW(xra,xrb,xrc,xrd);
D16MACE_AS_LW(xra,xrb,xrc,xrd);
D16MACE_AS_HW(xra,xrb,xrc,xrd);
D16MACE_AS_XW(xra,xrb,xrc,xrd);

·····················

 

 

 

这篇关于君正X1000_M200用户手册资料的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/787740

相关文章

IEEE会议投稿资料汇总http://cadcg2015.nwpu.edu.cn/index.htm

最近投了篇IEEE的顶级会议文章,一下是比较有用的一些资料,以供参考。 1.会议主页:http://cadcg2015.nwpu.edu.cn/index.htm     (The 14th International Conference on Computer-Aided Design and Computer Graphics (CAD/Graphics 2015)) 2.I

ansible资料

ansible系列教程-强烈推荐看完ansible官方编写的例子ansible_uiJenkins配置ansiblegalaxy官方文档中文教程1中文教程2playbook进阶YAML语法fabric编写的自动化部署

Vert.x(vertx)入门资料

1.vert.x简介 vert.x 采用类似 Node.js 的 eventloop callback 机制,优势是 Eventloop 是单线程场景下几乎是最快的并发解决方案,但也需要周边生态的支持,比如 DbClient/HttpClient 这些跟 IO 打交道的 API 需要支持异步回调的风格,社区干脆就整合或者自己实现了。依赖注入的类库可以用 Guice,整体启动时间大概是同规模 sp

资料分析系统课-刘文超老师

1、考试大纲 2、解题的问题->解决方法     3、统计术语  基期量与现期量:作为对比参照的时期称为基期,而相对于基期的称为现期。描述具体数值时我们称之为基期量和现期量。 增长量:是指基期量与现期量增长(或减少)的绝对量。增长量是具体值,有单位。增长量=现期量-基期量。增长量有正负,负值代表减少量。增长率:  年均增长量:    年均增长率: 同比和环比

2024数学建模国赛选题建议+团队助攻资料(已更新完毕)

目录 一、题目特点和选题建议 二、模型选择 1、评价模型 2、预测模型 3、分类模型 4、优化模型 5、统计分析模型 三、white学长团队助攻资料 1、助攻代码 2、成品论文PDF版 3、成品论文word版 9月5日晚18:00就要公布题目了,根据历年竞赛题目,可以分析A/B/C/D/E题目大概的类型,提前了解题目特点,在选题上就不会浪费过多时间。下面总结了一下5个题目各

没资料的屏幕怎么点亮?思路分享

这次尝试调通一个没资料的屏幕,型号是HYT13264,这个是淘宝上面的老王2.9元屏,成色很好但是长期库存没有资料和代码能点亮,仅仅只有一个引脚定义。这里我使用Arduino Nano作为控制器尝试点亮这个模块。 首先,已知别人找出来的线序如下 1 - CS2 - RST 3 - DC4 - SCK5 - SDA6 - VCC7 - GND8 - K59 - K410

刘文超行测-资料分析

考试大纲 资料分析主要测查报考者对各种形式的文字、图表等资料的综合理解与分析 加工的能力,这部分内容通常由统计性的图表、数字及文字材料构成。 针对一段资料一般有 1-5 个问题,报考者需要根据资料所提供的信息进行分 析、比较、推测和计算,从四个备选答案中选出符合题意的答案。 ——摘自《中央机关及其直属机构 2018 年度考试录用公务员公共科目考试大纲》 第一章统计术语 基期量与现期量 作

免费赠与c/c++海量视频 学习资料的

如果有需要 c/c++海量视频 学习资料的 可以试试以下方法(和朋友自己业余搞的公众号,目前处于推广时期): 微信关注  “金喜鹊论文发表” 账号, 公众号中也有c/c++视频 ,大家也可以 输入  程序 或者 资料, 即可获取 海量的c/c++资料。 关注后,输入  2013 , 之后就会回复  visual studio 2013 安装软件

完整版自考西方文论选复习笔记资料

西方文论选读复习资料 1.柏拉图:古希腊哲学家,苏格拉底的学生。公园前387年在雅典城外建立学园开始授徒讲学,撰写对话。柏拉图的作品即《柏拉图文艺对话集》中讨论美学和文艺理论问题较多的有:《大希庇阿斯》、《伊安》、《高吉阿斯》、《会饮》、《斐德若》、《理想国》、《斐利布斯》、《法律》等。 ▲柏拉图《伊安》和《斐若德》内容:主要阐述了"迷狂说"和"灵魂回忆说":柏拉图认为,高明的诗人都是凭灵

FLV 格式详解资料整理,关键帧格式解析写入库等等

FLV 是一种比较简单的视频封装格式。大致可以分为 FLV 文件头,Metadata元数据,然后一系列的音视频数据。 资料够多: FLV格式解析图 知乎用户 @Linux服务器研究 画了一张格式解析图,比较全,但默认背景是白色,太过刺眼。我用 photopea 改为黑暗模式,更适合程序员参考(请拖拽到新标签页,放大食用): 一个 C# 写的FLV转录库,我把他转换为 Java Flv