龙芯技术社区
直播中

tinnu

8年用户 133经验值
擅长:可编程逻辑 嵌入式技术 控制/MCU
私信 关注
[2K系列]

【龙芯2K0300蜂鸟板试用】tinnu-01-开箱上电、环境配置

开箱

- 感谢发烧友和龙芯提供的开发板。
- 拿到盒子,看见上面“龙芯中科”四个字的时候,真的感觉如梦似欢,这是中国人第一次真正拥有了一个有潜力的资助指令集。

p1.jpg
p3.jpg


IC介绍

  • 核心板上5颗IC

    1. 主控: 龙芯的2K0300
    2. 运存: 三星,K4AG16,512M DDR4
    3. 存储: 江波龙foresee 8G EMMC
    4. 网卡: motorcomm yt8531
    5. SPI FLASH: 兆易创新 GD25Q80CTIG
    • 背面还有些电源IC,主要是 艾诺半导体的EZ8302 矽力杰的SY6280 和 圣邦微的SGM2028 SGM811

    核心板实物图.png
    核心板2.png

  • 扩展版上都是一些小IC

    • RS6334 运放,用于电流检测
    • CH340K 串口转USB

    扩展板2.png

  • 接口

    • TYPEC USB是作为调试USB串口从机功能
    • 两个USB2.0 host
    • 1000M Ethernet
    • 5V in DC
    • 正点原子定义的RGB LCD接口
    • 背面一个TF卡槽

    功能接口图.png

  • 排针接口

    • 4个PH2.0规格接插口,分别提供4路CANFD、SPI、PWM
    • 1个SPI烧录器接口
    • 排针接口如图:

    接口定义图.png

上电

  • 出场默认带一个系统,接上TYPE USB后,系统会自动启动,串口115200连接:

    启动.png

  • 能感受到发热有点厉害,通过命令 cat /sys/class/thermal/thermal_zone0/temp 获取芯片温度 53℃

    温度1.png

    • 装个小散热片:50℃

    温度2.png

    • 再用风扇吹一下:48℃

    温度3.png

    • 感觉聊胜于无?

网络连接

  • 板端网络是固定IP,默认使用nmtui管理

网络.png

系统更新

  • FTP只能接收小文件,大文件拉不下来(后来发现是由于百兆网的问题,但更新系统的时候不知道)

  • 所以采用U盘的方法更新。U盘必须插入下面的USB口,上面那个USB口识别不了。

  • 串口连接控制台,系统启动后按住m不放,会进入特殊的boot界面。

    boot1.png

  • 更新最新系统必须把uboot和rootfs都更新了,这是由于新rootfs的env发生改变,如果不想更新boot只能重新配置env,详细信息在镜像页。

  • 只更新 uImage 或 rootfs.img 会启动失败:

[    5.370759] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[    5.381830] ALSA device list:
[    5.388785]   No soundcards found.
[    5.396137] Waiting for root device /dev/mmcblk0...
[    5.440169] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
[    5.448908] cfg80211: failed to load regulatory.db
[    5.453836] mmc0: new high speed MMC card at address 0001
[    5.459953] mmcblk0: mmc0:0001 08A391 7.28 GiB 
[    5.464668] mmcblk0boot0: mmc0:0001 08A391 partition 1 4.00 MiB
[    5.470807] mmcblk0boot1: mmc0:0001 08A391 partition 2 4.00 MiB
[    5.482173]  mmcblk0: p1
[    5.491895] List of all partitions:
[    5.495446] 0100           32768 ram0 
[    5.495451]  (driver?)
[    5.501618] 0101           32768 ram1 
[    5.501623]  (driver?)
[    5.507790] 0102           32768 ram2 
[    5.507795]  (driver?)
[    5.513943] 0103           32768 ram3 
[    5.513946]  (driver?)
[    5.520100] 0104           32768 ram4 
[    5.520104]  (driver?)
[    5.526253] 0105           32768 ram5 
[    5.526257]  (driver?)
[    5.532423] 0106           32768 ram6 
[    5.532426]  (driver?)
[    5.538560] 0107           32768 ram7 
[    5.538563]  (driver?)
[    5.544695] 0108           32768 ram8 
[    5.544698]  (driver?)
[    5.550829] 0109           32768 ram9 
[    5.550832]  (driver?)
[    5.556962] 010a           32768 ram10 
[    5.556966]  (driver?)
[    5.563184] 010b           32768 ram11 
[    5.563187]  (driver?)
[    5.569405] 010c           32768 ram12 
[    5.569408]  (driver?)
[    5.575646] 010d           32768 ram13 
[    5.575650]  (driver?)
[    5.581870] 010e           32768 ram14 
[    5.581873]  (driver?)
[    5.588092] 010f           32768 ram15 
[    5.588095]  (driver?)
[    5.594317] 1f00             924 mtdblock0 
[    5.594320]  (driver?)
[    5.600889] 1f01              32 mtdblock1 
[    5.600893]  (driver?)
[    5.607460] 1f02               4 mtdblock2 
[    5.607463]  (driver?)
[    5.614035] 1f03              64 mtdblock3 
[    5.614039]  (driver?)
[    5.620608] 0800         1946624 sda 
[    5.620613]  driver: sd
[    5.626746]   0801         1946592 sda1 00000000-01
[    5.626750] 
[    5.633143] b300         7634944 mmcblk0 
[    5.633147]  driver: mmcblk
[    5.639977]   b301          523264 mmcblk0p1 dca33646-01
[    5.639980] 
[    5.646809] No filesystem could mount root, tried: 
[    5.646813]  ext4
[    5.651710] 
[    5.655137] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(179,0)
[    5.663623] ---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(179,0) ]---
  • 更新后的版本信息
    version.png

SSH 服务

openssh.png

  • 从 systemctl 里面可以找到
  • systemctl status sshd.service

网络连接

  • 一开始SSH一直连不上,后来发现是由于 百兆网的问题
  • 所以当时先用了telnet,telnet是可以立即连接的。
    • 首先在开发板端执行 telnetd
    • 然后在PC端执行 telnet 《IP》

使用

交叉编译环境

  • 网盘里有8.3版本的GCC交叉编译链
  • 通过在CMAKE指定编译链路径,编译出可执行文件:
    set(CMAKE_C_COMPILER "/path/loongson-gnu-toolchain-8.3-x86_64-loongarch64-linux-gnu-rc1.3-1/bin/loongarch64-linux-gnu-gcc")
    set(CMAKE_CXX_COMPILER "/path/loongson-gnu-toolchain-8.3-x86_64-loongarch64-linux-gnu-rc1.3-1/bin/loongarch64-linux-gnu-g++")
    

paly.png

gdbserver

  • 编译 gdbserver

    ../configure \
    	--host=loongarch64-linux-gnu  --target=loongarch64-linux-gnu \
    	CC=loongarch64-linux-gnu-gcc CXX=loongarch64-linux-gnu-g++ LD=loongarch64-linux-gnu-ld AR=loongarch64-linux-gnu-ar	\
    	--disable-tui
    
    • 报错,缺少 gmp 库,需要手动编译。但是gdbserver是编译出来了。在板端也能正常运行

    gdb-server.png

    • 上板子实测,跟目前gdb无法兼容,想编译原生的gdb,需要先编译gmp库。

    gdb-vs-fail.png

  • gmp

    • wget --no-check-certificate "https://gmplib.org/download/gmp/gmp-6.3.0.tar.xz
    • config脚本
      ../configure 
      --host=loongarch64-linux-gnu  --target=loongarch64-linux-gnu \
      CC=loongarch64-linux-gnu-gcc CXX=loongarch64-linux-gnu-g++ LD=loongarch64-linux-gnu-ld AR=loongarch64-linux-gnu-ar	\
      --prefix=./install
      
    • 报错,不支持loongarch架构(龙芯的手册里有提到这种情况的处理方法,但暂时还没研究)

    gdb-gmp.png

  • 暂时没辙,只能之后看看编译buildroot的时候能不能整出来。

  • 既然直接在 loongarch 运行的 gdb 编译不出来,我可以试一下编译在x86上运行的、调试loongarhc的交叉调试器。

更多回帖

发帖
×
20
完善资料,
赚取积分