定制最简linux和根文件系统(平台龙芯1B开发板)
嵌入式系统导论复习题
嵌入式系统导论复习题嵌入式系统导论复习题一填空1、嵌入式系统通常是以应用为中心,以计算机技术为基础,软硬件可裁剪,对功能、体积、功耗等严格要求的专用计算机系统。
2、嵌入式系统的可靠性是嵌入式计算机的生命线。
3、嵌入式系统的基本结构一般可分为硬件和软件,硬件包括嵌入式核心芯片、存储器系统及外部接口,软件包括应用软件、编程接口、嵌入式操作系统和板升级支持包。
4、嵌入式处理器主要包括EMPU、EMCU、EDSP和ESOC。
其中ESOC最大的特点是成功实现了软硬件无缝结合,直接在处理器片内嵌入操作系统的代码模块。
5、目前使用的嵌入式操作系统有好几十种,最常用的是LINUX和WINCE。
6、嵌入式系统的系统级设计方法主要有先硬件后软件设计方法和软硬件协同设计的方法,其中针对单片机的开发是采用先硬件后软件的方法。
7、嵌入式软件可分为系统软件、支撑软件和应用软件三类。
8、嵌入式处理器是嵌入式硬件系统的核心,其种类非常多,常见的有ARM处理器、MIPS处理器和PowerPC处理器。
9、TI公司的TMS320C2XXX系列的DSP可作为MCU进行使用。
10、标准的嵌入式系统架构有两大体系:RISC和CISC,其中RISC架构的处理器包括ARM、MIPS、PowerPC、ARC等,CISC架构为我们所熟知的是INTEL的X86架构、VIA架构和AMD架构。
11、ARM7系列微处理器为32位RISC处理器。
12、国产嵌入式处理器的代表芯片为方舟和龙芯系列处理器。
13、存储器有三个主要特性:速度、容量和价格。
其中寄存器速度最快、价位最高、容量最小;主存用来存放将要参与运行的程序和数据;存取速度和容量介于寄存器和主存之间的为高速缓冲存储器cache。
14、按存储器的作用不同,可分为主存储器、辅助存储器和缓冲存储器,其中RAM和ROM属于主存储器。
15、RAM主要有SRAM和DRAM,常见的RAM容量扩展方法为字长扩展和字数扩展。
嵌入式开发板学习从零建立Linux最小系统
嵌入式开发板学习从零建立Linux最小系统iTOP-4412开发板不仅可以运行Android,还可以运行简单的Linux最小文件系统。
最小Linux 系统“麻雀虽小,五脏俱全”,它不带图形界面的Linux 系统,剔除干扰因素便于理解,用来学习Linux系统编程非常合适。
另外,Linux最小系统占用的内存空间很小,也经常用于不带图形界面的项目。
1.最小Linux系统简介制作文件系统需要使用到Busybox工具。
BusyBox是一个集成了一百多个最常用Linux命令和工具的软件。
BusyBox 包含了一些简单的工具,例如ls、cat和echo等等,还包含了一些更大、更复杂的工具,例grep、find、mount以及telnet。
有些人将BusyBox 称为Linux 工具里的瑞士军刀。
简单的说BusyBox就好像是个大工具箱,它集成压缩了Linux 的许多工具和命令,也包含了Linux 系统的自带的shell。
Busybox的下载网址是/,这是一个开源的程序,并且一直在更新中,这里使用的版本是busybox-1.21.1.tar.bz2。
2.配置最小系统在虚拟机的Ubuntu的目录“/home”下新建目录“mkdir minilinux”,这个目录可以根据个人习惯建立,并不是强制要求。
拷贝busybox-1.21.1.tar.bz2(这个软件在对应的实验视频目录文件下)到虚拟机的Ubuntu系统上的目录“/home/minilinux”下,然后在目录“/home/minilinux”下,执行解压命令“tar -xvf busybox-1.21.1.tar.bz2”解压,进入解压出的busybox-1.22.1目录中。
Busybox的编译配置和Linux内核编译配置使用的命令是一样的,下面配置Busybox,如下图所示,使用命令“make menuconfig”,会出现Busybox的配置界面,如下图所示。
MiniGUI图形界面实验
学习移植 MiniGUI-STR(for uC/OS-II)软件到 SmartARM2200 开发板的基本方法,然后 编写一个简单的 MiniGUI 应用程序,使用 MessageBox 函数创建一个消息框,消息框中显示 字符串“Hello MiniGUI!” 。 4. 实验预习要求 (1) 仔细阅读<<ARM 嵌入式系统实验教程(二)>>第 1 章的内容,了解 SmartARM2200 开发板的硬件结构,注意 TFT 液晶接口电路和键盘电路。 (2) 阅读 MiniGUI 的文档 <<MiniGUI 用户手册 >> 和 <<MiniGUI 编程指南 >> ,了解 MiniGUI 的基本特点和应用配置选项,以及应用程序的编写。 5. 实验原理 (1) MiniGUI 简介 MiniGUI 项目的最初目标是为基于 Linux 的实时嵌入式操作系统提供一个轻量级的图形 用户界面支持系统,发展到今天,MiniGUI 已进入成熟和稳定阶段,并且所支持的操作系统 已不仅仅限于 Linux,它还可以在 uClinux、uC/OS-II、eCos、VxWorks 等系统上运行。 MiniGUI 为应用程序定义了一组轻量级的窗口和图形设备接口, 利用这些接口, 每个应 用程序可以建立多个主窗口,然后在这些主窗口中创建按钮、编辑框等控制。MiniGUI 还为 用户提供了丰富的图形功能,以显示各种格式的位图并在窗口中绘制复杂图形。 MiniGUI 和嵌入式操作系统的关系如图 1.1 所示,基于 MiniGUI 的应用程序一般通过 ANSI C 库以及 MiniGUI 自身提供的 API 来实现自己的功能。
4
广州周立功单片机发展有限公司 }
Tel: (020)38730976
嵌入式Linux中NVRAM的实现方案及驱动设计
162010,31(1)计算机工程与设计Computer Engineering and Design0引言NVRAM (non-volatile random access memory ,非易失性随机访问存储器)是广泛应用于网络路由器的一种存储器件。
它如同PC 上的CMOS ,作用是存放路由器的配置参数。
目前常见的NVRAM ,大都是静态SRAM ,即带有备用电源的SRAM ,它的实现最简单,同普通内存操作一样。
但是在实际应用中,不是所有的开发板都配备有静态SRAM 。
在这种情况下,如果使用该方案开发网络路由器,重新加入配备电源的SRAM 必须要重新排版,布线。
开发周期与开发成本将会大大增加。
因此,可以考虑在现有的硬件资源基础上,通过新的方式来实现NVRAM [1]。
本文就是以神州龙芯开发的CQ8401开发板为硬件平台,在自行裁剪和移植的嵌入式Linux 平台下,利用Nor Flash 来实现网络路由器的NVRAM 功能。
1NVRAM 新的实现方案分析由于NVRAM 仅用于保存启动配置文件(Startup-Config ),故其容量较小,通常在路由器上只配置32KB~128KB 大小的NVRAM 。
配备电源的SRAM 速度较快,是目前读写最快的存储设备,而成本也比较高。
一般的开发板所配备的Nor Flash空间足够大,在系统性能得到满足的前提下,可以把Nor Flash 分出一个区来当作NVRAM 使用。
SRAM 和Nor Flash 的对比分析,如表1所示。
网络路由器中的NVRAM 用于存放配置参数。
正常启动路由器后,NVRAM 中的内容会拷贝到内存一份,我们对路由器的设置实际上就是修改内存中的参数。
所以内存和NVRAM 中的内容可以不一样,直到使用write memory 将内存设置保存到NVRAM 。
在系统起来以后,我们可以根据需要修改配备参收稿日期:2009-07-17;修订日期:2009-09-18。
如何为DragonBoard 410c定制Linaro Linux系统
如何为DragonBoard 410c定制Linaro Linux系统我们在前面博客中已经介绍过,DragonBoard 410c兼容96Boards消费版(CE)规范。
咱们先来了解一下96Boards规范。
96Boards 是ARM 开放平台规范,是第一个定义Cortex-A 开发板的开放规范,该规范由Linaro社区委员会组织维护。
标准化扩展Peripheral I/O 总线,显示和相机等。
定位移动、嵌入及数字家庭领域。
允许硬件生态系统开发一系列兼容组件的产品,在其生命周期可以在任意兼容96Boards 的平台上使用。
DragonBoard 410c基于Linaro的96board规范,有助于开发商、制造商、大学和商业制造商利用骁龙410处理器的能力,例如下一代机器人、医疗设备、楼宇自动化、数字标牌和游戏机等。
上一篇博客已经介绍了Android系统的定制方法,今天将介绍如何为DragonBoard 410c定制Linaro Linux系统。
环境准备1、交叉编译环境准备DragonBoard 410c是一个64位的ARMv8平台,所以在PC机上编译ARM架构的代码需要交叉编译环境。
首先下载Linaro GCC cross compiler,然后将下载的压缩包解压到你自己指定的目录下:~/DragonBoard/toolchain/:tar xvf gcc-linaro-4.9-2014.11-x86_64_aarch64-linux-gnu.tar.xz2、下载Linux Kernel源码Linux Kernel的代码信息可以通过Linaro Qualcomm Landing Team git repository来查找。
根据tags信息,我们可以看到,DragonBoard 410c的最新Linux源码是15.09版本,下面我们来下载Linux源码。
~/DragonBoard/Git clone -n http://git.linaro/landing-teams/working/qualcomm/kernel.gitcd kernel。
在龙芯1B开发板和龙芯1B核心板开发环境切换时的注意事项
1. 电源 (3)2. 串口 (3)2.1. PMON参数 (3)2.2. 根文件系统 (4)版本更新日期更新内容V1.0 2013,12,20 创建1.电源首先是电源电压问题。
广州龙芯1B开发板使用的是5V外部电源,基于广州龙芯1B 核心板相关产品可能是使用12V的外部电源(因为广州龙芯的核心板配套底板是12V外部电源)。
2.串口这里主要说的是打印启动信息和调试信息用的串口。
龙芯1B开发板使用的是ttyS2,而核心板使用的是ttyS5。
2.1. PMON参数在PMON下设置启动参数,其中一个重要参数就是串口号。
比如:龙芯1B核心板就应该设置为ttyS5,我最开始按照龙芯1B开发板把它设置为ttyS2后,linux启动起来后,就没打印了。
如下io scheduler cfq registered (default)Use default resolution 800x600-16@75VESA:800x600-0@75Console: switching to colour frame buffer device 100x37Serial: 8250/16550 driver, 6 ports, IRQ sharing disabledserial8250.0: ttyS0 at MMIO 0x1fe40000 (irq = 2) is a 16550Aserial8250.0: ttyS1 at MMIO 0x1fe44000 (irq = 3) is a 16550Aserial8250.0: ttyS2 at MMIO 0x1fe48000 (irq = 4) is a 16550Aconsole [ttyS2] enabled, bootconsole disabled设置正确后,应该可以通过串口直接进入shell命令行。
而对应此处的打印为AT070TN93:800x480-16@60Console: switching to colour frame buffer device 100x30Serial: 8250/16550 driver, 6 ports, IRQ sharing disabledserial8250.0: ttyS0 at MMIO 0x1fe40000 (irq = 2) is a 16550Aserial8250.0: ttyS1 at MMIO 0x1fe44000 (irq = 3) is a 16550Aserial8250.0: ttyS2 at MMIO 0x1fe48000 (irq = 4) is a 16550Aserial8250.0: ttyS3 at MMIO 0x1fe4c000 (irq = 5) is a 16550Aserial8250.0: ttyS4 at MMIO 0x1fe6c000 (irq = 29) is a 16550Aserial8250.0: ttyS5 at MMIO 0x1fe7c000 (irq = 30) is a 16550Aconsole [ttyS5] enabled, bootconsole disabledconsole [ttyS5] enabled, bootconsole disabledloop: module loadedNAND device: Manufacturer ID: 0xec, Chip ID: 0xf1 (Samsung NAND 128MiB 3,3V 8-bit)lxy: erasesize= 0x20000, wirtesize= 0x800, oobsize= 0x40 !Scanning device for bad blocksBad eraseblock 192 at 0x000001800000Bad eraseblock 821 at 0x0000066a0000Creating 3 MTD partitions on "mtd0":0x000000000000-0x000000e00000 : "kernel"0x000000e00000-0x000007200000 : "os"比如我(主机ip:192.168.0.156,开发板ip:192.168.0.153)通过tftp下载内核,通过nfs挂载根文件系统的pmon参数为PMON> set al tftp://192.168.0.156/vmlinuzPMON> set append 'root=/dev/nfs rw nfsroot=192.168.0.156:/nfsramdisk/LS1Brootfs noinitrd init=/linuxrc console=ttyS5,115200 ip=192.168.0.153:::::eth0:off'当然如果为了安全性,不想让产品在启动后通过串口打印信息或者进入shell,可以采用这种方式,个人认为这种方式的安全性还是比较高。
信创操作系统(麒麟、统信)与非信创Linux三者运维实操能力差异性及屏蔽策略
信创操作系统(麒麟、统信)与非信创Linux三者运维实操能力差异性及屏蔽策略随着近些年信创浪潮的不断涌进,越来越多人或使用或关注信创操作系统,而国内的信创操作系统也在不断迭代更新,如麒麟、统信操作系统作为主流的服务器操作系统已在市场上占据大量份额,其软硬件兼容性不断完善,并在不少中大型企业应用落地,从办公管理等通用类应用场景逐步迈向容器云、大数据、大模型等前沿应用场景,不难看到,信创操作系统在不断走向成熟。
在此形势下,熟悉了解主流信创操作系统(麒麟、统信)与非信创Linux在各个技术维度上的差异就显得尤为重要,既可以帮助企业在进行产品技术选型时作为技术参考,又可以帮助IT从业人员进行信创技术储备,以应对随时可能遇到的技术壁垒。
1、麒麟、统信和非信创Linux三者在日常运维使用中有哪些明显差异?目前各单位使用的发行版大体上可以分为Rhel(CentOS)、Debain、Suse Linux这3大类,在操作系统选择上尽量选择生产环境统一的发行版本(或者是基于同一上游的发行版本均可,比如CentOS、Rhel、麒麟欧拉等版本就属于同一发行版本,Debain、Ubuntu、UOS等属于另一类的发行版),使用同一上游的发行版本在统一管理、维护等方面可以显著提升维护的便利性,比如操作系统初始化、安全加固、补丁策略、补丁源、批量维护、更新等有诸多的好处。
以上各发行版本的操作系统常用命令都是大体一样的,但是软件安装的命令有些许差别,比如rpm 对应 dpkg ,yum对应apt等,操作操作系统的一些常用的依赖包或更新一般建议采用yum(rpm)/apt(dpkg)等方式进行安装,对于安装部署应用则建议采用源码编译安装或者二进制文件安装。
2、信创服务器操作系统与X86-Linux系统应用场景差异对比1. 应用架构不同X86-Linux系统:一台设备可以承载多个应用模块信创服务器操作系统:分布式微服务架构,多台设备承载1个应用模块2. 存算偏好不同X86-Linux:存算分离和存算一体皆适宜信创服务器操作系统:大多采用存算一体3. 平台扩展方式不同X86-Linux系统:纵向扩展和横向扩容均可信创服务器操作系统:由于硬件性能原因,高并发场景大多采用横向扩容4.其他应用场景出现的问题依赖于32位系统包的软件在海光平台麒麟系统无法安装,如:stunnl(用于加密文件传输场景)、CD soft、TSM高并发场景国产系统CPU使用率居高不下(如Nginx)3、麒麟、统信操作系统相比非信创操作系统,在稳定性、性能、故障率以及运维方面,有什么变化?这里其实可以分为两类:1.信创产品的风险情况信创产品的稳定性、性能、故障率就目前来说一般,毕竟信创产品诞生时间不长,可能后续随着用户人群的越来越多,发现的问题也越来越多,所以建议大家尽量的跟着系统厂商、硬件厂商发布的各类补丁,根据自己的实际情况进行修复。
TG7121B 开发板快速上手手册说明书
文档版本 1.1发布日期2021/6/15TG7121B开发板快速上手手册目录1前言 (1)1.1文档目的 (1)1.2文档范围 (1)1.3预期读者 (1)1.4版本修订记录 (1)2开发板介绍 (2)2.1SOP16封装开发板 (2)2.2QFN32封装开发板 (3)3搭建开发环境 (4)3.1软件开发环境 (4)3.2烧录串口连接 (4)3.3J-Link调试 (4)3.4获取SDK (4)4应用开发 (5)4.1灯应用示例概况 (5)4.2编译灯应用示例 (5)4.3J-Flash烧录 (6)4.4串口工具烧录 (7)5例程运行 (7)5.1创建与配置产品 (7)5.2开发板上电运行 (7)5.3串口命令说明 (8)5.4配置调试日志 (9)6其他参考文档 (10)1 前言1.1 文档目的本文档介绍如何基于TG7121B开发板快速上手。
1.2 文档范围本文档适用于天猫精灵TG7121B芯片项目。
1.3 预期读者本文档适用的文档使用对象为使用天猫精灵TG7121B芯片的产品经理、软件开发人员。
1.4 版本修订记录表格1-1 版本修订记录2 开发板介绍请访问芯片开放社区TG7121B的芯片主页参考TG7121B开发板说明文档。
注意:PB14为启动选择,启动时,检测到高电平,进入串口烧录模式,否则进入正常模式。
2.1 SOP16封装开发板SOP16封装引脚定义:2.2 QFN32封装开发板QFN32封装引脚定义:3 搭建开发环境3.1 软件开发环境首先安装YoC开发环境。
TG7121B仅支持Linux开发环境。
安装和使用Linux开发环境请参考:•环境安装sudo pip install yoctools•YoCTools使用说明Yoctools会负责在编译时自动安装编译器。
3.2 烧录串口连接UART串口转接板的RXD Pin接芯片的PB00, TXD Pin接芯片的PB01, 3.3V接芯片的VDD,GND接GND。
国产linux操作系统介绍
国产linux操作系统介绍国产操作系统多为以Linux 为基础二次开发的操作系统。
下面店铺为大家介绍一下国产linux操作系统吧。
国产linux操作系统代表系统deepindeepin是一款活跃的Linux发行版,基于Ubuntu,但加入了许多自己的创作,比如桌面环境、音乐(影音)播放器、游戏中心,比较适合国人。
但他对于电脑的要求比较高,性能差的电脑有可能运行不了。
现在最新的版本为2014.1。
红旗红旗是中国一款比较早的系统,以前由中科院主办,现在被五甲万京收购。
他曾经是中国市场占有量最大的Linux操作系统,在经历了动荡之后现在已经趋于稳定,最新版本是v8.0。
中标麒麟中标麒麟是由民用的”中标Linux“和”国防科技大学的“银河麒麟”在2010年合并而来,它代替了以前红旗的地位成为政府的主要购买的操作系统。
它分为许多种类,最新的版本为6.0。
startOSstartos原名ymls OS安装过程比较简化,基于Ubuntu改装,但现在与Ubuntu不在兼容,所以他的软件比较难找。
如果你就只是办公、上网他是个不错的选择。
现在最新的版本为6.0 beta版。
veketveket是一种装在U盘内的便携式的操作系统,它本身就预装了许多常用软件,大小一般在300m到400m之间,容易使用,对硬件的要求很低,老电脑也可以很好的运行它,最新的版本为8.06。
中兴新支点操作系统中兴新支点操作系统基于Linux稳定内核,分为嵌入式操作系统(NewStart CGEL)、服务器操作系统(NewStart CGSL)、桌面操作系统(NewStart NSDL)。
深度(Deepin)深度Linux是一个致力于为全球用户提供美观易用,安全可靠的Linux 发行版。
它不仅仅对最优秀的开源产品进行集成和配置,还开发了基于HTML5 技术的全新桌面环境、系统设置中心、以及音乐播放器,视频播放器,软件中心等一系列面向日常使用的应用软件。
NXP mcu
TinyM0核心板电路为LPC111x芯片的最小系统,硬件支持2.54mm间距的 标准排针。用户可以将TinyM0核心板配套自行设计的底板进行产品开发。 ● 支持多款芯片
和16位竞争产品的2至4倍。
Cortex-M0内核
● 32位ARM RISC处理器,16位Thumb指令集; ● 功耗与面积高度优化,设计专用于低成本、低功耗场合; ● 24位SysTick定时器; ● 32位硬件乘法器; ● 中断现场自动保存,有处理决定性、固定延迟的中断能力; ● 系统接口支持小端或字节不变的大端数据访问; ● SWD串行线调试。
LPC1300选型表:
器件型号 LPC1343 LPC1342 LPC1313 LPC1311
Flash (KB) 32 16 32 8
SRAM(KB) 8 4 8 2
USB 2.0 Device Device
-
I2C(Fast+) 1 1 1 1
ADC 8ch/10bit 8ch/10bit 8ch/10bit 8ch/10bit
置的新型开漏工作模式
LPC1100
◎ 四个通用计数器/计数器 ◎ 可编程的看门狗定时器(WDT),带锁死功能 ◎ 系统计时器 ◎ 各外设自带时钟分频器,有利于降低功耗
芯片特色:
Cortex-M0处理器性能 ● Cortex-M0微控制器可以轻松超越高端8位和16位器件的
性能水平; ● 内核额定性能为0.9DMIPS/MHz,相当于与其最接近的8位
龙芯1B驱动中微秒级延时测试
1. 测试说明 (2)1.1. 测试环境 (2)1.2. 测试方法 (2)1.3. 源码说明 (2)2. 几种延时时间的测试 (3)2.1. 延时5us (3)2.2. 延时10us (3)2.3. 延时26us (4)3. 串口命令执行情况 (4)4. 测试总结 (5)5. 源码 (5)5.1. 驱动 (5)5.2. 应用 (7)5.3. Makefile (8)1.测试说明1.1. 测试环境测试环境为广州龙芯1B开发板,选择了开发板上的LED9所在引脚GPIO38(CAN0_RX),此引脚开发板已经引出。
1.2. 测试方法通过延时在一个引脚输出正弦波,并用示波器查看。
1.3. 源码说明本测试的源码是在led驱动的基础上修改的。
将原来的点led操作改为让led闪烁,即引脚GPIO38不断依次输出高低电平。
另外一篇文章《led和蜂鸣器驱动(广州龙芯中科1B 开发板).doc》对led驱动进行了详细讲解,如有必要可以查阅。
两个驱动源码对比如下2.几种延时时间的测试2.1. 延时5us实际延时时间约为5.8us,测试结果如下2.2. 延时10us实际延时时间约为10.7us,测试结果如下2.3. 延时26us实际延时时间约为27.1us,测试结果如下3.串口命令执行情况/ # cd test//test # echo 8 > /proc/sys/kernel/printk/test # insmod delay_us_driver.kols1b_led: major = 253ls1b_led device installed. with major 253/test # mknod /dev/led c 253 0/test # ./delay_us_appls1b_led_open: openls1b_led_set: startls1b_led_set: endls1b_led_set: startls1b_led_set: endls1b_led_set: startls1b_led_set: endls1b_led_set: startls1b_led_set: endls1b_led_set: startls1b_led_set: endls1b_led_set: startls1b_led_set: endls1b_led_set: start友情提示:通过命令“echo 8 > /proc/sys/kernel/printk”把打印打开,然后插入驱动模块,注意此时打印的主设备号,并创建对应的设备文件,最后运行应用程序。
江苏中科龙梦 龙芯 Debian 桌面操作系统 说明书 V1.0
龙芯 Debian 桌面操作系统(V1.0)用户手册江苏中科龙梦科技有限公司版权所有 © 2006 江苏中科龙梦科技有限公司江苏中科龙梦科技有限公司地址: 江苏省常熟市虞山镇梦兰村邮编: 215500电话: 0512-********传真: 0512-********网址: 2006年12月版本书中所提到的所有其他注册商标名著作皆属于各人拥有者。
本书版权属江苏中科龙梦科技有限公司所有。
未经江苏中科龙梦科技有限公司正式授权,不得将本手册《龙芯Debian桌面操作系统用户手册》拷贝、出租、交换、供网络下载或于商业出版品转载,并且不得用于非法或有违道德之用途。
本公司将不为因使用本书而引起的衍生利益损失或意外损毁之损失承担责任。
引 言欢迎您使用龙芯Debian操作系统。
Linux是开放源代码的类UNIX操作系统,由全球无数计算机爱好者通过互联网协作开发出的优秀系统,其继承了Unix系统近30年的技术精华,并且综合了主Unix派生系统的优点。
十多年来Linux技术得到了飞速发展,并受到了全世界各政府和企业界的大力支持。
我国政府更是十分重视和看好Linux的发展前景。
现Linux已经成为最受欢迎的操作系统之一。
龙芯Debian操作系统是江苏中科龙梦科技有限公司推出的基于Linux内核的桌面系统。
本产品在全面提升系统内核能力的基础上,针对广大桌面用户对系统的典型需求,在系统安装、系统配置、系统易用性及稳定性等多方面进行大量创新和优化工作。
本产品在中文、网络、多媒体及办公软件等多方面提供良好的支持,进而为Linux桌面用户带来一种全新体验。
本手册包含了有关龙芯Debian操作系统桌面版的相关信息,这些信息也兼容本公司的其他Linux发行版本,包括了从简单的用户登陆、图形用户界面、常用应用程序的使用到系统配置等方面的要点。
目 录1 龙芯Debian操作系统桌面版产品描述................................................................................- 1 -1.1 龙芯Debian操作系统介绍........................................................................................- 1 -1.2 手册描述......................................................................................................................- 2 -1.3 GNOME介绍...................................................................................................................- 2 -1.4 获得更多的信息..........................................................................................................- 3 -1.5 技术支持......................................................................................................................- 3 -2 系统安装..................................................................................................................................- 4 -2.1系统基本要求...............................................................................................................- 4 -2.2安装须知.......................................................................................................................- 4 -2.3安装过程.......................................................................................................................- 4 -2.3.1选择安装程序语言...........................................................................................- 5 -2.3.2选择您的地理位置...........................................................................................- 5 -2.3.3选择键盘映射...................................................................................................- 6 -2.3.4设置网络...........................................................................................................- 6 -2.3.5 设置Debian镜像............................................................................................- 9 -2.4.6下载安装程序组件.........................................................................................- 10 -2.4.7磁盘分区.........................................................................................................- 10 -2.4.8设置时钟、用户和密码.................................................................................- 12 -2.4.9安装基本系统.................................................................................................- 14 -2.4.10选择并安装软件...........................................................................................- 15 -2.4.11光盘安装.......................................................................................................- 15 -2.4.12 登录..............................................................................................................- 17 -3 桌面使用指南........................................................................................................................- 18 -3.1 GNOME桌面概述.........................................................................................................- 18 -3.2桌面的设置与使用.....................................................................................................- 18 -3.2.1 桌面上的图标................................................................................................- 19 -3.2.2龙梦桌面主题.................................................................................................- 19 -3.2.3 屏幕分辨率设置............................................................................................- 20 -3.2.4 桌面背景设置................................................................................................- 20 -3.2.5 字体设置........................................................................................................- 21 -3.2.6 时间设置........................................................................................................- 21 -3.2.7 创建桌面快捷方式........................................................................................- 22 -4 文件管理................................................................................................................................- 25 -4.1 文件的基本操作........................................................................................................- 25 -4.1.1 浏览、搜索文件..........................................................................................- 25 -4.1.2 文件的建立、删除、复制和粘贴..............................................................- 26 -4.1.3 文件的压缩和解压......................................................................................- 26 -4.1.4 如何从u盘中拷贝文件................................................................................- 27 -4.2 文本文件的编辑工具................................................................................................- 27 -4.2.1 中文输入法――SCIM....................................................................................- 27 -4.2.1 gEdit..............................................................................................................- 29 -4.2.2 OpenOffice....................................................................................................- 29 -5 网络设置与常用工具的使用................................................................................................- 31 -5.1 网络设置....................................................................................................................- 31 -5.2 常用网络工具的使用................................................................................................- 33 -5.2.1 Mozilla Firefox浏览器.............................................................................- 33 -5.2.2 Evolution电子邮件.....................................................................................- 35 -5.2.3 网上聊天工具――GAIM................................................................................- 41 -5.2.4 网上聊天工具――Eva..................................................................................- 44 -5.2.5 网络下载工具――gFTP................................................................................- 45 -6 常用媒体播放工具的介绍....................................................................................................- 47 -6.1 Beep媒体播放器.......................................................................................................- 47 -6.1.1启动beep播放器...........................................................................................- 47 -6.1.2 基本操作........................................................................................................- 47 -6.2 Totem电影播放器.....................................................................................................- 49 -6.3 MPlayer电影播放器.................................................................................................- 50 -7 Shell简介及常用命令.......................................................................................................- 52 -7.1 Shell简介.................................................................................................................- 52 -7.2 常用命令....................................................................................................................- 53 -8 系统修复..............................................................................................................................- 56 -8.1 利用龙芯Debian基本系统修复硬盘系统..............................................................- 56 -8.2 利用rescue内核修复..............................................................................................- 56 -8.3利用U盘安装新系统.................................................................................................- 57 -1 龙芯Debian操作系统桌面版产品描述 1.1 龙芯Debian操作系统介绍龙芯Debian操作系统桌面版是由江苏中科龙梦科技有限公司精心策划推出的适合桌面应用的操作系统。
龙芯 1B 开发学习套件 用户手册说明书
1、电源和开关 ..............................................................................................................................7 2、ADC和DAC .................................................................................................................................7 3、串口和 485...............................................................................................................................8 4、Debug调试接口 .......................................................................................................................8 5、CAN接口....................................................................................................................................8 6、DC插座 ......................................................................................................................................9 7、LCD 接口................................................................................................................................10 第二章 LoongIDE集成开发环境 ...............................................................................................................11 第一节 系统安装 ................................................................................................................................11 1、运行环境 ................................................................................................................................11 2、LoongIDE安装.......................................................................................................................11 3、GNU 工具链............................................................................................................................12 4、注意事项 ................................................................................................................................13 第二节 串口控制台 ............................................................................................................................13 第三节 常见问题 ................................................................................................................................14 1、LxLink驱动安装 ...................................................................................................................14 2、引导程序PMON........................................................................................................................15 第四节 编程前准备 ............................................................................................................................16 1、设置默认工作区 ....................................................................................................................16 2、工具链配置 ............................................................................................................................16 3、主机IP地址 ............................................................................................................................17 第三章 设备驱动与编程参考.....................................................................................................................18 第一节 创建项目框架.........................................................................................................................18 1、项目向导 ................................................................................................................................18 2、项目目录与文件 ....................................................................................................................19 第二节 配置BSP..................................................................................................................................20 1、片上设备使用列表 ................................................................................................................20 2、SPI0 总线上的从设备...........................................................................................................21
龙芯1C嵌入式开发板手册说明书
智龙开发板手册——基于龙芯1C的嵌入式开发板版本历史版本日期备注V1.02015-05-30基于智龙V1.0,创建手册V2.02015-10-21结合智龙开发者的经验和龙芯官方1C300B开发板手册编写目录1硬件篇 (7)1.1龙芯1C芯片介绍 (8)1.2智龙开发板介绍 (9)1.3智龙开发板硬件接口 (13)SDRAM控制器 (15)SRAM/NOR FLASH控制器 (15)NAND控制器 (15)时钟发生器 (18)I2S控制器 (19)AC97控制器 (19)LCD控制器 (19)Camera接口 (19)MAC控制器 (19)USB2.0控制器 (20)SPI控制器 (20)I2C控制器 (20)UART控制器 (20)GPIO (21)PWM控制器 (21)RTC (21)CAN控制器 (22)SDIO控制器 (22)ADC控制器 (22)1.4串口调试连接 (22)1.5eJtag调试系统 (27)1.6Flash烧写PMON引导系统 (28)1.7Flash烧写linux系统(附带跑马灯实验) (32)2软件篇 (42)2.2Linux内核裁剪和配置 (44)2.2.1安装图形化配置工具Ncurses (44)2.2.2运行图形化配置界面 (45)2.2.3编译Linux内核 (46)2.2.4开发板各模块驱动源码 (46)2.3配置内核各模块驱动 (48)2.3.1配置网卡驱动 (48)2.3.2配置NFS支持 (51)2.3.3配置UBIFS支持 (54)2.3.4配置串口驱动 (57)2.3.5配置LCD驱动 (59)2.3.6配置按键驱动 (61)2.3.7配置SD卡驱动 (63)2.3.8配置U盘驱动 (65)2.3.9配置USB鼠标和键盘驱动 (68)2.3.10配置USB OTG驱动 (72)2.3.11配置音频驱动 (74)2.3.12配置RTC驱动 (76)2.3.13配置PWM驱动 (78)2.3.14配置红外驱动 (81)2.3.15配置CAN总线驱动 (82)2.3.16配置SPI控制器驱动 (85)2.3.17配置I2C控制器驱动 (87)2.3.18配置ADC驱动 (89)2.3.19配置GPIO驱动 (90)2.3.20配置看门狗驱动 (92)2.3.21配置中星微zc301USB摄像头驱动 (93)2.4Linux、PMON、Rootfs镜像制作 (96)2.5Linux系统的交叉编译环境的搭建 (99)2.5.2新建Ubuntu虚拟机 (101)2.5.3安装Ubuntu系统 (109)2.5.4备份恢复Ubuntu虚拟机 (119)2.6使用Ubuntu12.04 (122)2.6.1Ubuntu终端 (122)2.6.2设置Ubuntu虚拟机网络 (124)2.6.3安装VMware Tools (129)2.6.4更新Ubuntu软件包列表 (131)2.6.5设置Windows和Ubuntu的共享文件夹 (131)2.6.6安装配置minicom串口工具 (133)2.6.7安装配置TFTP服务器 (142)2.6.8安装配置NFS服务器 (146)2.6.9建立交叉编译环境 (149)2.7PMON的配置和编译 (150)2.7.1安装依赖库和编译工具 (150)1连网在线安装 (150)2使用源码包安装 (150)2.7.2配置PMON (152)1配置系统启动方式 (152)2配置串口 (152)2.7.3编译PMON (153)2.8基于linux的根文件系统 (153)2.8.1创建文件系统目录 (153)2.8.2创建系统配置文件 (153)2.8.3拷贝库文件 (156)2.9制作根文件系统镜像 (157)2.9.1安装镜像文件制作工具 (157)2.9.2制作根文件系统镜像文件 (160)2.10基于linux的网络配置 (161)2.11基于linux的交叉编译Helloworld (164)2.12基于linux的Python移植 (170)2.13基于linux的PWM控制LED (171)2.14RT-Thread实时系统移植 (177)2.14基于RTT编写PWM驱动 (177)2.15基于RTT的LED和按键的控制 (177)3应用篇 (177)3.1龙芯wifi小车 (177)3.2英国智龙摩尔电码播放器 (178)3.3俄罗斯方块 (195)3.4智龙连接物联网平台智城云 (200)3.5智龙连接微信公众号 (200)3.63D打印机主板 (200)附录 (200)龙芯1C引脚复用表 (200)Linux常用命令 (200)PMON命令 (200)1硬件篇主要介绍龙芯1C芯片以及智龙开发板相关硬件设计图龙芯1C300A图智龙V2.0开发板1.1龙芯1C芯片介绍龙芯1C300(以下简称1C)芯片是基于LS232处理器核的高性价比单芯片系统,可应用于指纹生物识别、物联传感等领域。
龙芯 1x 嵌入式集成开发环境 1.0 使用说明书
龙芯1x嵌入式集成开发环境 1.0使用说明书苏州市天晟软件科技有限公司2021年4月目 录1、简介 (5)1.1 主要特点 (6)1.2 目录结构 (6)1.3 文档约定 (7)1.3.1 文件扩展名 (7)1.3.2 指定文件名 (7)1.3.3 头文件 (7)1.4 项目开发过程 (7)2、初次使用 (8)2.1 语言设置 (8)2.2 工作区目录 (9)2.3 GNU 工具链 (9)3、用户界面 (12)3.1 菜单栏 (12)3.2 工具栏 (14)3.3 编辑面板 (14)3.3.1项目视图 (15)3.3.2 代码解析 (17)3.3.3 文本编辑器 (18)3.3.4 消息窗口 (19)3.4 调试面板 (20)3.4.1 断点列表 (21)3.4.2 CPU 寄存器 (21)3.4.3 观察值 (22)3.4.4 汇编代码 (22)3.4.5 函数调用回溯 (22)3.4.6 GDB 交互命令 (22)3.5 状态栏 (23)4、项目管理 (24)4.1 新建项目向导 (24)4.1.1 第一步项目基本信息 (24)4.1.2 第二步设置Mcu、工具链和操作系统 (25)4.1.3 第三步实时操作系统选项 (26)4.1.4 第四步确认并完成向导 (29)4.1.5 新建项目示例 (30)4.2 基本操作 (30)4.2.1 打开项目 (30)4.2.2 保存项目 (31)4.2.3 关闭项目 (31)4.2.4 项目另存为 (31)4.2.5 成批添加文件 (32)4.2.6 成批移除文件 (33)4.3 项目属性 (34)5、文档管理 (37)5.1 文件操作 (37)5.1.1 新建源代码文件 (37)5.1.2 新建头文件 (37)5.1.3 文件重命名 (38)5.1.4 文件移动 (38)5.1.5 文件删除 (39)5.2 文件夹操作 (39)5.2.1 新建文件夹 (39)5.2.2 重命名文件夹 (39)5.2.3 移动文件夹 (40)5.2.4 删除文件夹 (40)5.3 Drag & Drop (40)6、文本编辑器 (41)6.1 编辑器选项 (41)6.1.1 常用 (41)6.1.2 字体 (42)6.1.3 颜色 (42)6.1.4 代码解析 (43)6.1.5 符号补全 (43)6.1.6 自动保存 (44)6.2 基本操作 (44)6.2.1 编辑 (44)6.2.2 查找 (44)6.2.3 替换 (45)6.2.4 在文件中查找 (46)6.3 其它操作 (47)6.3.1 打开头文件/文件夹 (47)6.3.2 定位语句定义原型 (47)6.3.3 代码解析项跳转 (48)6.4 插入代码向导 (49)6.4.1 插入RTOS 任务代码 (49)6.4.2 插入SPI/I2C驱动代码 (50)6.5 信息提示 (52)7、项目编译 (53)7.1 编译选项 (53)7.1.1 MIPS & BSP Options (54)7.1.2 GNU C Compiler - C 编译器 (54)7.1.3 GNU Assembler - 汇编语言编译器 (58)7.1.4 GNU C++ Compiler - C++ 编译器 (58)7.1.5 GNU C Linker - C 链接器 (58)7.1.6 软浮点算术库 (60)7.2 开始编译 (61)7.2.1 编译成功 (61)7.2.2 编译失败 (62)7.3 项目清理 (62)8、项目调试 (63)8.1 调试选项 (63)8.1.1 主要项 (63)8.1.2 调试器 (64)8.1.3 启动项 (65)8.1.4 源代码 (66)8.2 调试断点 (66)8.2.1 在编辑器中设置断点 (66)8.2.2 断点列表 (67)8.3 开始调试 (67)8.3.1 代码下载 (67)8.3.2 单步运行 (68)8.3.3 连续运行 (69)8.3.4 停止调试 (69)8.3.5 观察值 (69)8.3.6 函数调用回溯 (70)9、实用工具 (71)9.1 NOR Flash 编程 (71)9.2 NAND Flash 编程 (72)9.3 硬件设计助手 (73)9.3.1 龙芯 1B 芯片 (74)9.3.2 龙芯 1C 芯片 (75)10、系统安装 (76)10.1 运行环境 (76)10.1.1 安装MSYS 1.0 (76)10.1.2 安装MSYS2 (76)10.2 安装LoongIDE (76)10.2.1 运行安装向导 (77)10.2.2 LxLink驱动 (77)10.3 GNU 工具链 (78)10.3.1 SDE Lite for MIPS工具链 (78)10.3.2 RTEMS GCC for MIPS工具链 (78)10.4 注意事项 (78)1、简介缩写LS1x DTK:Embedded DTK for LS1x 龙芯1x嵌入式开发工具LoongIDE: Embedded IDE for LS1x 龙芯1x嵌入式集成开发环境LS1x DTK用于龙芯1x芯片的嵌入式开发解决方案,包括创建、构建以及调试用户应用项目,完美支持龙芯1x芯片的工业级应用的开发。
ADC驱动 MCP3201 (广州龙芯1B开发板)
1. 前言 (3)2. 修正龙芯1B开发板资料中的错误 (3)2.1. 运行出错 (3)2.1.1. 我执行光盘中test-mcp3201的运行结果 (3)2.1.2. 用户手册中的运行结果 (7)2.2. 配置错误 (8)2.3. 驱动源码错误 (9)2.4. 修正驱动错误后的打印 (10)2.5. 修改ADC应用后的打印 (11)2.6. 应用程序源码注释错误 (12)3. 硬件电路分析 (13)3.1. 电路图分析 (13)3.1.1. 电路图简述 (13)3.1.2. 片选信号分析 (14)3.2. AD芯片MCP3201分析 (17)3.2.1. 通信协议分析 (17)3.2.2. 转换结果分析 (19)3.2.3. 参考电路图 (22)4. 驱动程序分析 (23)4.1. Linux SPI子系统驱动分析 (23)4.2. 重点代码分析 (23)4.2.1. SPI0的IO基地址和相关寄存器地址 (24)4.2.2. SPI0初始化 (25)4.3. 带注释驱动源码 (30)4.3.1. platform.c (30)4.3.2. spi.c (32)4.3.3. ls1b_spi.c (32)4.3.4. mcp3201.c (44)5. 应用程序分析 (47)5.1. 应用程序思路分析 (47)5.2. 带注释源码 (47)5.3. 我修改代码后的运行结果分析 (48)6. 参考文档 (66)版本更新日期更新内容V1.0 2013,9,26 创建1.前言由于龙芯资料较少,现在又有点时间,写了两句,仅供初学者入门时参考,还望高手多多指教。
2.修正龙芯1B开发板资料中的错误2.1. 运行出错2.1.1.我执行光盘中test-mcp3201的运行结果我按照手册中的说明,将文件“test-mcp3201”拷贝到开发板nfs根文件系统中,运行结果如下/test # ./test-mcp3201Starting mcp3201CPU 0 Unable to handle kernel paging request at virtual address 000000a8, epc == 804defc0, ra == 804df254Oops[#1]:Cpu 0$ 0 : 00000000 00000001 83a17dbc 83856080$ 4 : 00000000 83a17df0 00000000 83a17eb0$ 8 : 00000000 00000000 00000001 00000000$12 : 00000010 807c0000 00000000 0040088c$16 : 83856080 00000000 807e0000 00000002$20 : 80760000 83a17eb8 00000000 83a17eb0$24 : 00000005 2b6c4c00$28 : 83a16000 83a17da8 7f911840 804df254Hi : 00000157Lo : 000001e3epc : 804defc0 __spi_sync+0x2c/0x104Not taintedra : 804df254 spi_write_then_read+0x1b4/0x1dcStatus: 1000bc03 KERNEL EXL IECause : 10800008BadV A : 000000a8PrId : 00004220 (Loongson LS1X)Modules linked in:Process test-mcp3201 (pid: 655, threadinfo=83a16000, task=839ed0c0, tls=00000000)Stack : 00000002 804841e4 802964d4 00000000 00000000 83a17dbc 83a17dbc 8047fd58 83856080 00000000 807e0000 00000002 80760000 804df254 83a1cb6c 0000000083a56280 8046661c 83a17e60 83a17e60 00000000 00000000 00000000 0000000000000000 00000000 00000000 00000000 00000000 83a1d010 ******** 0000000000000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000...Call Trace:[<804defc0>] __spi_sync+0x2c/0x104[<804df254>] spi_write_then_read+0x1b4/0x1dc[<804df3d0>] mcp3201_read+0x44/0x108[<802a6dc4>] vfs_read+0xac/0x198[<802a71a0>] sys_read+0x54/0xb4[<8020b76c>] stack_done+0x20/0x40Code: afb00020 afbf0034 afb10024 <8c9100a8> 3c02804e 27b30010 2442ef8c 00808021 00a09021Disabling lock debugging due to kernel taintSegmentation fault/test #我这里出异常了。
龙芯开发平台参赛手册说明书
龙芯开发平台参赛手册一、芯片平台介绍龙芯系列处理器芯片是龙芯中科技术股份有限公司研发的具有自主知识产权的处理器芯片,产品以32位和64位单核及多核CPU/SOC为主,主要面向国家安全、高端嵌入式、个人电脑、服务器和高性能机等应用。
产品线包括龙芯1号小CPU、龙芯2号中CPU 和龙芯3号大CPU三个系列。
本次大赛提供了两种芯片平台:1.1龙芯2K1000处理器龙芯2K1000处理器是面向网络安全领域及移动智能终端领域的双核处理器芯片。
龙芯2K1000处理器集成两个GS264处理器核,芯片外围接口包括两路PCIE2.0、一路SATA2.0、4路USB2.0、两路DVO、64位DDR2/3及其它多种接口,可以满足中低端网络安全应用领域需求,并为其扩展应用提供相应接口。
1.2龙芯1C300处理器龙芯1C300是基于GS232处理器核的高性价比单芯片系统,可应用于工业控制及物联网等领域。
龙芯1C300包含浮点处理单元,支持多种类型的内存,支持高容量的MLC NAND Flash。
龙芯1C300为开发者提供了丰富的外设接口及片上模块,包括Camera控制器、USB OTG及USB HOST接口、AC97/I2S控制器、LCD控制器、SPI接口、UART接口等,提供足够的计算能力和多应用的连接能力。
1.3龙芯1B200处理器龙芯1B200使用0.13um工艺,是一款轻量级的32位SoC芯片。
片内集成了GS232处理器核、16/32位DDR2、高清显示、NAND、SPI、62路GPIO、USB、CAN、UART等接口,能够满足超低价位云终端、数据采集、网络设备等领域需求。
二、参赛平台选型介绍本次大赛龙芯平台可以使用三种开发方式:龙芯1C智龙开发板、龙芯派二代开发板以及龙芯1B学习套件。
2.1龙芯派二代开发板龙芯派二代搭载龙芯最新一代的嵌入式处理器2K1000,提供了包括USB、GMAC、SATA、PCIE在内的主流接口,可以满足多场景的产品化应用,也是进行国产化开发的入门级硬件的首选。
8089D上搭建龙芯1B开发板环境
8089D上搭建龙芯1B开发板环境1. 简介 (3)2. 8089D上NFS服务器安装配置 (3)2.1. 安装 (3)2.2. 配置 (3)2.3. 使⽤ (4)3. 8089D上TFTP服务器安装配置 (4)3.1. 安装 (4)3.2. 配置 (5)3.3. 使⽤ (5)3.4. 使⽤问题总结 (6)3.4.1. 使⽤⼆进制模式从xp传输linux源码压缩⽂件 (6)4. 交叉编译⼯具 (7)5. 开发板内核 (7)6. 开发板根⽂件系统 (8)6.1. 移植helloworld (8)6.2. 创建根⽂件系统 (9)7. 串⼝⼯具minicom (9)7.1. 安装 (10)7.2. 配置 (10)7.3. 使⽤ (11)版本号更新⽇期更新内容V1.0 2014.3.16 创建1.简介这⾥假设已经在8089D上安装了百度圣域☆微笑的debian7.2稳定版,下载地址是/doc/62e74729a98271fe900ef92a.html /s/1Capvf。
如果还没有在8089D上安装debian7,请参考百度贴吧的教程“逸珑8089D最⼩化⽹络安装Debian 7(Wheezy)教程”,地址是/doc/62e74729a98271fe900ef92a.html /p/2673679611。
既然百度贴吧都有了,为什么还需要这篇⽂章呢?因为贴吧中那篇帖⼦中只有搭建nfs服务器,还有tftp服务器,和8089D上编译环境的问题都没有讲。
经过实际测试,可以直接使⽤8089D上debian7的gcc编译内核和应⽤程序源码,⽽不必使⽤mipsel-linux-gcc,当然根⽂件系统中相应的库⽂件也要换为8089D 上的库⽂件。
我这⾥没有安装图形界⾯,后⾯的操作都是在命令⾏下进⾏的。
我的使⽤⽅式是在xp上通过ssh连接到8089D,然后源码的编辑和编译、nfs服务器和tftp 服务器都在8089D上。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
定制最简linux和根文件系统(平台龙芯1B开发板)版本历史1. 前言 (5)1.1. 开发板版本号 (7)1.2. 工具链版本号 (8)1.3. 参考文档及其版本号 (8)1.4. 目标 (9)2. 搭建开发环境 (9)3. 制作根文件系统 (11)3.1. 配置 (11)3.1.1. 拷贝源码,并解压 (11)3.1.2. 配置选项简述 (12)3.2. 编译 (13)3.3. 构建根文件系统 (15)3.3.1. 建立系统根目录 (15)3.3.2. 建立设备文件 (16)3.3.3. 建立系统配置文件 (16)4. 编译linux (22)4.1. 配置 (23)4.1.1. 首先拷贝源码,并解压 (23)4.1.2. 不安装Ncurses (24)4.1.3. 没有拷贝.config (24)4.1.4. 不用修改Makefile (25)4.1.5. 配置选项简述 (26)4.2. 编译 (30)5. 启动运行linux (31)5.1. 拷贝vmlinux到tftp服务器目录下 . 315.2. 设置PMON的ip地址 (31)5.3. 下载内核 (32)5.4. 启动linux (33)1.前言很高心拿到了龙芯1B开发板。
然后仔细的看了开发板光盘里的《1B开发板用户手册.pdf》。
里面写得非常详细,并且都附有截图,很明了。
从最开始装虚拟机到编译linux,制作根文件系统等等,连虚拟机软件和Ubuntu系统镜像都有。
可以说这套开发板考虑得非常周到。
然后我就参照《1B开发板用户手册.pdf》编译了linux,制作了根文件系统,最后终于跑起来,进入了shell。
这里谈谈我的感想用户手册更像一个工具书就拿根文件系统来说吧。
Cramfs,Jffs2,Yaffs2的制作步骤都有,这表示该手册很全面,但是如果是一个初学者的话,给的选择太多不一定是好事。
这也是我想写这篇文档的原因。
我想linux 的配置尽量简单(除了串口驱动以外,其它的比如,网卡,声卡,触屏等都暂时不需要),根文件系统也尽量简单(手册中的已经很简单了,后面我们就参照手册),另外为了再简单一点我把根文件系统也选择内存文件系统,内核只下载到内存而不烧写到flash,同时PMON参数也不修改。
这样做有个好处——任何时候我可以复位进入开发板预装的linux和文件系统。
这便于在我们遇到问题时参考。
●制作根文件系统的章节还有点小小的问题需要改进⏹手册中的笔误Busybox配置过程中ionice错写为inoice⏹没有新建目录/root和/var/log⏹没有新建console和串口设备节点ttyS2另外,说点题外话,回想以前读大学时,非常想学习嵌入式,但是感觉非常困难。
现在看来,当时感觉困难的原因是入门太难了。
为什么入门难,弄了很久连环境都没打起来,更别说编译linux,制作根文件系统了。
在这里我想说“朋友们,搭建环境只需要把开发板的工具链解压到指定目录就可以了。
就相当于windows上的绿色软件一样,仅此而已,这比安装vs2005快多了,方便多了”。
既然开发环境搭建起来了,后面就是配置编译linux,制作根文件系统了(先不要管PMON了,就像电脑一样,很少有人换bios,最多重装系统)。
这也就是本篇文章的任务。
1.1. 开发板版本号LS1B DEMO BOARD Schematic Revision 2.0即版本为2.01.2. 工具链版本号版本为gcc-3.4.6-2f.tar.gz1.3. 参考文档及其版本号《1B开发板用户手册》V1.21.4. 目标参考《1B开发板用户手册》创建一个最简化的linux和根文件系统。
同时不破坏开发板预装的linux等,并将这个过程记录下来,仅供参考。
这里在明确一下本次任务的详细内容⏹PMON不变(不要动PMON,包括PMON环境变量,除了ip地址外)⏹LINUX内核配置尽量简单(驱动方面,除了串口外,其它的网口,声卡,触屏都不要选上),linux内核也仅仅下载到内存,不要写到flash⏹根文件系统尽量简单(根文件系统就直接从busybox编译后得到,暂时不移植什么应用),同时这里也选择RAMDISK文件系统,不要写到flash2.搭建开发环境安装虚拟机和Ubuntu网上有很多,当然手册中也讲得很详细,这个就自己解决。
假设您已经装好了。
另外我用的是red hat 企业版5(手册中用的是Ubuntu),并且直接登录root账户,避免了什么权限的麻烦。
安装工具链手册中已经讲得非常好了,这里直接截图。
3.制作根文件系统3.1. 配置3.1.1.拷贝源码,并解压[root@localhost test]# cp ../LS1B/busybox-1.19.2-default.tar.gz ./l[root@localhost test]# ls1b-linux-3.0-d8b47bb1b-linux-3.0-d8b47bb.tar.gzbusybox-1.19.2-default.tar.gz[root@localhost test]# tar -zxf busybox-1.19.2-default.tar.gz[root@localhost test]# ls1b-linux-3.0-d8b47bbbusybox-1.19.2-default1b-linux-3.0-d8b47bb.tar.gzbusybox-1.19.2-default.tar.gz[root@localhost test]# cd busybox-1.19.2-default [root@localhost busybox-1.19.2-default]#和linux内核一样,通过执行make menuconfig 来配置,输入后回车如下图所示3.1.2.配置选项简述Busybox Settings --->Build Options --->[*] Build BusyBox as a static binary (no shared libs)(/opt/GCC/gcc-3.4.6-2f/bin/mipsel-linux-) Cross Compiler prefix (交叉编译器的绝对路径前缀,根据自己情况修改)Busybox Library Tuning --->[*] vi-style line editing commands[*] Fancy shell promptsInit Utilities --->[*] init[*] Support reading an inittab file[*] Run commands with leading dash with controlling tty[*] Support running init from within an initrd (not initramfs)Miscellaneous Utilities --->[ ] ionice[ ] ubiattach[ ] ubidetach[ ] ubimkvol[ ] ubirmvol[ ] ubirsvol[ ] ubiupdatevol3.2. 编译执行make[root@localhost busybox-1.19.2-default]# make 执行完后,如下然后执行make install[root@localhost busybox-1.19.2-default]# make install已经把需要的东西放到当前目录的_install下然后在这基础上制作根文件系统3.3. 构建根文件系统3.3.1.建立系统根目录[root@localhost nfsramdisk]# mkdir LS1B [root@localhost nfsramdisk]# cd LS1B[root@localhost LS1B]# ls[root@localhost LS1B]# mkdir dev home proc tmp var etc lib mnt sys usr etc/rc.d root var/log [root@localhost LS1B]# lsdev etc home lib mnt proc root sys tmp usr var[root@localhost LS1B]#3.3.2.建立设备文件建立console和串口设备文件[root@localhost LS1B]# mknod -m 600 dev/console c 5 1[root@localhost LS1B]# mknod -m 600 dev/ttyS2 c 4 66[root@localhost LS1B]#3.3.3.建立系统配置文件注意:以下的配置文件不是在开发主机的根目录下创建的。
3.3.3.1. 添加etc/inittab文件[root@localhost LS1B]# vim etc/inittab::sysinit:/etc/rc.d/rc.sysinit// 指定系统启动后首先执行的文件#Example of how to put a getty on a serial line(rot a terminal)ttyS2::respawn:~/bin/sh #no login(启动后进入shell)#::respawn:/sbin/getty -L ttyS2 115200 vt100#use login#tty::respawn:~/bin/sh#Stuff to do when restarting the init process ::restart:/sbin/init#Stuff to do before rebooting::ctrlaltdel:/sbin/reboot // 捕捉ctrl+alt+del键,重启文件系统::shutdown:/bin/umount -a -r // 当关机时卸载所有文件系统::shutdown:/sbin/swapoff -a~~"etc/inittab" [新] 14L, 553C 已写入[root@localhost LS1B]#3.3.3.2. 新建etc/rc.d/rc.sysinit文件[root@localhost LS1B]# vim etc/rc.d/rc.sysinit#!/bin/sh#Set binary pathexport PATH=/bin:/sbin:/usr/bin:/usr/sbin#Config dev environmentmount -t tmpfs -o size=64k,mode=0755 tmpfs /devmkdir -p /dev/ptsmount -t devpts devpts /dev/pts#mknod -m 600 /dev/console c 5 1#mknod -m 600 /dev/ttyS2 c 4 66#mount all filesystem defined in /etc/fstabecho "#mount all......"/bin/mount -aecho "#Starting mdev......"echo /sbin/mdev>/proc/sys/kernel/hotplug/sbin/mdev -s#Set hostname/bin/hostname "Loongson-gz"export LOGNAME=root"etc/rc.d/rc.sysinit" [新] 24L, 489C 已写入[root@localhost LS1B]#3.3.3.3. 新建etc/fstab文件[root@localhost LS1B]# vim etc/fstabsysfs /sys sysfs defaults 0 0proc /proc proc defaults 0 0tmpfs /tmp tmpfs defaults 0 0tmpfs /mnt tmpfs defaults 0 0tmpfs /root tmpfs defaults 0 0tmpfs /var/log tmpfs defaults 0 0~"etc/fstab" [新] 7L, 213C 已写入[root@localhost LS1B]#3.3.3.4. 新建etc/profile文件[root@localhost LS1B]# vim etc/profile#!/bin/sh#/etc/profile:system-wide .profile file for the Bourne shellsecho "Processing /etc/profile..."#Set search library pathexport LD_LIBRARY_PATH=/lib:/usr/lib#Set user pathexport PATH=/bin:/sbin:/usr/bin:/usr/sbin#Set PS1USER="'id -un'"LOGNAME=$USERPS1='[\u@\h:\w]\$'PATH=$PATHalias ll="ls -l"echo "Done!""etc/profile" 20L, 330C 已写入[root@localhost LS1B]#3.3.3.5. 修改系统配置文件权限[root@localhost LS1B]# chmod 755 etc/*[root@localhost LS1B]# chmod 755 etc/rc.d/rc.sysinit[root@localhost LS1B]#3.3.3.6. 拷贝Busybox文件[root@localhost ~]# cd /home/dev/test/busybox-1.19.2-default[root@localhost busybox-1.19.2-default]# ls /nfsramdisk/LS1Bdev etc home lib mnt proc root sys tmp usr var[root@localhost busybox-1.19.2-default]# cp -rf _install/* /nfsramdisk/LS1B[root@localhost busybox-1.19.2-default]# ls /nfsramdisk/LS1Bbin dev etc home lib linuxrc mnt proc root sbin sys tmp usr var至此根文件系统制作完成!4.编译linux在强调一下,我使用的是red hat,直接root 登录,手册《1B开发板用户手册》使用的是Ubuntu。