APP下载

龙芯微处理器控制板在大学生设计竞赛中的应用

2020-11-25

科教导刊·电子版 2020年30期
关键词:龙芯电子设计开发板

(南京工业大学计算机学院 江苏·南京 211816)

全国大学生电子设计竞赛是教育部高等教育司、工业和信息化部人事教育司共同发起的大学生学科竞赛之一,是面向大学生的群众性科技活动,目的在于推动高等学校促进信息与电子类学科课程体系和课程内容的改革。经过20多年的发展,全国大学生电子设计竞赛已成为中国规模最大、参赛范围最广、极具影响力的针对在校本专科大学生的电子设计竞赛,每年有超过4万名大学生报名参与。

从具体试题来看,题目具有实用性强、综合性强、技术水平发挥余地大的特点。涉及到电子信息类众多的专业课程,如:低频电路、高频电路、数字电路、微机原理、电子测量、单片机、可编程逻辑器件、EDA设计等;同时涉及到很多实践性教学环节,如:电子线路实验课、微机原理实验课、课程设计、生产实习等;可选用的器件也非常多,如:晶体管、集成电路、大规模集成电路、单片机、可编程逻辑器件等;设计手段广泛采用现代电子设计方法与开发工具,如:VHDL语言、Xilinx Foundation Series EDA工具、单片机编程器等。

可以看出,电子设计竞赛的试题既反映了电子技术的先进水平,又引导高校在教学改革中应注重培养学生的工程实践能力和创新设计能力。

从列届电子设计竞赛的试题来看,可以归纳成7类,即:(1)电源类;(2)信号源类;(3)高频无线电类;(4)放大器类;(5)仪器仪表类;(6)数据采集与处理类;(7)控制类。无论哪类题目,很多都要用到一个或多个基于微处理的控制板。

在电子设计竞赛的准备阶段,准备一款基于微处理的控制板,熟练掌握其功能和性能和开发方法,是非常必要的。

在此国产芯片替代大发展时期,使用一款具有自主知识产权的微处理,完成大学生电子设计竞赛,是一件非常有意义事情,也是完成竞赛题目的一个亮点。

龙芯中科致力于龙芯系列CPU设计、生产、销售和服务。主要产品包括面向行业应用的“龙芯1号”小CPU、面向工控和终端类应用的“龙芯2号”中CPU、以及面向桌面与服务器类应用的“龙芯3号”大CPU。目前,龙芯面向网络安全、办公与信息化、工控及物联网等领域与合作伙伴展开广泛的市场合作,并在政府、能源、金融、交通、教育等行业领域取得了广泛应用。选择国内自主知识产权、成熟可靠、有广泛应用案例的龙芯微处理器做控制板,用于电子设计竞赛中,从功能、性能和稳定性等方面都是非常合适的。

1 龙芯1号制作的“智龙”开发板

“龙芯1号”系列的龙芯1C是基于GS232处理器核的高性价比单芯片系统,可应用于工业控制及物联网等领域。龙芯1C包含浮点处理单元,支持多种类型的内存,支持高容量的MLC NAND Flash。龙芯1C为开发者提供了丰富的外设接口及片上模块,包括Camera控制器、USB OTG及USB HOST接口、AC97/I2S控制器、LCD控制器、SPI接口、UART接口等,提供足够的计算能力和多应用的连接能力。用其制作的开发板如图所示。

智龙开发板模块分布图

该控制板的微处理器为Loongson1C0300,使用了多种电源供电方式,可以专门5伏电源供电、也可使用USB接口供电。提供的JTAG/UART接口、MAC网络接口、MicroSD卡接口、UART电平转换RS232接口、并主要I/O接口通过两排各40针的双列直插接口引出,便于使用中的二次扩展应用。

2 控制板软件开发

智龙开发板的内核和文件系统是存放在板上的Flash芯片上的,也可以从SD卡、U盘或者网络加载。智龙开发板Flash为1G,内存为256M,无法安装编译工具链,因此智龙开发板的程序都是在宿主机上编译后再通过网络或其它存储介质将目标文件下载到开发板执行。

2.1 软件开发环境的搭建

交叉编译环境,可以安装有Linux操作系统的PC机上完成,也可以在使用Windows操作系统的计算机上安装虚拟机,再在虚拟机里,安装Linux操作系统。无论是在实体机上的Linux操作系统还是在虚拟机中的Linux操作系统中,后续的开发方法是一样的。大家可以根据自己的习惯选择一种方式。

Windows操作系统中安装虚拟机,可以下载vmware player安装,再下载ubuntu Linux桌面系统在虚拟机 vmware playe中安装,并安装VMwaretools,方便使用。安装完毕后,创建用户和密码,Linux操作系统即可使用。

为了进行控制板上的嵌入式Linux程序开发,还需下载和安装交叉编译工具gcc-4.3-ls232。

2.2 PMON的编译与烧写

PMON是一个兼有BIOS和bootloader部分功能的开放源码软件,多用于嵌入式系统。基于龙芯的系统采用pmon作为类BIOS兼bootloader,并做了很多完善工作。

当开发板从贴片厂下线,里面是没有任何程序的,这时一般通过JTAG接口烧写第一个程序,就是PMON,借助PMON可以使用网口或者SD卡下载更加复杂的系统程序等。

安装编译PMON的依赖工具 makedepend,下载源代码pmon-ls1x-openloongson.tar.gz,使用交叉编译工具执行编译命令,生成gzrom.bin。采用编程器,将gzrom.bin文件烧写进开发板上的Flash芯片。

2.3 Linux内核编译和烧写

该Linux内核是要运行在目标开发板上的内核镜像文件。先下载内核源码包linux-3.0.82-openloongson.tar.gz,并解压到相应目录下。由于源码中已经全部配置好,通常不需要进行任何改动。如果需要根据特殊需求,对内核进行重新进行定制化配置,则需要安装图形化配置工具Ncurses。运行该软件进行内容定制的配置工作。该工作牵涉面较广,需要谨慎细致进行。

配置完内核后,执行编译命令:make ARCH=mips CROSS_COMPILE=mipsel-linux-。编译完成后,在当前目录下生成内核镜像文件 vmlinux(未压缩)和 vmlinuz(压缩后),将开发板进入 PMON(在终端按住空格键,开机),先擦除数据,选择其中一个内核,烧写入Flash存储器中即可。

2.4 根文件系统构建与镜像生成

应用在控制板上嵌入式Linux的文件系统,可以使用busybox来制作。busybox是一个集成了了一百多个最常用Linux命令和工具的软件,还集成了一个http服务器和一个telnet服务器,其大小只有1M左右,且大小完全可定制性,提供灵活,宜于扩展的结构。可以到 http://www.busybox.net/downloads/下载busybox。因为最新版本的busybox要依赖更新版的内核头文件,所以下载的版本不一定要最新,合适即可。

busybox可以重新配置和编译,安装到指定路径下。进入该路径下的rootfs目录中,根据规则和实际情况,编辑几个重要的文件 etc/inittab、etc/init.d/rc.sysinit、etc/fstab、etc/profile;复制busyBox文件和动态编译要使用的库文件。最终生成根文件系统rootfs。

下载mtd-utils-1.5.1.tar.bz2制作ubifs文件系统的工具,并安装。使用mkfs.ubifs命令,将文件夹rootfs制作成UBIFS镜像。使用ubinize命令可将使用mkfs.ubifs命令制作的UBIFS文件系统镜像转换成可直接在Flash上烧写的格式(带有UBI文件系统镜像卷标)。将开发板进入PMON(在终端按住空格键,开机),在 PMON中先擦除数据,再烧写根文件系统镜像程序。

2.5 简单应用程序编写与运行

在上述控制板嵌入式Linux运行环境搭建完成的情况下,在开发用PC机中编写应用程序,使用交叉编译器编译,将可执行文件考入控制板Linux中,即可执行。

猜你喜欢

龙芯电子设计开发板
基于国产化龙芯的动环数据采集系统
基于Multisim仿真软件的三人表决器电子设计制作——以中学生创新能力培养为例
对EDA技术在现代电子设计中的运用探讨
Microchip最新推出两款PIC32 Curiosity开发板
浅析单片机开发板的设计与制作
降压型直流开关稳压电源——2016江苏省大学生电子设计竞赛A题解析
“龙芯之父”胡伟武
关于电子设计自动化技术的研究
龙芯发布新一代处理器产品
Mouser为您呈上开发关键之STMicroelectronics Nucleo开发板