pdf

嵌入式 Linux 系统 设计及应用 -基于国产龙芯 SOC

  • 1星
  • 日期: 2020-08-30
  • 大小: 24.01MB
  • 所需积分:0分
  • 下载次数:4
  • favicon收藏
  • rep举报
  • 分享
  • free评论
标签: 嵌入式

  嵌入式系统是一种专用的计算机系统,作为装置或设备的一部分。通常,嵌入式系统是一个控制程序存储在ROM中的嵌入式处理器控制板。事实上,所有带有数字接口的设备,如手表、微波炉、录像机、汽车等,都使用嵌入式系统,有些嵌入式系统还包含操作系统,但大多数嵌入式系统都是由单个程序实现整个控制逻辑。

Linux

Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

系统

系统

设计及应用

系统

龙芯

龙芯是中国科学院计算所自主研发的通用CPU,采用RISC指令集,类似于MIPS指令集。龙芯1号的频率为266MHz,最早在2002年开始使用。

SOC

SoC的定义多种多样,由于其内涵丰富、应用范围广,很难给出准确定义。一般说来, SoC称为系统级芯片,也有称片上系统,意指它是一个产品,是一个有专用目标的集成电路,其中包含完整系统并有嵌入软件的全部内容。同时它又是一种技术,用以实现从确定系统功能开始,到软/硬件划分,并完成设计的整个过程。

信息化技术的发展,给人类的生存环境和生产环境都带来了重大变革。现在,物联网引领信息产业革命的浪潮,使地球变得更加智慧,使人类生活无限美好。以物联网为龙头,智能穿戴、航空航天等重大IT相关应用领域,都广泛涉及嵌入式操作系统的应用,特别是嵌入式操作系统Linux的应用。掌握并熟练应用嵌入式操作系统Linux,是计算机、自动控制和电子信息等相关专业人才培养的重要方向。

近期,国内外发生的最轰动的事是中兴被禁事件。现在中兴事件终于结束,但代价太大。

如果说以往的采购方便让中国发展本国芯片三心二意的话,那么从现在起,靠美国芯片活得很好的幻想应该破灭了。中国有组织科技攻关的能力,也有推动国产芯片逐渐替代外来芯片所需要的动员力。目前中国已经有设计和生产芯片的能力,但是芯片使用的生态还不完善。

为了更好地推进国产芯片的使用,扩大国产芯片的生态圈,就有了将龙芯1C开发过程编撰成书的必要了。

本教程不仅用于MIPS架构的龙芯1号芯片的嵌入式系统开发,还可用于基于Linux操作系统的嵌入式系统学习,具有广泛的适用性。其中,在内核原理、应用程序编写方面,与市场常见ARM架构芯片相比,其开发过程是通用的,包括虚拟机编译、程序下载、调试、应用开发、内核裁减。

从智龙开发板开箱上电,安装软件,编写代码、调试,到教程整理完工,经历了近一年半的时间。在撰写过程中,经历了各种困难。其中最大的困难在于恒心和毅力。因为本人不是企业的员工,没有将龙芯应用于产品的开发经历,没有现成的实例和成品的代码,更没有开发产品的压力。好在拥有最重要一点,对于嵌入式系统浓厚的兴趣,再加上对于操作系统内核有一定基础,对于全部的外设接口都能熟练操作,虽然以前用的是其他系统和芯片平台,但面对一个新的芯片、新的系统,还是花了心思去掌握。我想,正是经历了这无数多的问题,并且不放弃,孜孜不倦地寻找答案,才能积累到现在一眼就发现问题的能力。所以,通过本教程来学习操作系统,不仅是要进行相关验证性实验,更是要进行创造性开发,才能巩固提高。因为实现一个功能的测试,在代码正确的情况下,验证过程很快,可是设计开发者实现这个功能,可能写了很之久。所以不要羡慕资深开发者的火眼金睛和开发速度,那是用时间和精力换来的。

2017年4月25日,有幸参加了龙芯新品发布会,与龙芯生态圈建立了联系,感触很深。

在了解了关于国产芯片的发展历史和现状后,觉得有必要将这一开发记录整理并参与更大范围的交流,以推进国产芯片的推广应用。

本教程中的所有代码,部分来自于网络,部分自己撰写,但都全部调试并在智龙V3.0上运行通过。其中,部分应用程序与其他ARM架构的系统是通用的。教程由3部分组成:入门基础篇、中级编程篇、高级驱动篇。入门基础篇包含了从一个初学者过渡到系统程序员的基础内容;中级编程篇不仅包含了操作系统的基本操作:文件、进程、线程、管道、消息、内存、锁、信号、网络,还包含了基本的硬件接口操作:GPIO、按键、RTC、UART。高级驱动篇则包含了驱动程序的编写和高级硬件接口操作:字符设备、I2C总线设备、SPI总线设备、CAN总线设备、ADC设备、LCD设备。附录为本书的嵌入式开发经常用的资料和智龙开发板的电路原理图。

具体内容如下:第1章为本书所采用的智龙开发板的详细介绍、硬件结构,为读者设计电路和软件开发提供参考。

第2~6章介绍了建立开发环境,进行系统开发的准备工作。包括Linux操作系统基本操作、建立交叉编译环境、制作文件系统,编写简单的入门程序和驱动程序。

第7章为基础Linux应用编程。

第8章在第7章的基础上,编写实例程序操作智龙开发板的硬件接口、外设资源,将开发板实实在在地利用起来。

第9~10章为高级嵌入式系统开发打下基础,详细介绍了NFS文件系统搭建方法和使用Eclipse开发环境进行应用和驱动的编写。

第11~12章是基础的驱动程序编写,介绍了字符类、杂项类驱动程序的编写方法,并编写了测试程序进行验证。

第13~19章则基于智龙开发板进行了详细的驱动程序设计开发并编写详细的测试程序。

第20章介绍了龙芯1C所使用的PMON结构,并说明了PMON编译、烧写、启动方法。

还介绍了相关祼机编程的方法。

第21章介绍了在其他操作系统上搭建智龙开发板开发环境的方法。

第22章介绍了智龙开发板的综合应用例程,还介绍了基于龙芯1C的机器人控制器硬件结构、软件开发方法。

第23章详细列出了智龙开发板所使用内核的配置。

附录为本书实验过程中经常用到的资料及智龙开发板的电路原理图,方便读者进行二次开发。

整篇教程内容由浅入深,方便自行阅读,也可以跟着配套视频自行学习。

教程中所有的代码均开源在GITHUB和百度网盘上。

GITHUB网址为https://github.com/sundm75/Loongson-Smartloong-V2.0。

本书由石南负责规划,内容编排、定稿与修改。参与本书编写的相关工作人员还有徐钊、孟凡伟、王晓荣等。徐钊设计了智龙开发板的硬件,孟凡伟设计了智龙开发板的后期版本和龙芯机器人控制器,王晓荣对部分软件代码进行了测试。

更多简介内容

推荐帖子

评论

登录/注册

意见反馈

求资源

回顶部

活动回顾

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版 版权声明

北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2021 EEWORLD.com.cn, Inc. All rights reserved
$(function(){ var appid = $(".select li a").data("channel"); $(".select li a").click(function(){ var appid = $(this).data("channel"); $('.select dt').html($(this).html()); $('#channel').val(appid); }) })
×