久久派开发板是基于龙芯2K0300处理器的嵌入式开发平台,专为工业控制、物联网和智能设备设计。作为一款国产自主可控的开发板,它具有以下核心硬件配置:
实际开发中,建议优先使用eMMC作为主存储介质,其读写性能(约100MB/s顺序读写)远超SPI Nor Flash(通常仅1-2MB/s),能显著提升系统响应速度。
开发板提供了2.54mm间距的2x15pin扩展接口,包含:
接口布局如下图所示:
code复制[上排引脚]
1: P3V3 2: GND 3: ADC4 4: ADC0
5: ADC1 6: ADC5 7: ADC2 8: ADC6
9: ADC3 10: ADC7
[下排引脚]
1: VCC3.3 2: GND 3: PWM0 4: PWM1
5: CAN0_RX 6: CAN0_TX 7: CAN1_RX 8: CAN1_TX
...
开发板配备54pin FPC连接器,支持RGB888格式的LCD显示,关键信号包括:
典型应用场景:
c复制// 背光控制示例
#define BACKLIGHT_GPIO 87
void set_backlight(int brightness) {
pwm_config(BACKLIGHT_GPIO, 1000, brightness); // 1kHz PWM
}
bash复制sudo apt update
sudo apt install -y git make gcc flex bison libssl-dev bc \
libncurses-dev cmake pigz device-tree-compiler
官方提供基于GCC 13.3的工具链:
bash复制wget https://gitee.com/open-loongarch/cross-toolchain/blob/master/gcc-13/loongarch64-linux-gnu-gcc13.3.tar.xz
bash复制sudo tar -xvf loongarch64-linux-gnu-gcc13.3.tar.xz -C /opt
echo "export PATH=/opt/loongarch64-linux-gnu-gcc13.3/bin:\$PATH" >> ~/.bashrc
source ~/.bashrc
验证安装:
bash复制loongarch64-linux-gnu-gcc -v
# 应输出类似信息:
# gcc version 13.3.0 (Buildroot -ga9f4f28a-dirty)
通过SSH连接开发板:
bash复制ssh root@<board_ip>
# 默认密码通常为"loongson"
| 特性 | 旧世界 (ABI 1.0) | 新世界 (ABI 2.0) |
|---|---|---|
| 内核版本 | Linux 4.19 | Linux 6.1+ |
| 工具链 | GCC 8.3 | GCC 13.3 |
| 软件生态 | 封闭,兼容性差 | 开源主流支持 |
| 典型系统 | Loongnix 20 | Arch Linux, Debian |
bash复制git clone https://gitee.com/open-loongarch/build-2k0300.git
cd build-2k0300
./start.sh # 自动下载u-boot、kernel和buildroot
bash复制cd workspace/u-boot
make ls2k0300_defconfig
make -j$(nproc)
bash复制cd ../linux-6.12
make ARCH=loongarch defconfig
make ARCH=loongarch -j$(nproc)
bash复制cd ../buildroot-2024.08
make loongarch64_defconfig
make -j$(nproc)
bash复制sudo dd if=output/images/sdcard.img of=/dev/sdX bs=1M status=progress
错误表现:
code复制fatal error: openssl/ssl.h: No such file or directory
解决方案:
bash复制sudo apt install libssl-dev
错误表现:
code复制undefined reference to `dlopen'
解决方案:在编译命令中添加-ldl选项
接线示例:
code复制开发板TX -> 调试器RX
开发板RX -> 调试器TX
开发板GND -> 调试器GND
bash复制# 导出GPIO
echo 55 > /sys/class/gpio/export
# 设置方向
echo out > /sys/class/gpio/gpio55/direction
# 控制输出
echo 1 > /sys/class/gpio/gpio55/value
c复制// 示例:向量加法
void vec_add(float *a, float *b, float *c, int n) {
for (int i = 0; i < n; i += 4) {
asm volatile (
"ld.w $vr0, %0\n"
"ld.w $vr1, %1\n"
"fadd.s $vr2, $vr0, $vr1\n"
"st.w $vr2, %2\n"
: "+r"(a), "+r"(b), "+r"(c)
:
: "memory"
);
}
}
I2C设备驱动示例框架:
c复制static const struct i2c_device_id mydev_id[] = {
{ "my_device", 0 },
{ }
};
static struct i2c_driver mydev_driver = {
.driver = {
.name = "mydev",
.owner = THIS_MODULE,
},
.probe = mydev_probe,
.remove = mydev_remove,
.id_table = mydev_id,
};
module_i2c_driver(mydev_driver);
通过以上内容,开发者可以全面掌握龙芯2K0300平台的开发环境搭建、系统升级和基础开发技能。在实际项目中,建议结合具体应用场景选择合适的软件架构和优化策略。