Linux是否能在8位MCU上运行?微光鹏羽,指间的黑客txt下载,九洲英雄,于丹的婚姻观,焦微微,雍正传奇修改器,et加速器,2015msi季中赛,布吉祥,创世纪战3,小强和小明,常依云,岳小凤,人大附小朝阳分校,蕙兰瑜伽视频教程,九洲战记,光明之锤杰斯,tas.tjfsu.edu.cn,降落我心上,loli的美好时代,现代修道生涯,女朋友会锦鲤吸水,洛克王国牵线木偶,撸管神器陈丽,亡灵医者,10658222,锻造1-600攻略,食人魔的晚餐,七星殿怎么去,猪猪手机书,凯特斯洛皇家贵族学院,拓珂吧,避风阁粉丝王,奥拉星帝皇龙,insec盲僧,soe-982,开心消消乐730关怎么过,古龙群侠传bug,死神之流星,剑心补丁1.20e,凝固的爱 试戏现场,霁雪飞云,恶魔城晓月金手指,熊卓为,紫蝴蝶百度影音,舞林争霸中国版,apple tv 越狱,夏之锁,阿呆嫁人,授田证,腥红之月伊莉丝,霍智宇,iem9 we,kaixinjiqingzhan,罪恶之城 笔趣阁,龙墓中走出的强者,csol弱点分析仪,qq仙灵活力怎么恢复,森光子东山纪之,鬼女红叶御魂,叶思如,使命召唤7破解补丁,四叶草动态壁纸,余罪第三季什么时候播,洛克王国精魂,洛克王国口吐冰莲,妖姬宅官网,圣安地列斯刷车工具,好人人体艺术,异界海盗王txt下载,兽魂歌,郧县城关一中,峨眉山市市长信箱,上海庆春电影城,无用官网,无间道风云百度影音,古濑理惠,吞食天地2加点,拳交,六爻测彩,鬼泣4存档位置,混迹在美女工作室,我怀了你的孩子吻戏,www.xue999.com,药家鑫唱歌,清灰音频,诺小昭,高晓松 如丧,马龙老五,封印的魔罐,七音碑,我的猛鬼新娘,洛克王国梦游,色遍天下txt下载,天赋图腾下载,默默无语音译歌词,多好的草地也有瘦马,lolvn符文,极品小村医,幸福还有多远演员表,

Linux是否能在8位MCU上运行?

   信息来源:RMTNjfZC

我们经常可以看到初学者在单片机论坛中询问他们是否可以在他们微不足道的小的8位微机中运行Linux。这些问题的结果通常是带来笑声。我们也经常看到,在Linux论坛中,询问Linux运行的最低要求是什么。常见的答案是Linux需要一个32位架构和一个MMU(存储器管理单元),并至少1MB的RAM来满足内核的需求。

本项目旨在(并且成功)粉碎这些概念。下图中您所看到的开发板基于ATmega1284P。我(歪果仁)还制作了一块基于ATmega644a的开发板,也同样获得了成功。该开发板没有使用其他处理器,启动Linux 2.6.34内核。事实上,它甚至可以运行一个完整的Ubuntu栈,包括X(如果你有时间等它启动)和gnome。

RAM(随即存取存储器)

是的,没错,完整的Linux安装需要数兆字节的RAM和32位带有MMU的CPU。本项目拥有这一切。首先,让我们访问RAM。正如您所看到的,在电路中有一块古董级的30引脚SIMM内存模块。这些是基于80286的PC曾经使用的。它通过接口和ATmega连接,我写代码来访问它并按照规格刷新它(SDRAM需要恒定速率刷新以避免丢失数据)。它到底有多快呢?刷新中断每62ms发生一次,占用时间1.5ms,因此占用3%以下的CPU。访问RAM,为了便于编程,一次访问一个字节。这样产生的最大带宽约为300KBps。

存 储

对于RAM需要工作在休眠状态,我们有两件事要处理。存储并不是太难解决的问题。使用SPI可以十分容易的与SD卡交互,我的项目中做到了这一点。一个1GB的SD卡可以工作的很好,虽然512MB就已经满足这一特殊的文件系统(Ubuntu Jaunty)。ATmega拥有一个硬件SPI模块,但无论出于何种原因,它工作的不是十分顺畅,因此我将这个接口进行位拆裂。它仍然足够块——大约200KBps。这对项目来说还非常有意义——它能够在有足够管脚的任何微控制器上实现,而不用使用其他硬件模块。

CPU(中央处理单元)

所有剩下的就是那个32位CPU和MMU需求。不过AVR没有MMU,并且它是8位的。为了克服这一困难,我编写了一款ARM仿真器。ARM是我最熟悉的架构,并且它足够简单,可以让我很舒服的为它编写出一个仿真器。为什么要编写一个,而不是移植一个呢?好吧,移植别人的代码是没有乐趣的,再加上我看到没有将仿真器轻松移植到8位设备上的书面资料。原因之一:AVR编译器坚持16位处理整数将会给你带来麻烦,如简单的“(1<<20)”,产生0。你需要用“1UL<<20”。不必要的说,困扰其他人的未知基本代码寻遍所有的地方,整数都被假定并将会失败,这将是一个灾难。另外,我想用这个机会编写一款很好的模块化ARM仿真器。所以我付诸行动。

其他功能


西瓜影院 http://www.ycy1717.com
蜘蛛池