完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
创客学院嵌入式培训讲师:一些嵌入式Linux应用并不需要网络支持,因此在配置核心的时候,你一定不要将网络部分的代码编译在内。这将为你节省很多空间;同样的道理,请务必保证你的内核只支持一种或者两种必要的文件系统;如果你的嵌入式应用只需要一种可执行文件格式,那么你一定要关掉其他的ELF(Executable and Linking Format,可执行和连接格式)。
嵌入式linux培训班之网络、文件系统和可执行格式: 通常情况下,参考“建立内核”的menu文件是一个好主意。如果你使用make menumconfig来配置内核,你可以在任何时候输入“?”来获得当前高亮选项的帮助信息。开发嵌入式设备驱动程序的时候,允许内核支持装载模块将为你带来方便。通过这种方法,在你需要支持一种新特性的时候,你只需要回头重新编译你需要的模块,把它们拷贝到你的设备上,加载它们就可以了。没有可加载模块支持的时候,你就不得不重新编译整个内核。当你开发一些设备的驱动程序的时候,为了节省一些RAM或者一些ROM,你可以重新编译整个内核,并不允许加载模块,而是把驱动程序直接编译到内核里面去。但是你还是应该好好计算一下,这样做究竟可以节省下多少空间,是否真的值得——毕竟允许加载模块对于系统以后升级有巨大的好处。 1、就地执行 还有一种可以节约内存的办法就是在长期存储器,例如ROM或者闪存中运行你的程序。这种方法被称作“就地执行”(Execute.in.Place,缩写为xp)。 在桌面系统上,你的应用程序存储在硬盘上,程序必须被读到内存才能执行。然而在多数的嵌入式设备中,并没有作为外存储器的硬盘,而是以某种记忆设备,例如ROM或者闪存代替。跟硬盘驱动器的不同在于,记忆设备是CPU可以直接寻址的,就像RAM。你可以使用这些可以直接寻址的记忆设备缩小你的系统对于RAM的需求。于是在内核被启动以后就不需要把应用程序拷贝到RAM再执行,而是直接寻址到应用程序存储的地址,开始执行。运行的效果跟把应用程序拷贝到内存以后执行是一样的。考虑到处理器、内存和闪存的速度,就地执行可能会使系统性能大大下降。 2、实时操作系统 在多数情况下,完成一个任务计算机到底需要多少时间并不重要。例如,当我敲击键盘的时候,总是希望单词立刻出现在屏幕上,可是“立刻”到底是多少时间昵?可能是千分之几十秒,也可能是千分之几百秒。你是没有办法分辨50毫秒(大约是1秒的1/20)以下的时间差别的。但是这一点时间对于一些计算机上的应用来说可能是非常严重的。例如,你的一个应用程序指挥一个机器人的手,从一叠东西上面取下一片,然后把这片东西,精确地移动到计算机键盘上的某个位置,在这个过程中,手臂的动作要精确,应用程序的时间控制就一定要精确,这就是你为什么需要实时系统。 以上就是对嵌入式linux培训班之网络、文件系统和可执行格式的详细介绍,了解更多嵌入式linux开发技术知识,请关注创客学院IT技术博文和嵌入式视频教程。 |
|
相关推荐
|
|
504 浏览 0 评论
1594 浏览 0 评论
如何使用python调起UDE STK5.2进行下载自动化下载呢?
2139 浏览 0 评论
开启全新AI时代 智能嵌入式系统快速发展——“第六届国产嵌入式操作系统技术与产业发展论坛”圆满结束
2659 浏览 0 评论
获奖公布!2024 RT-Thread全球巡回线下培训火热来袭!报名提问有奖!
28908 浏览 11 评论
72085 浏览 21 评论
浏览过的版块 |
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-8 04:33 , Processed in 0.558762 second(s), Total 69, Slave 51 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号