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.首先配置PMONIP地址如图 2-3所示:

       指令:set ifconfig syn0:192.168.2.204

 2-3  配置PMONIP地址

       重启后,能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-2  SPI 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》