瑞萨RA8x1系列工具支持如下:
*编译器必须直接从第三方购买并获得许可
J-Link model需要支持Cortex-M85
- BASE / PLUS V11
- ULTRA+ / PRO V5
- J-Link Model
瑞萨RA8x1编译器支持如下:
注:
1.CM85有限支持。
2.Beta版本。
3.IAR自动矢量化支持还在开发中。
PACBTI : Pointer Authentication Code & Branch Target Identification 指针验证和分支目标识别
Helium实例
我们将通过一个RGBA图像数据中的R(红色),G(绿色),B(蓝色)3种色彩通道数据分离的例子,介绍使用helium原语函数的解交织(deinterleaving)功能。
在计算机图形学中,一个RGB颜色模型是由RGB3个色彩通道数据构成的,每个通道用了8位色彩深度,共计24位,包含了所有的彩色信息。
为实现图形的透明效果,采取在图形文件的处理与存储中附加上另一个8位信息的方法,这个附加的代表图形中各个素点透明度的通道信息就被叫做Alpha通道。
Alpha通道使用8位二进制数,就可以表示256级灰度,即256级的透明度,因此图片可以是RGB888或者RGBA888,当然现在也有一些其他的格式,如RGB565,RGB555等。
下图这张彩色图片的分辨率是240*160,格式是RGBA8888的。
图片的色彩数据排列为按照下列方式,RGBA,RGBA,如此反复循环。
通过使用vld4q来进行4个色彩通道数据的解交织操作。
在这个例子中,我们使用了以下的Helium原语函数编程。
通过上面的代码,我们可以得到3张不同灰度的图片,下面仅给出G通道的数据供参考,其他通道数据类似,只是灰度不同。
图像数据可以使用e2 studio中的Memory工具直接显示出来,非常方便图像类的调试。
使用普通的标量操作C代码,如下所示:
在RA8x1的实际部署中,对比了上面的两种代码运行时间,使用了helium原语函数编程的代码比普通的标量C代码要快1倍以上。如果图片的分辨率越大,提示效果会更加明显。
全部0条评论
快来发表一下你的评论吧 !