一、版本信息
R5.2.1.sr03版本是在R5.2.1版本上发布的第一个正式修订版本,该版本主要解决R5.2.1版本实际应用遇到的问题,问题主要包括:编译内核及UBOOT使用soft-float abi链接失败、编译buildroot等项目遇到头文件异常等。本次发布xburst1和xburst2两款芯片的工具链,包如下:
mips-ingenic-xburst2-linux-glibc2.38-tools-r5.2.1.sr03.tar.bz2
mips-ingenic-xburst1-linux-glibc2.38-tools-r5.2.1.sr03.tar.bz2
二、工具链使用说明
表1 - 工具链版本信息对照表 | |||||
工具链版本 | R5.2.1 Default_xburst2_glibc2.38 | R5.2.1 Default_xburst1_glibc2.38 | R5.2.1.sr03 Default_xburst2_glibc2.38 | R5.2.1.sr03 Default_xburst1_glibc2.38 | |
库版本 | glibc | 2.38 | 2.38 | 2.38 | 2.38 |
uclibc | / | / | / | / | |
newlibc | / | / | / | / | |
工具版本 | gcc | 7.2.0 | 7.2.0 | 7.2.0 | 7.2.0 |
binutils | 2.27 | 2.27 | 2.27 | 2.27 | |
gdb | 7.11.50 | 7.11.50 | 7.11.50 | 7.11.50 | |
FP ABI | fp64 | default | default | ||
fp32 | default | default | |||
soft-float | -msoft-float | -msoft-float | |||
选项 | gcc | -mmsa -mmxa -mmxu -mmxu2 -mmxu3 -mmxu3.1 | -mmsa -mmxa -mmxu -mmxu2 -mmxu3 -mmxu3.1 | -mmsa -mmxa -mmxu -mmxu2 -mmxu3 -mmxu3.1 | -mmsa -mmxa -mmxu -mmxu2 -mmxu3 -mmxu3.1 |
objdump | -Mmxa -Mmxu -Mmxu2 -Mmxu3 -Mmxu3.1 | -Mmxa -Mmxu -Mmxu2 -Mmxu3 -Mmxu3.1 | -Mmxa -Mmxu -Mmxu2 -Mmxu3 -Mmxu3.1 | -Mmxa -Mmxu -Mmxu2 -Mmxu3 -Mmxu3.1 | |
as | -mmsa -mmxa -mmxu -mmxu2 -mmxu3 -mmxu3.1 | -mmsa -mmxa -mmxu -mmxu2 -mmxu3 -mmxu3.1 | -mmsa -mmxa -mmxu -mmxu2 -mmxu3 -mmxu3.1 | -mmsa -mmxa -mmxu -mmxu2 -mmxu3 -mmxu3.1 |
表2 - 工具链适配表 | |||
工具链版本 | R5.2.1.sr03 Default_xburst2_glibc2.38 | R5.2.1.sr03 Default_xburst1_glibc2.38 | |
库版本 | glibc | 2.38 | 2.38 |
uclibc | / | / | |
newlibc | / | / | |
工具版本 | gcc | 7.2.0 | 7.2.0 |
binutils | 2.27 | 2.27 | |
gdb | 7.11.50 | 7.11.50 | |
适用芯片 | Xburst2系列。如: X2000(msa)、T40(mxu3)、A1、T41(mxu3.1)、X2500 等 | Xburst1系列。 |
注意:原R5.2.1工具链将放弃使用。
三、工具链主要支持功能
1.GCC7.2.0
支持: MSA 和 MXA(君正自主研发的SIMD128指令)指令;
支持: MSA 和 MXA(君正自主研发的SIMD128指令)指令的intrinsic函数具体使用方法请参考附件中的《MSA Built-in Functions – IngenicWiki.pdf》;
支持:MXU2(君正自主研发的SIMD128指令)指令;
支持:MXU2(君正自主研发的SIMD128指令)指令的intrinsic函数. 具体使用方法请参考附件中的《MXU2-User-Guide.pdf》;
支持:默认 little endian;-mno-branch-likely;
支持:选项 -mslsa; 默认不生成 LSA 指令;
支持:选项 -mfused-madd; 默认不生成 FMA 指令;
支持:选项 -mfusion, 支持 Xburst2 macro fusion;
支持:设置 __builtin_prefetch 为 barrier .
支持:选项-mmxu3;MXU3(君正自主研发的SIMD512指令)指令;
支持:选项-mmxu3;MXU3(君正自主研发的SIMD512指令)指令的intrinsic函数. 具体使用方法请参考附件中的《MXU3 Toolchain使用说明》、《MXU3(SIMD512)_Intrinsic_Guide.pdf》;
支持:选项-mxu3-ext-abi;
支持:选项-mmxu3.1;MXU3.1(君正自主研发的SIMD512指令)指令;
支持:选项-mmxu3;MXU3.1(君正自主研发的SIMD512指令)指令的intrinsic函数;
支持:选项-msave-restore=N,支持当函数内部使用寄存器个数达到N(N为具体数字)个时,函数入口处统一对寄存器进行保存,从而优化代码体积。
2.Binutils:
支持:MXU3.1指令;
支持:MXU3指令;
支持:MXU2指令;
支持:MXU指令;
支持:MSA和MXA指令;
3.Glibc2.38
解决Y2038时间问题,使用方法请参考附件《mips Y2038-safe GCC工具链使用说明》。
四、获取工具链
温馨提醒:工具链是按不同的运行环境、目标环境、目标芯片分类打包
工具链中名字带elf编译出的程序用在裸机上运行
工具链中名字带linux编译出的程序用在linux系统上运行
下载工具链之前请认真查看对应信息,选择适合自己使用的工具链。
下载后使用工具链前请使用工具链中`mips-linux-gnu-gcc -v`命令核对版本信息,具体的版本摘要信息见下载地址栏。
外网下载地址:
摘要:(Ingenic MIPS LINUX Tools R5.2.1.sr03 Default_xburst2_glibc2.38 multilib 2023.11-30 12:45:27)工具链
适用于x86_64(64位)host PC:
摘要:(Ingenic MIPS LINUX Tools R5.2.1.sr03 Default_xburst1_glibc2.38 multilib 2023.12-01 06:33:59)工具链
适用于x86_64(64位)host PC: