当前位置: 首页 > news >正文

龙芯LS2K0300久久派上手体验

介绍

芯片

龙芯2K0300芯片是一款基于LA264处理器核的多功能SoC芯片,可广泛适用于工业控制、通信设备、信息家电和物联网等领域;该芯片采用高集成度设计,可提供丰富的功能接口,满足多场景应用需求,同时支持低功耗技术,能够在低能耗条件下进行高效处理,具有以下特色:

  • 处理器主频1GHz(功耗 < 1W),64位双发射超标量LA264,支持LoongArch指令系统,有286个引脚
  • 16位DDR4-1600控制器,支持ECC校验
  • 32KB一级指令缓存和32KB一级数据缓存,支持ECC校验;512KB二级共享缓存,支持ECC校验
  • 集成2个USB2.0、2个GMAC、1路LCD显示
  • 支持处理器核时钟动态变频;支持主要模块时钟动态关闭
  • 1个I2S、4个CAN-FD、4个SPI、2个QSPI、2个eMMC、2个SDIO、1个LIO、8通道ADC、4个I2C、10个UART,4个PWM、3组TIMER、106个GPIO、RTC、HPET、JTAG等

在这里插入图片描述

开发板

久久派搭载龙芯SOC芯片LS2K0300,板载Ethernet、WIFI / BT、USB、ADC、Audio、Display、RTC等功能或接口,内存容量512M,EMMC容量为4G,电源供电为USB Type C口,有2路拓展引脚

在这里插入图片描述

引脚资源

板载2 x 15 Pin IO接口

PIN信号定义备注PIN信号名称备注
1GND2P3V3
3PWM2GPIO884UART0_TXD
5PWM3GPIO896UART0_RXD
7CAN2_TXGPIO738UART1_TXD
9CAN2_RXGPIO7210UART1_RXD
11CAN3_TXGPIO7512UART2_TXD
13CAN3_RXGPIO7414UART2_RXD
15I2C1_SCLGPIO5016I2C0_SCLGPIO48
17I2C1_SDAGPIO5118I2C0_SDAGPIO49
19GND20GND
21SPI2_CLKGPIO64 / TXD522SPI1_CLKGPIO60 / RXD4
23SPI2_CSnGPIO67 / TXD324SPI1_CSnGPIO63 / RXD8
25SPI2_MISOGPIO65 / RXD526SPI1_MISOGPIO61 / TXD4
27SPI2_MOSIGPIO66 / RXD328SPI1_MOSIGPIO62 / TXD8
29GND30P5V5V电源

LCD接口(可以用FPC54转换成排针引脚来使用)

PIN信号定义备注
1TSX+扩展触摸信号, NC
2TSX-扩展触摸信号, NC
3TSY+扩展触摸信号, NC
4TSY-扩展触摸信号, NC
5、 15、 24、 33、 42、 46、 48GND
6LS2K_GPIO54电源使能(硬件默认上拉)
7LS2K_I2C_SDA0
8LS2K_I2C_SCL0
9、 10、 11、 12NC
13LS2K_GPIO52触摸板中断(硬件默认上拉)
14LS2K_GPIO53触摸板复位(硬件默认上拉)
16 - 23LS2K_LCD_D[0:7]B 数据
25 - 32LS2K_LCD_D[8:15]G 数据
34 - 41LS2K_LCD_D[16:23]R 数据
43LS2K_LCD_HSYNC水平同步
44LS2K_LCD_VSYNC垂直同步
45LS2K_LCD_EN数据有效
47LS2K_LCD_CLK时钟输出
49LS2K_PWM0背光控制(GPIO87)
50 - 54VCC_5V

ADC接口

PIN信号定义备注
1P3V33.3V 电源输出
2GND0
3ADC 通道 40/4 通道可以独立采样, 也可以作为差分采样
4ADC 通道 00/4 通道可以独立采样, 也可以作为差分采样
5ADC 通道 11/5 通道可以独立采样, 也可以作为差分采样
6ADC 通道 51/5 通道可以独立采样, 也可以作为差分采样
7ADC 通道 22/6 通道可以独立采样, 也可以作为差分采样
8ADC 通道 62/6 通道可以独立采样, 也可以作为差分采样
9ADC 通道 33/7 通道可以独立采样, 也可以作为差分采样
10ADC 通道 73/7 通道可以独立采样, 也可以作为差分采样

连接

供电:USB Type C线,这个没有串口功能,只是纯粹的供电

串口:CH340T USB串口线连接UART 0

联网:参考我的另一篇文章进行网络共享让电脑快速连接开发板,设置虚拟机网络适配器为桥接方式联网,可以实现虚拟机直连开发板

开发环境

前置依赖

toolchain:loongson-gnu-toolchain-8.3-x86_64-loongarch64-linux-gnu-rc1.3-1.tar.xz

kernel:linux-4.19-0614.tar.gz

rootfs:loongos-qt.cpio

编译内核

先安装bison、flex

sudo apt install bison flex libncurses5‐dev libssl-dev

导入toolchain环境变量

export PATH=$PATH:/home/asensing/loongson/loongson-gnu-toolchain-8.3-x86_64-loongarch64-linux-gnu-rc1.3-1/bin

拷贝配置

cp arch/loongarch/configs/loongson_2k300_defconfig .config

配置内核

make menuconfig ARCH=loongarch

编译内核

 make vmlinuz ARCH=loongarch CROSS_COMPILE=loongarch64-linux-gnu- -j8

清理内核

make clean ARCH=loongarch CROSS_COMPILE=loongarch64-linux-gnu- -j8

拷贝到指定位置/boot目录下,设备树默认是编译到内核里边去的

scp vmlinuz root@192.168.137.111:/boot

外设调试

GPIO

以文件系统下GPIO调试为例:

  • 设置和查看GPIO状态:ls -l /sys/class/gpio

  • 导出GPIO:echo XX > /sys/class/gpio/export

  • 取消导出GPIO:echo XX > /sys/class/gpio/unexport

  • 设置GPIO工作模式:echo “out” >/sys/class/gpio/gpioX/direction

  • 查看GPIO寄存器的信息 :/sys/class/gpio/gpiochipX

  • 查看GPIO占用:cat /sys/kernel/debug/gpio

  • 查看GPIO中断:cat /proc/interrupts

循环输出方波

while true; 
do echo 1 > /sys/class/gpio/gpio48/value; sleep 0.1; echo 0 > /sys/class/gpio/gpio48/value; sleep 0.1; 
done;

i2c

以i2c-tool工具为例(以BH1750设备调试):

  • 先查看/dev目录下是否有i2c总线节点,没有的话要检查以下设备树
  • 查看i2c总线上的从设备:i2cdetect -y 0
  • 读取数据:i2cget -y 0 0x23 0x00
  • 写入数据:i2cset -y 0 0x23 0x00 0x10

快速开发

在QtCreator中自定义Compilers

在这里插入图片描述

自定义Debuggers

在这里插入图片描述

添加远程设备

在这里插入图片描述

配置Kits
在这里插入图片描述

设置完这几步,即可在QtCreator里边很方便地进行软件的交叉编译以及移植开发

总结

龙芯LS2K0300久久派这个板子很小,几乎跟树莓派一样大,但它的IO资源确实非常丰富,你甚至可以用FPC 54 PIN引出GPIO

相关文章:

  • 详解 HBase 的安装部署及命令行操作
  • 2024前端面试准备5-React相关
  • C++ 网络套接字编程 tcp udp
  • 金鸣识别系统:PDF转Excel的高效利器
  • 前端:鼠标点击实现高亮特效
  • 网络层 IP协议【计算机网络】【协议格式 || 分片 || 网段划分 || 子网掩码】
  • Linux-curl命令详解
  • Mac 使用 Homebrew 安装 Python3
  • nvm安装和使用,windows
  • Perl语言入门学习
  • 进阶篇06——锁
  • Java应用打包成Docker镜像
  • 【深度学习驱动流体力学】OpenFOAM目录流体力学求解器汇总介绍
  • Python学习笔记14 -- 小项目 - 简易机器人
  • 【html】用html+css做地表最强王者荣耀辅助工具
  • [LeetCode] Wiggle Sort
  • Akka系列(七):Actor持久化之Akka persistence
  • CSS魔法堂:Absolute Positioning就这个样
  • Magento 1.x 中文订单打印乱码
  • Sass Day-01
  • Vue ES6 Jade Scss Webpack Gulp
  • XML已死 ?
  • 安卓应用性能调试和优化经验分享
  • 闭包,sync使用细节
  • 持续集成与持续部署宝典Part 2:创建持续集成流水线
  • 给初学者:JavaScript 中数组操作注意点
  • 解析带emoji和链接的聊天系统消息
  • 深度解析利用ES6进行Promise封装总结
  • 一加3T解锁OEM、刷入TWRP、第三方ROM以及ROOT
  • MiKTeX could not find the script engine ‘perl.exe‘ which is required to execute ‘latexmk‘.
  • 你对linux中grep命令知道多少?
  • 数据可视化之下发图实践
  • ​​​​​​​GitLab 之 GitLab-Runner 安装,配置与问题汇总
  • ​io --- 处理流的核心工具​
  • ​LeetCode解法汇总1276. 不浪费原料的汉堡制作方案
  • !!java web学习笔记(一到五)
  • #使用清华镜像源 安装/更新 指定版本tensorflow
  • (07)Hive——窗口函数详解
  • (175)FPGA门控时钟技术
  • (C#)Windows Shell 外壳编程系列4 - 上下文菜单(iContextMenu)(二)嵌入菜单和执行命令...
  • (el-Transfer)操作(不使用 ts):Element-plus 中 Select 组件动态设置 options 值需求的解决过程
  • (博弈 sg入门)kiki's game -- hdu -- 2147
  • (补)B+树一些思想
  • (附源码)springboot 智能停车场系统 毕业设计065415
  • (十)Flink Table API 和 SQL 基本概念
  • (实战篇)如何缓存数据
  • (未解决)jmeter报错之“请在微信客户端打开链接”
  • (一)eclipse Dynamic web project 工程目录以及文件路径问题
  • (一)使用Mybatis实现在student数据库中插入一个学生信息
  • ..回顾17,展望18
  • .bat批处理(六):替换字符串中匹配的子串
  • .equal()和==的区别 怎样判断字符串为空问题: Illegal invoke-super to void nio.file.AccessDeniedException
  • .Net Core 中间件与过滤器
  • .NET Core实战项目之CMS 第一章 入门篇-开篇及总体规划
  • .NET 使用 XPath 来读写 XML 文件