社区导航

 
快捷导航
  • 首页
  • 论坛
  • 查看新帖
  • 最新回复
  • 社区活动
  • 联系管理员
  • 消灭零回复
  • E金币兑换
  • 干货
搜索
查看: 910|回复: 3

[设计过程分享] 关于定制的Debian和OpenWRT

[复制链接]

453

TA的帖子

9

TA的资源

一粒金砂(高级)

Rank: 3Rank: 3

发表于 2017-2-10 15:46:33 | 显示全部楼层 |阅读模式
1. 虽然我们在windows系统下,已经有了足够多的工具进行开发,但是在嵌入式系统开发中,linux是非常重要的工具和平台。
  • 首先,这个平台是开源的,在Linux上,几乎没有收费的工具。
  • 其次,linux系统能够适应几乎全部的硬件平台和任意一种开发板,虽然我们非常依赖厂家提供的linux系统,并直接在上面进行应用层开发,但是,因为linux的开放性,厂家所能提供的开发工具和你所能做到的从性能上几乎没有区别,只要嵌入式系统可以支持,那么就能试用各种linux的开发版本。
  • 最后,是具有更大的扩展性,因为在最前沿的技术上,现在都是先提供一组基于linux的开发工具SDK,让linux开发环境下可以率先尝鲜。最热的包括虚拟视觉VR的power 3D,人工智能的tensflow,区块链技术等。可以这么说,不接触linux基本上就是准备落后。
2. 但是Linux繁杂的系统和众多的版本,以及纯英文的命令行界面,真心的让人不能去塌下心去用。而且,中间的有些莫名其妙的问题,即使是厂家的技术人员也不是很容易找到问题。

  • 不过,对于程序员来说,能够从开源的程序中去独立工作,其实也提供了一种不可替代的解决方法。
  • 另外的一个附加好处是,linux可以完全定制,自己选择安装哪些软件包,使用gtk+还是QT的视窗界面,都完全定制。
  • 进一步升级的定制方式,就是对于熟练的硬件工程师,可以自己画个板子,然后生成自己的设备数文件,直接生成自己的的板子,并能够跑起来各种高性能工具。
  • 在上述的方法升级后,我们可以把这个包括linux嵌入式系统的硬件来执行如游戏机,多媒体电视,等任意功能。



3. 因此,有必要了解Linux操作系统的组织,并定制一个属于自己的系统。这个过程,从按照手册逐步制作系统,到深入了解后自己裁剪,最后用这个系统支持自己定制的硬件,当然如果有能力,最终定制自己的硬件产品。
4. 从目前看,debian这个系统的衍生环境下,得到支持的库最多。典型的就是树莓派的Raspbian和桌面版Ubunt,以及嵌入式ubuntu Core。因此,要从Debian开始。
然而,Debian在嵌入式系统上,明显过分臃肿了。这时,选择openWRT就是更切实的选择。虽然原理和框架不同,但是原理是基本相同的。
5. 定制一个在硬件开发板上跑的系统,就要熟悉硬件的参数,这个分3部分工作。
  • 首先,是各个芯片独特的启动方式和内存分布图,理解第一级启动。往往,这个工作在soc的rom中完成,负责吧flash的程序加载到ram中。
  • 其次,二级启动,这个一般是用SPL或者bootloader的方式出现,有大概10多种工具可以使用,如适用于redhat的LILO,以及redboot。不过,推荐用u-boot,因为这个和linux很多相似的原理部分,而且支持全部架构的芯片。u-boot可以看做电脑上的bios。
  • 最后,才是定制各种linux发行版的事情。可以是各种bian,netBSD等等。这项工作,往往被称为linux from scratch,并有专门的邮件组来讨论和交流,在LFS之后,是Beyond LFS(BLFS),自己定做个人系统的过程。如果,有能力自己做大型的script,并且打算做一个引导安装的小软件,甚至可以自己创建一个Linux发行版进行发行。

6. 这里没有提到非常流行的实时操作系统,因为,这些精致的操作系统都是在一定的范围内好用,如果不是制定的应用范围,就不是最好,所以,在不同的系统中不断学习,还有伴随这个系统的升级不断二次学习,这个工作,如果不是真滴有产品要做,确实不是很大众的。当然,前文说道的mbedOS例外,因为,其目标就是通吃,保持关注总是没有问题的。
7. 这个过程是否很难呢?
看起来很难,但是,一个完整的操作系统,一个人用2个月就可以开发出来,并且还能设计一套自己的硬件。一个最简化的操作系统,可以在一个485528-1-1.html" target="_blank" class="relatedlink">8位芯片中,用小于1k的代码完整实现。在有时间的时候,可以给大家介绍一下这个叫做OKOS的极简操作系统。
这个过程不是难和不难的问题,而是做和不做的问题。所以,做一个属于你自己的操作系统,是一个可行可为的事情。
如果能想办法放到这个L476芯片上,用sensorTile实现,那么就太完美了。我们尽量在项目的时间范围内尽可能多进展一些,和大家分享。


回复

使用道具 举报

6250

TA的帖子

14

TA的资源

版主

Rank: 6Rank: 6

测评达人

发表于 2017-2-10 15:55:27 | 显示全部楼层
OKOS是个什么系统?没有找到介绍。

Mbedos已经可以在SensorTile上运行了,但是MbedOS现在bug还比较多,功能也不强。

点评

给你一个zip版的  详情 回复 发表于 2017-2-10 16:32


回复

使用道具 举报

453

TA的帖子

9

TA的资源

一粒金砂(高级)

Rank: 3Rank: 3

 楼主| 发表于 2017-2-10 16:32:08 | 显示全部楼层
dcexpert 发表于 2017-2-10 15:55
OKOS是个什么系统?没有找到介绍。

Mbedos已经可以在SensorTile上运行了,但是MbedOS现在bug还比较多, ...

给你一个zip版的

okos-master.rar

1.4 MB, 下载次数: 9

点评

只能在PIC上,用汇编写的,移植困难啊  详情 回复 发表于 2017-2-12 21:14


回复

使用道具 举报

6250

TA的帖子

14

TA的资源

版主

Rank: 6Rank: 6

测评达人

发表于 2017-2-12 21:14:14 | 显示全部楼层
fyaocn 发表于 2017-2-10 16:32
给你一个zip版的

只能在PIC上,用汇编写的,移植困难啊


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

  • 论坛活动 E手掌握

    扫码关注
    EEWORLD 官方微信

  • EE福利  唾手可得

    扫码关注
    EE福利 唾手可得

小黑屋|手机版|Archiver|电子工程世界 ( 京ICP证 060456

GMT+8, 2017-11-19 22:22 , Processed in 0.292816 second(s), 16 queries , Redis On.

快速回复 返回顶部 返回列表