串口例程 龙芯1c_SylixOS龙芯1C适配总结

1.龙芯1C简介

1.1龙芯1C简介

龙芯 1C300(以下简称 1C)芯片是基于 LS232 处理器核的高性价比单芯片系统,可应用于指纹生物识别、物联传感等领域。1C 包含浮点处理单元,可以有效增强系统浮点数据处理能力。支持 8-bit SLC NAND 或 MLC NAND FLASH,提供高容量的存储扩展接口。

1C 为开发者提供了丰富的外设接口及片上模块,包括 Camera 控制器, USB OTG 2.0 及 USB HOST 2.0 接口, AC97/I2S 控制器, LCD 控制器, ADC 控制器,高速 SPI 接口,全功能 UART 接口等,提供足够的计算能力和多应用的连接能力。片上集成 RTC 功能,可用于实时显示时间。

1.2PMON简介

PMON是一个兼有BIOS和BootLoader部分功能的开放源码软件,多用于嵌入式系统。与BIOS相比功能不足,与常见的BootLoader相比,功能要丰富的多。基于龙芯的系统采用PMON 作为类BIOS 兼BootLoader,并做了很多完善工作。

1.3龙芯1C主要功能

处理器核单核心 LS232, MIPS32 指令集兼容,主频 300MHZ

支持高效双发射(一个时钟节拍执行两条指令)技术

支持寄存器重命名、动态调度、转移预测等乱序发射、乱序执行技术

五级流水线(取指、译码、发射、执行并写回、提交)微体系结构16KB 数据 CACHE 和 16KB 指令 CACHE

集成 64 位浮点处理部件,支持全流水的 64 位浮点加法和浮点乘法运算,硬件实现浮点除法运算

主要功能SDRAM 控制器

SRAM/NOR FLASH 控制器

NAND 控制器

时钟发生器

I2S 控制器

AC97 控制器

LCD 控制器

Camera 接口

MAC 控制器

USB2.0 控制器

SPI 控制器

I2C 控制器

UART 控制器

GPIO(最多支持105个GPIO)

PWM 控制器

RTC(精确到0.1秒)

CAN 控制器

SDIO 控制器

ADC 控制器

2.龙芯1C开发环境搭建

2.1硬件开发环境搭建将智龙开发板的串口与电脑串口连接好

用网线把智龙开发板和PC机连接起来(可以通过路由器和交换机)

给智龙开发板通电

串口引脚如图 2-1所示,三个脚从左到右分别是:TX2、RX2、GND

图2-1串口引脚

搭建好后如图 2-2所示:

图2-2接线图

2.2烧写BSP程序

2.2.1通过TFTP更新BSP

PMON中内置TFTP协议,据此可以采用TFTP对PMON进行更新。采用TFTP更新方式,首先需要宿主机存在TFTP服务端软件。

1.首先配置PMON的IP地址如图2-3所示:

指令:set ifconfig syn0:192.168.2.204

图2-3配置PMON的IP地址

重启后,能ping通宿主机ip地址即可,如图 2-4所示:

指令:ping 192.168.2.180

图2-4测试网络是否通畅

2.在宿主机上启动Tftpd32程序,如图2-5所示:

图2-5打开宿主机的Tftpd32程序

3.将需要烧写的文件存放到Tftpd32指定的目录下,如图2-6所示:

图2-6  Tftpd32目录

4.擦除NandFlash

如果不擦除,可能导致文件系统挂载不正确。

指令如下:

mtd_erase /dev/mtd0

mtd_erase /dev/mtd1

mtd_erase /dev/mtd2

执行效果如图 2-7所示:

图2-7擦除NandFlash

5.将程序烧写到NandFlash中,如图2-8所示:

指令:devcp tftp://192.168.2.180/bspls1c.bin /dev/mtd0

图2-8将bsp烧录到mtd0中

6.设置每次从/dev/mtd0加载,并重启,如图2-9所示:

指令:set al "-r -o80200000 /dev/mtd0;flush -di;g -e 80200000"

图2-9配置从mtd0加载并启动程序

7.此时,正常启动。启动后的效果如图2-10所示:

图2-10启动后的效果

2.3烧写PMON程序

1.准备烧写工具

烧写工具主要分为硬件和软件。硬件为基于CH341A芯片的USB烧写器。CH341A芯片如下图 2-11所示,此芯片经常用于烧写程序、串口数据转换等环境中。

图2-11烧写工具

2.安装驱动

驱动主要是USB转TTL的驱动和编程器芯片的驱动。安装驱动的时候记得将烧写器插到电脑上。如图 2-12所示:

图2-12驱动程序

点击安装即可安装CH341A的驱动。如图 2-13所示:

图2-13安装驱动

3.将SPI Flash芯片拔下来插到烧写器上(注意避免损伤引脚)。如图2-14所示:

图2-14将SPI Flash拆下并装到烧写器上

4.将烧写器插到电脑上。如图2-15所示:

图2-15将烧写器连接到电脑

5.按软件检测按钮

检测不到或者型号不一致就手动选择你的型号,显示检测到芯片W25X40,如图2-16所示:

图2-16检测到SPI Flash型号为W25X40

6.擦除SPI Flash芯片内的数据。

点击"擦除"。芯片完成数据清除后,点击"读取",你会发现芯片内的数据全是"FF"。如图 2-17所示:

图2-17擦除SPI Flash

7.烧写bin文件

点击"打开",选择gzrom.bin文件。最后点击"自动",PMON就会被烧写到SPI Flash中。如图 2-18所示:

图2-18加载PMON文件

烧写完成后,将SPI Flash装回,上电后顺利进入系统,并且网卡附近的LED也亮了。

3进入SylixOS后的环境配置

3.1网络配置

SylixOS启动时会读取ifparam.ini文件中的网络配置信息。关于ifparam.ini更多详细信息可参考《SylixOS设备IP的设置》。配置后,如图 3-1所示:

图3-1网络配置

3.2部署

需要部署的文件如图 3-2所示:

图3-2部署文件

4.LED测试

控制效果:LED1闪烁,效果如图 4-1所示:

图4-1  LED灯测试

5.RTC测试

测试效果如图 5-1所示:

图5-1  RTC测试

6.SPI Flash测试

首先加载驱动模块,加载后如图 6-1所示:

图6-1加载SPI Flash驱动

加载之后,就可以读写SPI Flash了,效果如图 6-2所示:

图6-2SPI Flash读写测试

7.参考资料

博客:

http://www.openloongson.org/forum.php?mod=viewthread&tid=146

文档:

《1c300_user_manual_v1.4_draft.pdf》

《1C开发板用户手册V1.3.pdf》

《SylixOS设备IP的设置.doc》

你可能感兴趣的:(串口例程,龙芯1c)