龙芯架构 龙芯指令集: CPU访存指令 24个 全部来自MIPS CPU算数指令(ALU) 10个 全部来自MIPS CPU算数指令 14个 全部来自MIPS CPU乘除指令 12个 来自MIPS 12个 来自龙芯(其中8个重复MIPS指令功能) CPU跳转分支指令20个 全部来自MIPS CPU位移指令 15个 全部来自MIPS CPU特殊指令 2个 全部来自MIPS CPU异常指令 12个 全部来自MIPS CPU CPO指令 10个 全部来自MIPS 龙芯处理器共131个指令,其中119个来自MIPS,12个来自龙芯(但其中MULTG、DMULTG、MULTUG、DMULTUG
龙芯派lite如何更新pmon 1.文章说明 本文主要描述龙芯派lite的固件更新相关的原理。在使用龙芯派lite时,要很清楚的理解龙芯派的执行流程。 需要注意的是,龙芯派lite上有两个型号都是GD25Q80的1MB大小的spi flash,其中存放pmon的在固态硬盘的下面,上面的一个是作为USB3.0使用的。 ? 2.龙芯派lite的固件更新 前面我们说了pmon的更新,以及板子变砖后,如何恢复的办法,下面来讲一下龙芯派lite固件的更新情况。 当启动完成pmon后,通过控制台输入可以加载内核固件。 用户可以通过设置龙芯派的al1来进行不同介质的启动 set al1 /dev/fs/fat@wd0/rtthread.elf 表示从磁盘启动rt-thread。 3.关于龙芯派lite驱动部分 龙芯派在rt-thread已经有了基础版本的支持,如果要做驱动开发,一方面,可以从pmon中去进行代码分析,然后用于驱动部分的开发。
近日消息,基于自主指令系统的国产 CPU 龙芯 3A5000 以及 3C5000 系列产品即将问世。 龙芯平台完成Harbor的适配 龙芯云计算团队积极投身到 Harbor 社区,着手进行自主移植,目前成功完成了 Harbor v.2.1.0 版本的移植,同时完成了所有功能测试。 ▶基于龙芯平台移植Harbor 经过详细的梳理及调研,发现 Harbor 构建过成中,从底层基础os镜像到中间依赖镜像,再到最终 Harbor 部署所需要的镜像,均无龙芯架构的支持。 龙芯平台 Harbor 未来规划 目前龙芯平台 Harbor 适配已经完成,基本功能已完成验证,下一步将完成基础组件的源码测试工作,以及 Harbor 周边配套的分布式分发工具的适配。 目前龙芯 Harbor v2.1.0 版本已经投入使用,未来龙芯将致力于开源,将适配后的代码回馈 Harbor 社区,努力成为社区大家庭的一员。
Python 没有龙芯架构的发布包,需要从源码编译。 在龙芯架构下执行 ./configure 指令,会出现如下错误: $ . :24 CST 2024" configure: error: cannot guess build type; you must specify one 这是由于较早的 autotools 不支持龙芯架构
3月27日,全面反映LoongArch产业生态发展最新成果的《龙芯生态白皮书(2022年)》正式对外发布, 白皮书下载地址:https://kdocs.cn/l/ce5Emg1C2pPd ,我将其中涉及到 .NET部分的内容节选出来,可以看到龙芯对.NET的支持的非常的不错,我知道他们有个几十人的.NET编译器团队在全职推进.NET的LoongArch支持,最近我公司(深圳市友浩达科技有限公司)有幸成为龙芯生态伙伴计划成员 ,和龙芯.NET团队一起深耕.NET生态。
我是龙芯汇编指令新手,本文是我学习龙芯汇编的笔记 我借到了一台宝贵的龙芯 3A6000 设备,我期望在这台设备上面学习龙芯汇编指令。 这台设备上的是龙芯旧世界的麒麟系统,由于这台设备很宝贵,我不能随意玩。 为了防止弄坏设备,我将在此设备上面搭建 docker 环境,进入到 docker 容器里面进行开发 在此设备上搭建 docker 环境的方法,详细请看 制作一个龙芯旧世界的 dotnet sdk docker RUN apt-get install vim -y 使用如下两句命令进行构建和进入容器 docker build -t g1 . docker run -it g1 /bin/bash 本文这里完全都是龙芯旧世界的 可以使用 QEMU 进行模拟,详细请看 龙芯汇编实验环境搭建 - github.com/foxsen/loongarch-assembly 必须说明的是以上使用 QEMU 进行模拟的做法使用的是龙芯新世界
一、环境介绍 宿主机环境: ubuntu18.04 64位 目标开发板: 龙芯二代(2K1000) 二、资料下载 交叉编译器: http://ftp.loongnix.org/loongsonpi
编译生成二进制文件包 2.2、编译生成RPM文件包 3、安装GreatSQL 3.1、my.cnf参考 3.2、登入GreatSQL 3.3、创建新用户、测试库&表,及写入数据 4、搭建MGR集群 5、下载龙芯平台 GreatSQL二进制包 本次介绍如何在麒麟OS + 龙芯CPU的环境下将GreatSQL源码编译成二进制文件及RPM包等。 本环节是龙芯的同学提供的,已经事先配置过了,忽略。 2.2、编译生成RPM文件包 由于GreatSQL自带的编译脚本还不能适配龙芯环境,所以需要手动编译生成RPM文件包。 龙芯/Loongson - Generic” 标签下载即可。 全文完。
随着信创产业的推进,越来越多的服务器开始采用龙芯3A5000处理器。作为重要的监控工具,Prometheus系统需要在该架构服务器上可靠运行。 编译好的node_exporter下载地址:https://pan.quark.cn/s/e09bc874ff4b 为何要到龙芯机器编译 node_exporter底层语言采用Golang,理论如果不涉及 具体编译过程暂未细看,最终选择直接在龙芯架构的机器上开展编译工作,这样可以有效避免因编译环境与运行环境不一致可能带来的潜在兼容性问题。 因为从官网下载的go各个版本,在公司龙芯3A 5000+UOS/麒麟V10的系统上,一直没法使用,报错:段错误(核心已转储)。 /node_exporter 总结 本文记录了在龙芯3A5000架构服务器上手动编译node_exporter的过程,因官方未提供longarch64版本,需在龙芯机器上直接编译以确保兼容性和稳定性。
CPU是首款真正的国产,龙芯2F,兼容mips的指令集。 笔记本原来的操作系统是Debian6,后来升级到了7,随后一直是当做玩具放着。 g 顺利的话,龙芯笔记本会启动Debian安装界面,安装过程同平常的安装没有什么不同,此处省略。 这是因为龙芯的显卡兼容性造成的,通常的方式应当是安装龙芯自己的显卡驱动:xserver-xorg-video-siliconmotion-2.2.19.tar.gz,很可惜当前在网上几经寻找,已经找不到了这个驱动 而这个时候千万不要使用apt autoremove来删除这些包,否则龙芯笔记本将真的无法启动只能重新安装。 参考资料 龙芯逸珑8089B安装debian8.5和KDE桌面 DebianYeeloongHowToInstall
之前我写过一篇文章《龙芯迷你主机,用来办公怎么样?》,到现在已经使用了一段时间。整体体验下来,系统是可用的,但离完美仍有差距,主要原因是龙芯生态中的应用还非常匮乏。 反过来思考,龙芯上的应用稀缺,国家又决心推广,这是否意味着开发人才存在缺口?这或许是一个机遇。如果能掌握一些龙芯系统的开发技能,未来在职场上的竞争力或许会大大提升。 既然如此,接下来就介绍如何在龙芯 UOS 系统上搭建 C/C++ 开发环境。 安装编译工具链 尽管龙芯生态尚不成熟,但其开发支持相对完备,已有多种编译器和工具链版本适配龙芯架构。 VS Code官方并没有提供龙芯架构的支持,不过在龙芯 UOS 系统中,安装 VS Code 也非常简单,只需在应用商店中搜索并安装。 希望这篇文章能帮助你在龙芯迷你电脑上成功搭建高效的开发环境,祝你编码愉快!
在上一篇《龙芯迷你主机,用来办公怎么样?》中,我分享了用龙芯迷你主机搭配统信 UOS 进行日常办公的体验。这一体验,半年时间就过去了。 最近了解到龙芯有“新世界”与“旧世界”之分,特意去做了一下功课: 旧世界(ABI 1.0) 诞生于龙芯早期过渡阶段,以 MIPS 架构代码为基础改造而成。 “打破旧世界,拥抱新世界”——作为程序员,自然要第一时间尝鲜,于是立刻将这台龙芯迷你主机安装了 Deepin V23 龙芯版(目前仍为 Preview 版本,但足够试水)。 眼下,绝大多数龙芯架构应用都只面向旧世界 ABI 开发。 本来龙芯架构上的应用就少,再这么折腾,更是要吓走用户。
CPU是首款真正的国产,龙芯2F,兼容mips的指令集。 笔记本原来的操作系统是Debian6,后来升级到了7,随后一直是当做玩具放着。 g 顺利的话,龙芯笔记本会启动Debian安装界面,安装过程同平常的安装没有什么不同,此处省略。 这是因为龙芯的显卡兼容性造成的,通常的方式应当是安装龙芯自己的显卡驱动:xserver-xorg-video-siliconmotion-2.2.19.tar.gz,很可惜当前在网上几经寻找,已经找不到了这个驱动 而这个时候千万不要使用apt autoremove来删除这些包,否则龙芯笔记本将真的无法启动只能重新安装。 参考资料 龙芯逸珑8089B安装debian8.5和KDE桌面 DebianYeeloongHowToInstall
龙芯派VS树莓派 运行功耗实测 1.概述 2.龙芯派教育派 3.树莓派2b的功耗情况 4.树莓派3b+的功耗情况 5.树莓派4b的功耗情况 6.树莓派pico功耗情况 7.总结 1.概述 龙芯派、树莓派都是开源硬件 2.龙芯派教育派 龙芯派搭载两个 2K1000 处理器(主频 1GHz,CPU GS264),板载 DDR3 颗粒,实现 DDR3 的运行存储功能。实现了 GPIO 的输入输出,中断功能。 另外手上还有一个龙芯派,但是由于不是USB供电,暂时没法得出功耗情况,但是基本上应该和龙芯教育派一样,因为外设一致。 7.总结 从上述测试结果来看,树莓派2b、3b+、4b差别微小,龙芯派耗电太多,发热也严重,树莓派pico功耗低,是真正的低功耗模块。 总体上来说,龙芯选手的功耗作为单板计算机来说,表现比较差,而树莓派则发挥稳定。板子的功耗控制差距还是有一些的。
龙芯2k1000的中断设计 1.前言 2.龙芯2k1000的中断描述 2.1 mips设计上的通用中断处理 2.2 龙芯中断的设计 3.龙芯2k1000中断的产生与处理 4.龙芯2k1000中断处理概述 2.龙芯2k1000的中断描述 龙芯2k1000最多支持64个中断的触发源,按照统一方式进行管理。 ? 这64个中断控制器通过可以配置的中断路由可以分配到CPU0与CPU1中。 2.2 龙芯中断的设计 对于对于每个核上的IP0~IP3,其对应的是 CP0_Status 的 IP2 到 IP5。IP7用于定时器中断。 ? 4.龙芯2k1000中断处理概述 龙芯2k1000利用mips上的8个中断位,自己添加了一个中断控制器,该中断控制器可以配置中断的路由方式,比如让其路由到CPU0或者CPU1上,并且可以指定每个中断路由到具体的 上述则是龙芯2k1000中断处理逻辑。
今天尝试安装龙芯版 Linux,本来希望能安装 Debian 版,但只找到一些文档(https://wiki.debian.org/LoongArch),没找到可安装版的 ISO。 而且龙芯版由于是在 QEMU 虚拟机里,运行速度也较慢。所以,我想我需要先学习一下 Arch Linux。 - 龙芯版 Arch Linux - 通过上述折腾,也查了一些文档,总算基本上了解了 Arch Linux。谁让咱还有些 Linux 功底呢。 我推测,龙芯版 Linux 默认没有安装dhclient,才导致我上不了网。重装一遍。 我的 UTM 不支持龙芯,因此,我只能使用 QEMU 了。 后续,我会写写在龙芯和 Arch Linux 上 安装 FreeSWITCH 的过程。 最近有人批评我写的文章比较水。流水账嘛,水一点就水一点好了 。
"); return result; #else #error No timer implementation for this platform #endif } 而在将 RocksDB 移植到龙芯的过程中 ,需要修改上面的代码,判断出当前是龙芯 loongarch64 架构。 网上没有搜到 GCC 对龙芯 CPU 的预定宏的文档说明,只能从源码中找答案: void loongarch_cpu_cpp_builtins (cpp_reader *pfile) { ... builtin_define ("__loongarch__"); ... } 可以看到,__loongarch__代表龙芯CPU。 在暂时不知道龙芯是否支持RDTSC的情况下,只能给出通用的实现,以后再查龙芯的CPU手册进行优化。
而龙芯本次将两款CPU核向高校和学术界开源,可以使学术界以龙芯的CPU核为基础开发产品,并以龙芯的CPU核为模板学习怎样设计CPU核。 龙芯开源的CPU核为GS132和GS232。 龙芯将CPU核向高校和学术界开源,则给予在校大学生一个很好的学习实践平台——龙芯中科资助大学老师基于龙芯平台设计实验课程,使学生可以在真实的(而不是简化的)CPU上运行真实的(而不是简化的)操作系统,在龙芯实验平台上启动操作系统并进行性能分析 (龙芯教育实验平台) 此外,龙芯还研发了CPU实验平台、操作系统实验平台、并行处理实验平台等数款龙芯教学平台,通过为高校提供完整的线上、线下实验环境,助力教学改革和计算机专业学生的系统能力培养,实现“设计真实处理器 这时候适当的将两款CPU核向高校和学术界开源,有助于让广大在学生学习如何围绕龙芯进行开发,在莘莘学子毕业后,自然能掌握围绕龙芯进行开发的相关技能,这有助于龙芯软件生态建设。 |结语 龙芯之所以将两款CPU核开源,一方面是为了配合国家计算机专业课程的教育改革,另一方面也是为了培养一批能给龙芯做基础软硬件开发的新鲜血液,并借此丰富龙芯的软件生态和产业链。
前言 最近在中标麒麟实习,自己对 Linux 本身也有一定爱好,使用过不少的 GNU/Linux 发行版,正好看到陈华才老师新出版了《基于龙芯的 Linux 内核探索解析》一书,于是也下载源码跟着老师一同学习 碎碎念 说实话,在公司里我能做的事情挺少的,组里隔壁的都是在解决致命 bug 单,或者是给4.19.x内核适配龙芯给3.10内核打的 patch,我就摸摸鱼,给一些软件的社区新版本打 rpm 包(本来是写了博文介绍我的学习历程的 _unicode_ci; 修改 Typecho 配置文件 config.inc.php 中数据库定义参数中的 charset 为 utf8mb4 'charset' => 'utf8mb4', 感觉龙芯还是很厉害的 ,有机会整一个龙芯的笔记本或者台式电脑玩玩。
目录 .NET 收到一台龙芯机器 编译 CoreCLR 环境要求 部署虚拟机与环境 Linux 安装 KVM 下载需要的文件 启动模拟器 下载 CoreCLR 尝试编译 CoreCLR 前段时间得知龙芯团队成功移植并开源了 收到一台龙芯机器 感谢新生命团队的石头哥提供了一台龙芯服务器,其机器型号及配置系统版本如下: 灵珑 9S2A Linux Loongson 2.6.27.1 #6 Wed Nov 10 16:17:35 不太清楚其它龙芯服务器是否也是这样。 由于机器太旧,没有兼容的新版本系统支持,因此只能放弃在此机器上编译 CoreCLR,改成使用 X86(Linux) 跨架构模拟CPU,使用了 QEMU 工具来跑适配龙芯的 Fedora28 系统。 ,我们可以在 Linux for X86 的机器上,使用 Emulate Loongson On x86 Machine(以下简称QEMU) 来模拟运行龙芯 CPU 。