刘世伟 的blog

来看看天才高中生春节期间是怎么玩龙芯的

传说中的天才高中生flygoat,在春节前拿到了龙芯3A4000的机器,看看他都完成了那些工作, 一个人顶一个10人团队!

在3A4000上发现了一个1Ghz的未公开的单发射32位GS132小核,

并把RTT嵌入式操作系统在这个小核上跑起来,目标代码200k,

 让小核去控制cpu的频率和电压,

把28ns工艺的龙芯3A4000安全超频到2.2Ghz.

废话不多说, 看他写的blog吧:

https://blog.flygoat.com/archives/118

 

 

龙芯电脑配套远程控制卡

最近debian的负责mips的dd们, 募集到7块龙芯主板,有3A1000,3B1500,3A2000(这个是我捐的), 要组建mips架构的编译集群,替换下原来用了几年的3A1000编译机,为此,我专门为他们设计制造了pc远程控制卡prc,用于集群的控制。

自我感觉东西做的还可以, 我已经把家里的龙芯2F-nas,还有公司的服务器都加上了这个远程控制卡,很方便。

不一定只用于龙芯电脑, 也可以用于x86,并且带5-30V/20A的直流输出开关可控。

通过telnet 登录,可以控制复位键,关机键,和控制直流输出,可以通过telnet链接目标服务器的串口,控制pmon,grub和登录shell

项目目录在这里 https://github.com/lshw/prc

剩余的一些prc挂在淘宝上了,有成品,有散件:

https://item.taobao.com/item.htm?id=611681003797

 

安装程序更新

我们以前的快速安装程序, 近期进行了更新, 并且把源码和打包脚本放到了github上,

https://github.com/lshw/bjlx_installer

http://mirrors.cloud.tencent.com/loongson/install/loongson64_debian10_20... 支持3A1000,3B1500,3A2000,3A3000和2K-1000的cpu的主板

debian11 的龙芯3开发环境

我们bjlx的龙芯补充源, 增加了debian11的龙芯llsc补丁, 这么增加bjlx的龙芯补充源:

建立 /etc/apt/sources.list.d/bjlx.list:

deb http://mirrors.tuna.tsinghua.edu.cn/bjlx bullseye main
deb-src http://mirrors.tuna.tsinghua.edu.cn/bjlx bullseye main

然后把bjlx的key 导入debian的apt系统:

wget https://mirrors.tuna.tsinghua.edu.cn/bjlx/bjlx.key

apt-key add bjlx.key
 

然后就是常规的debian操作就行了:

apt  update

apt upgrade

 

注:镜像同步正在进行,晚些时候, 才可以使用

fdisk用脚本自动分区

fdisk利用脚本自动分区,可以用于快速部署系统, 或者需要复制一个硬盘的分区格式到另外的硬盘。

在sfdisk有个很好用的-d参数,以前十多年以来,我们一直这么干:

sfdisk -d /dev/sdx |sfdisk /dev/sdy

把分区从x盘复制到y盘

但sfdisk有2个弊端, 由于sfdisk不是核心工具,在debian的各版本中,它会时有时无,并且sfdisk不支持GPT

最近发现linux的核心工具fdisk从sfdisk吸收了这个思路,可以用O命令输出类似于sfdisk的分区表文本备份文件,并且可以用I命令导入,并且支持GPT

虽然fdisk不能用命令行来做分区表的自动导入导出。我们可以用重定向功能来实现脚本自动。这可以用在自动快速安装linux系统上

详细如下(红字为键盘输入内容,灰底是需要注意部分):

龙芯itx主板对应 pmon 文件

智龙V3的扩展引脚勘误

有几个引脚跟标注的是错误的
标注,腿号,功能
P40,88,ADC-YP
P06,78,GPIO6 ADC-XN(正确)
P42,81,ADC-REXT
P43,82,ADC-VERF
P44,83,ADC-VADDA
P45,80,CORE-VSS
D0,85,ADC-D0(正确)
D1,86,ADC-D1(正确)

在linux命令行,操作mips寄存器的一组工具,进行gpio复用,串口控制等等

源码:

https://github.com/lshw/regs_tools

这里是static编译的bin文件 32/64位系统都可以用 https://www.anheng.com.cn/loongson/loongson1c_bsp/tools/regs_tools.tgz

gpio_func loongson1C的gpio功能复用设置程序,2个参数, 功能号(0-5),gpio号

cbus_dump 列出loongson1C的所有gpio复用

regs_read 读取寄存器, 一个参数 比如0x1fd00420 ,外设控制寄存器, 如果地址是32位对齐的,会显示出32位数据

修复智龙主板V3的uart9不能用的问题

补丁在这里

https://github.com/lshw/loongson1-kernel3.18/commit/e5fab956e15b376f12b7...

原因是uart8的全功能控制器(uart8_full_func)跟uart9的串口寄存器MCR地址重叠,

造成在操作uart9的DTR信号时, 把uart8切换到了全功能模式。此时,UART9-11会无效,

补丁屏蔽了uart9对DTR信号的控制, 本来UART9就只有TX/RX线, 没有DTR线,所以这也不影响啥。

感谢南京大学,对本站的目录进行镜像

至此,有三家大学的开源镜像服务器对我们的目录进行了镜像 一并感谢:

中科大: 

http://mirrors.ustc.edu.cn/bjlx

http://mirrors.ustc.edu.cn/loongson

 

清华: 

http://mirrors.tuna.tsinghua.edu.cn/bjlx

http://mirrors.tuna.tsinghua.edu.cn/loongson

 

南京大学:

https://mirrors.nju.edu.cn/bjlx

https://mirrors.nju.edu.cn/loongson

 

主站在安恒集团(带宽较小,并限速,不建议直接使用):

https://www.anheng.com.cn/bjlx

https://www.anheng.com.cn/loongson

 

 

从运行中的龙芯中得到pmon文件

在一个3B1500中,pmon版本是1.1.0,以前只拿到了1.0.8的版本,见这里:

https://www.anheng.com.cn/loongson/pmon/updates.lemote.com/files/upload/...

 

根据已有版本的bin 得到它们共同的起始特征都是00 60 80 40  00 68 80 40

结束都是8F  09 00 00 00  06 00 00 00

然后,我们去搜/dev/mem找到这2个特征的位置:

0xF80000 - 0xF86E79C

然后就可以把它dd出来:

dd if=/dev/mem of=/home/pmon-A1310-1.1.0.bin bs=1 skip=260046848 count=452508

其中 260046848=0xF800000,  452508=(0xF86E79C-0xF800000)

 

有人在找龙芯3A1000的新格式的pmon ,在这里有

最近有幸运的朋友拿到了龙芯3B1500的主板

最近淘宝上出现了150元一片的3B1500,好多朋友拿到了,下面说一下它的情况。

3B1500是带浮点阵列的,浮点性能达到160GF,缺点就是比较热

带的是昆仑固件, 界面友好,但功能不及PMON

debian9的mips64el可以直接用, 不过内核最好使用床单厂陈华才他们的,

在这里下载:

https://mirrors.tuna.tsinghua.edu.cn/bjlx/pool/main/l/linux-source-4.4.8...

这个内核通吃龙芯3 cpu,从3A1000,3B1500,3A2000,3A3000

龙芯1C pmon的一些修改

1.pmon大约是310K,  spi-rom的体积是512k,在pmon和最后4k的nvram变量区之间, 有大约190K的空闲空间。

最新的pmon把这个空闲空间自动计算出来,添加为mtd5分区, 命名为spi_data.
补丁在这里:<br>
https://github.com/lshw/loongson1-pmon/commit/d4a9aaa8f4c219da923f0d1612...

重新开张

一年多以前, 因为域名备案问题, 本站强制下线。一年以后,在美国的服务器, 重新开张。 。。。。。。。。
聚合内容