SylixOS龙芯1C适配总结
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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-2 SPI 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》
以上是关于SylixOS龙芯1C适配总结的主要内容,如果未能解决你的问题,请参考以下文章