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串口引脚

扫描二维码关注公众号,回复: 1736425 查看本文章

搭建好后如图 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-8bsp烧录到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-14SPI 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》

猜你喜欢

转载自blog.csdn.net/jj801238/article/details/78027265