龙芯LS2K0300久久派上手体验

news2024/11/15 17:35:43

介绍

芯片

龙芯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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1839823.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

springboot中,将某个函数的日志单独输出的方法

这里写自定义目录标题 背景解决方案解决过程原理 背景 项目中有个节点健康检查扫描功能&#xff0c;每10秒扫描一次节点。 如果节点挂掉&#xff0c;会输出健康检查失败的日志。 测试环境&#xff0c;虽然配置了多个节点&#xff0c;但并没有都启动&#xff0c;所以在扫描的时…

Python学习笔记14:进阶篇(三)。类的终结篇,类的导入和模块的导入。

前言 这篇文章属于类知识的最后一篇&#xff0c;带一点点其他知识&#xff0c;学习内容来自于Python crash course。 关注我私信发送Python crash course&#xff0c;分享一份中文版PDF。 类的导入 在学习的时候&#xff0c;包括之前&#xff0c;我都是在一个文件中把所有代…

matlab线性多部法求常微分方程数值解

用Adamas内差二步方法&#xff0c;内差三步方法&#xff0c;外差二步方法&#xff0c;外差三步方法这四种方法计算。 中k为1和2. k为2和3 代码 function chap1_adams_methodu0 1; T 2; h 0.1; N T/h; t 0:h:T; solu exact1(t);f f1; u_inter_2s adams_inter_2steps(…

【C++高阶】高效搜索的秘密:深入解析搜索二叉树

&#x1f4dd;个人主页&#x1f339;&#xff1a;Eternity._ ⏩收录专栏⏪&#xff1a;C “ 登神长阶 ” &#x1f921;往期回顾&#x1f921;&#xff1a;C多态 &#x1f339;&#x1f339;期待您的关注 &#x1f339;&#x1f339; ❀二叉搜索树 &#x1f4d2;1. 二叉搜索树&…

项目训练营第二天

项目训练营第二天 用户登录逻辑 1、账户名不少于4位 2、密码不少于8位 3、数据库表中能够查询到账户、密码 4、密码查询时用同样加密脱敏处理手段处理后再和数据库中取出字段进行对比&#xff0c;如果账户名未查询到&#xff0c;直接返回null 5、后端设置相应的脱敏后用户的s…

如何使用alias永久别名(linux篇)

一、alias的使用 alias主要作用是起一个别名的用处 它又分两种形式&#xff1a; ① 临时别名 ② 永久别名 1.第一种&#xff08;临时别名&#xff09;&#xff1a; C:\Users\62452>ssh root192.168.0.102 root192.168.0.102s password: Last login: Sat Jun 15 16:30:12 20…

18张Python数据科学速查表.png

数据科学已经发展成为一个庞大的系统&#xff0c;包含数学、统计学、概率论、计算机、数据库、编程等各种理论技术。 目前在主流的数据科学领域一般有三大生态&#xff0c;一是以sas、matlab、spss等为代表的商业软件生态&#xff0c;二是围绕R语言建立起来的开源生态&#xf…

移动硬盘在苹果电脑上无法识别的诊断与恢复策略

一、问题描述 在数字时代&#xff0c;移动硬盘已成为我们存储和传输数据的重要工具。然而&#xff0c;当我们将移动硬盘插入苹果电脑时&#xff0c;有时会遇到无法识别的情况&#xff0c;这让我们感到十分困扰。本文将详细探讨移动硬盘插苹果电脑后读不出来的现象&#xff0c;…

GIT----使用技巧之保存现场回退新建分支继续开发

GIT----使用技巧之保存现场回退新建分支继续开发 前言&#xff1a; 故事是这样的&#xff0c;有一个比较复杂的项目使用的是STM32F103VCT6&#xff08;资源flash-256k,RAM-48k&#xff09;,开发到一半发现RAM不够用了&#xff0c;换容量更大的芯片STM32F103VGT6&#xff08;资源…

Elasticsearch安装(windows)

先给出网址 elasticsearch&#xff1a;Download Elasticsearch | Elastic elasticKibana&#xff1a;Download Kibana Free | Get Started Now | Elastic Logstash&#xff1a;Download Logstash Free | Get Started Now | Elastic ik分词&#xff1a;Releases infinilabs/…

经验分享,16进制与字符串的互相转换网站

分享一个16进制与字符串的互相转换的网站&#xff0c;比较实用。 网址&#xff1a; https://www.bejson.com/convert/ox2str/ 截图&#xff1a;

pytorch自定义扩展

一 torch.nn.Module和torch.autograd.Function pytorch的自定义拓展之&#xff08;一&#xff09;——torch.nn.Module和torch.autograd.Function_用torch.autograd.function还是nn.module-CSDN博客https://blog.csdn.net/qq_27825451/article/details/95189376

人力资源招聘社会校企类型招聘系统校园招聘小程序

校企社会人力资源招聘小程序&#xff1a;开启高效招聘新时代 &#x1f680;开篇&#xff1a;打破传统&#xff0c;开启招聘新篇章 在快速发展的现代社会&#xff0c;人力资源招聘已经成为企业和学校共同关注的重要议题。为了更高效、便捷地满足双方的招聘需求&#xff0c;一款…

创新入门 | 病毒循环Viral Loop是什么?为何能实现指数增长

今天&#xff0c;很多高速增长的成功创业公司都在采用”病毒循环“的策略去快速传播、并扩大用户基础。究竟什么是“病毒循环”&#xff1f;初创公司的创始人为何需要重视这个策略&#xff1f;这篇文章中将会一一解答与病毒循环有关的各种问题。 一、什么是病毒循环&#xff08…

[机器学习算法]决策树

1. 理解决策树的基本概念 决策树是一种监督学习算法&#xff0c;可以用于分类和回归任务。决策树通过一系列规则将数据划分为不同的类别或值。树的每个节点表示一个特征&#xff0c;节点之间的分支表示特征的可能取值&#xff0c;叶节点表示分类或回归结果。 2. 决策树的构建…

SD-WAN组网如何帮助企业降低网络成本?

企业在构建IT网络时&#xff0c;常常面临节省费用和提升效益的挑战。IT开销主要包括设备、网络和维护成本。利用OgCloud的SD-WAN组网方案&#xff0c;企业可以有效地应对这些问题。 企业专线网络的高成本问题 企业专线的费用较高&#xff0c;而且数据不能同时在多条专线上传输。…

matlab编写微分方程椭圆型方程(一维形式)

文章目录 理论编程实例原代码 理论 椭圆型方程一维格式即常微分方程&#xff0c;边值问题&#xff0c;方程如下所示&#xff1a; 截断误差&#xff1a; 当 h → ∞ h\rightarrow\infty h→∞时&#xff0c;截断误差趋于零&#xff0c;离散方程组成立&#xff0c; 写成矩阵&…

就因为没在大屏项目加全屏按钮,早上在地铁挨了领导一顿骂

“嗯嗯”&#xff0c;“嗯嗯”&#xff0c;“那产品也没说加呀”&#xff0c;“按F11不行吗&#xff1f;”&#xff0c;“嗯嗯”&#xff0c;“好的”。 早上在4号线上&#xff0c;我正坐在地铁里&#xff0c;边上站着的妹子&#xff0c;我看他背着双肩包&#xff0c;打着电话…

算法排序之冒泡排序及优化

public class Bubbling {public static void main(String[] args) {// 定义需要排序的数组int[] arr {0,1,21,2,31,12,5,8};// 冒泡排序方法bubbleSort(arr);bubbleOptSort(arr);}/*** 冒泡排序* param arr 数组*/public static void bubbleSort(int[] arr){// i0&#xff0c;…

IPFoxy代理IP:IPv4与IPv6性能与安全性对比

在使用IPFoxy静态代理IP的过程中&#xff0c;经常有小白朋友疑惑&#xff0c;IPv4与IPv6有何区别&#xff1f;他们在性能与安全上的差别如何&#xff0c;又该如何选择&#xff1f;在这篇博文中&#xff0c;我们将从各个方面为您科普这一区别&#xff0c;帮助您更好的选择。 一、…