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.参考资料
博客:
<a href=""http://www.openloongson.org/forum.php?mod=viewthread&tid=146">http://www.openloongson.org/forum.php?mod=viewthread&tid=146
文档:
《1c300_user_manual_v1.4_draft.pdf》
《1C开发板用户手册V1.3.pdf》
《SylixOS设备IP的设置.doc》