p; 由 于众多嵌入式开发人员将在下一个设计项目中选择
Linux,因此,让他们体认到免费发行版本固有的局限性非常重要。这些局限包括:缺乏丰富的Linux工 具;相较竞争的实时OS来说占用更多空间;为满足实时要求最佳化Linux所面临的挑战;支持以及开发工具有限。也就是说,‘免费’意味着不花钱使用,但 并非零成本。
‘免费’≠‘零’成本
除了决定使用商用或免费Linux版本,开发 人员还必须认识到其除错/开发工具的能力和局限。嵌入式SoC领域任何有意义的设计,都要求针对嵌入式领域的高度整合的软件开发工具。从编译器到应用各个 环节的开放原始码工具,都期望能创造良好的生产品质。开发人员期望这些工具能与更短的学习曲线无缝结合。
充分发挥嵌入式 Linux免费发行版的优势,已经成为消
费产品领域被广泛接收的现实。在这些市场上,产品执行率非常高
www.cechina.cn,对程序代码的增加非常频繁
控制工程网版权所有,而且产品的销售成本至关 重要,所有这些都使得开放原始码模式极具吸引力。但是,人们通常希望开放原始码工具能够与生产品质密切相关,‘免费’和‘商用’并不同义。必须对核心和 SoC组件互动有深刻的了解,才能整合开放原始码/免费软件
控制工程网版权所有,并为处理器核心提供无缝除错环境的工具。因此,需要专业知识才能使目前的开放原始码工具顺利 工作。
现在有若干种‘免费软件’除错解决方案
CONTROL ENGINEERING China版权所有,设计人员必须全面了解其局限性。例如,针对Linux核心最受欢迎的免费软件除错器是KGDB,但主要缺点是KGDB会要求重新编译核心。这对产品已经部署到现场的应用来说并不可行。修补核心还可能导入影响系统性能的程序代码变化。
GDBServer 是另一个针对应用除错的颇受欢迎的免费软件除错器,但它也受到了严格限制。主要问题是缺乏对同时除错大量执行绪/进程的支持。随着除错的执行绪/进程数不 断增加
控制工程网版权所有,GDBServer性能迅速恶化,导致响应时间太慢,进而使目标系统出现故障。其它问题还涉及到:不能在相同的目标连接上除错驱动程序和应用;除 错设备驱动程序和除错共享库。了解特定应用的除错需求非常重要,应据此选择相应工具。
标签:Linux,
嵌入式系统,