开启Linux之旅--致LinuxGeekFan

Dear All


    2012年至今,我接触Linux已经有四年时间了。就像大学的熔炉,四年实践间,足以让一个人实现蜕变。带着满满的收获,回想起学习Linux的坎坷历程,感慨很深。几天前和一个朋友聊天,共同的感受就是Linux入门比较难,以我自身体会,原因主要两点:1、教育资源:大学中相关的教育资源比较薄弱;2,、畏难情绪:Linux学习最主要的就是动手操作,但是畏难情绪会直接导致学习停滞。建立这个微信公众号,就是为了分享自己的学习历程,并在和大家观点碰撞中,获得一些新的收获。

    很多人会问,Linux会运用到什么领域?作为Gnu计划开源系统,Linux已悄然占据了我们的生活。我们生活中最熟悉的Android手持设备:手机、平板、VR&AR...,大部分的家用电器:SMART TV,SMART-HOME智能家庭管理系统,以及我们不太熟悉的sever 和通信基站等后台设备。智能化的生活,已经将我们的生活装扮的绚丽多彩。从最近一段时间最火的三大设备:3D打印机、VR&VR、SMART-HOME,基本上都会加入Linux来满足开发需求,当然,你要说3D打印机裸机程序也可以实现,我也不能反驳☞。以SMART-HOME 为例:


    不论在大学还是现在,我一直有一个理想,开发一套属于自己的智能家居系统,让家人享受私人定制的产品。想象一下,在自己温馨的家里,每天回到家中,打开手机,点击SAMRT-HOME APP,你的家电都握在你的手中,是一件多么令人自豪的事情。当你下定决心开始筹备这件事情的时候你会发现这不是一件难事。

    Step1:硬件方面,ARM920t CPU(S3C2410)+12MHZ外部时钟源+128M NANDFlash + SDRAM+LM 系列电源管理芯片+RTC时钟源,组成一个最简的嵌入式系统。然后根据你的智能家居系统需求,扩展你的电路,比如10M以太网、2.4GHZ短距离无线通信模块、温度/湿度/烟雾传感器、摄像头、红外触发警报系统等,以及方便我们调试系统的Serial、JTAG、USB接口。根据你自己的原理图设计,在Autium Designer中绘制或者添加元器件封装,并更具自己的需求布局元器件,布线,生成PCB后,这一步就大功告成了

    Step2:当然,嵌入式Linux开发,重头戏在软件。软件这边你需要准备的就比较多了。

 一、我们需要一个Linux系统,有经济条件的,LinuxSever最佳,当然,在自己的windows 下安装 VMware,然后载入Ubuntu 做成虚拟机也是可行的,这个主要是编译裁剪我们所需的Linux Image、以及定制我们的Rootfs。

二、为了方便我们构建整个工程,SourceInsight 也是必须的,当你做软件久了,你会发现你离不开这个软件。

三、为了调试方便,我们需要串口调试工具来查看机器运行状态。SecureCRT or DNW无疑是我们最佳的选择了,SecureCRT既可以将PC与目标机通过Serial链接外,还可以通过IP网络链接,主机和目标机通信或者文件传输也变得简单了起来。

    准备工作就绪,开始我们的嵌入式Linux 体验之旅吧。作为一个完整的linux,要想从裸板开始,到一个产品,都要经历什么样的开发过程呢?希望你仔细的看一下下面一幅图:


    首先,在Board 上电的瞬间,CPU Copy 零地址的开始的前4K 的代码到RAM运行,这一段代码由Bootloader实现,与我们熟悉的单片机中的Startup.s功能类似。主要是关闭WatchDog、关中断、初始化DDR,并初始化栈,copy bootloader第二阶段代码到SDRAM中,跳转到SDRAM中运行。之所以跳转SDRAM中运行,是因为cpu的RAM已经不足以满足我们运行一个系统的内存需求。在Bootloader中会加载Kernel、Rootfs到SDRAM,然后通过thekernel启动内核,mount 文件系统。至此,我们的最简linux系统完成了启动。最后就是通过内核函数 Run_Process_Init()启动第一个进程,从而执行我们的应用程序了。

    根据以上介绍,最简linux系统需要我们做的就是Bootloader移植、内核裁剪编译、Rootfs定制,Inittab规划等。从下一文章开始,我会根据自己的开发经验,详细分析各个模块的开发过程,让大家快速熟悉每个模块开发,然后以SMART-HOME为例,一起完成属于我们自己的智能家居系统。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值