150 lines
5.8 KiB
Markdown
150 lines
5.8 KiB
Markdown
# loongson_pi2 板级支持包说明
|
||
|
||
## 1. 简介
|
||
|
||
2K龙芯派采是首款采用2K1000低功耗处理的嵌入式方案验证板,具有资源丰富、接口齐全、低功耗、高可靠的特点。
|
||
|
||
| 硬件 | 描述 |
|
||
| -- | -- |
|
||
|芯片型号| 2K1000 |
|
||
|CPU| GS264 |
|
||
|主频| 1GHz |
|
||
|DDR3| 2GB |
|
||
|片外Flash| 8Mb SPI FLASH |
|
||
|
||
[龙芯派][1]搭载 2K1000 处理器(主频 1GHz),板载 DDR3 颗粒,实现 DDR3 的运行存储功能。实现了 GPIO 的输入输出,中断功能。板上集成 1 个网 口,集成 3 个 USB 接口,HDMI 接口,LCD 接口,音频输入/输出,集成 SD 卡接口,集成 2 个 CAN 接口,集成 RTC 计时功能。可以外扩 WIFI 模块。2K 龙芯派可以广泛应用于信息安 全、电力、轨道交通、工业控制、信号处理、数据通信、信息教育等领域。
|
||
|
||
|
||
## 2. 编译说明
|
||
|
||
环境搭建在**Ubuntu**上进行,首先下载[mips-sde-elf-gcc][2]。该文件存放在网盘中,提取码为ucb2。
|
||
|
||
**windows**上环境搭建可以下载如下工具链:
|
||
|
||
[mips-2015.05-19-mips-sde-elf.exe](https://sourcery.mentor.com/GNUToolchain/package13851/public/mips-sde-elf/mips-2015.05-19-mips-sde-elf.exe)
|
||
|
||
解压到指定的目录,然后修改当前bsp目录下的`rtconfig.py`文件。
|
||
|
||
```python
|
||
if CROSS_TOOL == 'gcc':
|
||
PLATFORM = 'gcc'
|
||
EXEC_PATH = "/opt/mips-2015.05-19-mips-sde-elf-i686-pc-linux-gnu/mips-2015.05/bin/"
|
||
```
|
||
|
||
如果不想修改`rtconfig.py`可以尝试第二种办法:
|
||
|
||
安装好工具链后,假设工具链安装在`D:\mgc\embedded\codebench`目录下。使用env工具,打开console后,进入到命令行环境中,需要手动设置工具链的环境变量`RTT_EXEC_PATH`:
|
||
|
||
set RTT_EXEC_PATH=D:\mgc\embedded\codebench\bin
|
||
|
||
使用env工具,可以在console下进入到`bsp/ls2kdev`目录中,然后在控制台输入`scons`即可,可以生成`rtthread.elf`、`rtthread.bin`文件,其中`rtthread.elf`是下载到开发板上的程序。
|
||
|
||
## 3.程序运行
|
||
|
||
rt-thread固件目前在龙芯派上推荐使用[pmon][3]通过tftp的方式下载到设备内存中运行。
|
||
|
||
其中龙芯派硬件分布如下图所示:
|
||
|
||
![loongsonpi](figures/loongsonpi.png)
|
||
|
||
首先板子接上12V的电源,然后连接串口,该串口为RS232,所以需要RS232转USB线来进行连接。接着连接`LAN0`网口。
|
||
|
||
初次上电时,需要按下开发板的`START`按键,听到`滴`启动声后可以在控制台看到串口打印信息。通过启动时在控制台不停的按下字符`c`直到进入到pmon控制台。
|
||
|
||
|
||
|
||
需要让开发板和主机处于同一网段,利用pmon的tftp进行固件传输。首先查看主机的ip地址,如果`ifconfig`查看ip是`192.168.12.35`。输入以下指令开始运行。
|
||
|
||
```
|
||
ifaddr syn0 192.168.12.100
|
||
load tftp://192.168.12.35/rtthread.elf;
|
||
g
|
||
```
|
||
|
||
其中`ifaddr`是设置pmon设置网络的命令,`syn0`表示第一个网卡。然后从tftp的主机上加载`rtthread.elf`文件,此时主机必须有tftp服务器。`g`表示程序跳转运行。
|
||
|
||
而后可以看到rtthread程序正常的运行。
|
||
|
||
```
|
||
zero at v0 v1 a0 a1 a2 a3
|
||
00000000 00000000 00000000 00000000 00000003 aafffea8 8f800000 8f1371d0
|
||
t0 t1 t2 t3 t4 t5 t6 t7
|
||
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
|
||
s0 s1 s2 s3 s4 s5 s6 s7
|
||
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
|
||
t8 t9 k0 k1 gp sp s8 ra
|
||
00000000 00000000 00000000 00000000 00000000 aafffe88 00000000 8f0b1418
|
||
Current SR: 0x10008080
|
||
|
||
\ | /
|
||
- RT - Thread Operating System
|
||
/ | \ 4.0.3 build Apr 7 2020
|
||
2006 - 2020 Copyright by rt-thread team
|
||
Hi, this is RT-Thread!!
|
||
msh >
|
||
```
|
||
|
||
## 4.开机自动启动
|
||
|
||
在调试阶段,可以利用脚本,在pmon阶段从TFTP服务器上获取固件,然后引导启动。这样可以节省开发配置的时间。具体的步骤如下:
|
||
|
||
**第一步:**
|
||
设置开发板的IP地址,在进入pmon的控制台后,输入`set ifconfig syn0:10.1.1.100`。其中`syn0`后面的ip地址为开发板的ip地址,与存放rt-thread固件的TFTP的服务器IP地址在**同一网段**。
|
||
|
||
**第二步:**
|
||
|
||
进入龙芯的Debian系统,用管理员权限进入,输入用户名`root`,密码`loongson`。并且修改boot分区下的boot.cfg文件。增加如下:
|
||
|
||
```
|
||
title TFTPBOOT
|
||
kernel tftp://10.1.1.118/rtthread.elf
|
||
args console=tty root=/dev/sda2
|
||
initrd (wd0,0)/initrd.img
|
||
```
|
||
|
||
其中`tftp://10.1.1.118/rtthread.elf`中的`10.1.1.118`为tftp服务器的ip地址。
|
||
|
||
**第三步:**
|
||
|
||
电脑开启TFTP服务器,将路径指向存放有ls2k的rt-thread固件的目录下。
|
||
|
||
以上三步完成之后,重启系统,就可以省略每次都需要进入pmon的输入命令的麻烦,板子上电后,可以自动从系统TFTP服务器中获取固件,然后启动,大大提高调试代码效率。
|
||
|
||
## 5.SATA接口的SSD文件系统支持
|
||
|
||
当前已经支持SATA接口的SSD文件系统驱动,需要通过menuconfig
|
||
|
||
```
|
||
RT-Thread online packages --->
|
||
system packages --->
|
||
lwext4: an excellent choice of ext2/3/4 filesystem for microcontrollers
|
||
```
|
||
|
||
然后输入下面的命令更新软件包
|
||
|
||
```
|
||
pkgs --update
|
||
```
|
||
|
||
输入`scons`编译代码即可使用SATA接口的SSD文件系统。
|
||
|
||
## 6. 支持情况
|
||
|
||
| 驱动 | 支持情况 | 备注 |
|
||
| ------ | ---- | :------: |
|
||
| UART | 支持 | UART0\UART4,波特率可调 |
|
||
| GPIO | 支持 | - |
|
||
| PWM | 支持 | - |
|
||
| GMAC | 支持 | 网卡驱动 |
|
||
| RTC | 支持 | - |
|
||
| SPI | 支持 | - |
|
||
| SATA SSD | 支持 | 需要打开lwext4软件包 |
|
||
|
||
## 7. 联系人信息
|
||
|
||
维护人:[bernard][4]
|
||
|
||
[1]: http://ftp.loongnix.org/loongsonpi/pi_2/doc
|
||
[2]: https://pan.baidu.com/s/17dbdOE4NAJ-qEW7drVRq2w
|
||
[3]: http://ftp.loongnix.org/embedd/ls2k/
|
||
[4]: https://github.com/BernardXiong |