嵌入式
返回首页

杨欣欣:半导体公司的嵌入式软件开发

2009-08-06 来源:嵌入式系统联谊会

      杨欣欣博士是飞思卡尔北京Linux和开源研发经理,发言题目为《半导体公司的嵌入式软件开发》。他让我们了解到对半导体公司嵌入式软件的价值认识,以及飞思卡尔对于嵌入式Linux的开发过程。

     
           杨欣欣 飞思卡尔北京Linux和开源研究部门经理

      以下是文字实录。

      谢谢大家,很荣幸有这样一个机会和大家交流,大概3个星期前,何小庆给我这个题目,让我讲讲这方面,我借此机会主要讲讲freescale这方面开发的体会,和大家分享,可能不是很全面,希望大家多提宝贵意见。

      今天我想从以下几个方面讲讲,作为一个半导体公司我们为什么要来做软件,刚才大家可能已经提到了,INTEL,freescale、TI等等都有强大的软件部门,从传统意义上,一个半导体公司为什么花这么大的力气去做软件,第二个我想讲讲freescale在这方面我们的一些策略;第三个,大家都知道在嵌入式里,Linux是个非常重要的分支,我想讲一讲基本我们公司内部一个工具LTIB的Linux开发;最后如果我们有时间,我想介绍一下我们北京Linux团队。

      一个半导体公司为什么要来做软件?从我们传统意义上来讲,当一个客户,因为我们芯片的公司最重要的客户是设备制造商,设备制造商为什么会选一个芯片或者选一个处理器,从传统意义上,他会根据处理器功能能不能满足他的功能需求,或者成本够不够低,或者性能能不能达到要求,但是现在经过市场调查,这个是完全不一样的,我们可以看到这样一个数据,第一是软件开发工具是不是齐全;第二个是芯片的性能,芯片的性能一方面取决于芯片本身,一方面取决于软件对它的支持;我们还可以看到它support的操作系统,另外有中间件、驱动和现存的可参考的代码,这几个方面都是排在靠前的位置。所以从市场需求方面,我们可以看到半导体公司为了能满足客户的需求必须投入大量的人力物力去做这样的研究开发。我们可以看到关于软件这几项客户的反馈,都是需求很高的,占的比例很高的,那么从software solution来看,希望在我们的开发过程中能够提供更多的软件产品,从传统意义上,我们一个芯片制造商提供给客户的是一个芯片,再往后发展是芯片加上一些参考板,再加上一些操作系统、开发工具还有基本的BSP。

      但是客户的需求是永无止境的,现在更多的客户还是希望solution级别的产品给他们,包括底层的芯片、我们的参考板、操作系统、开发工具、我们的Application framework,还有真正的应用程序,这样的话,可以会加速设备制造商进入市场的速度,因为它只需要专注于自己的软件开发、系统集成、它的客户需求,所以我们从市场角度来看,这也是我们需要关注的一些地方。那么从技术本身来看,也是有这样的需求,就是我们作为芯片制造商需要提供优化后的参考平台,包括对芯片的优化,包括对CORE、对外设初始化和对设备驱动程序的生成,包括我们提供这样的开发工具,包括我们在runtime时候的操作系统对软件的支持等等。还有刚才韩青讲到的multicore这方面,客户也有越来越多的要求;那么从solution这个角度来讲,刚才我讲过了,这里我想强调一下我们虽然在做软件,在做操作系统,但是我们公司的策略是扩大ecosystem,就是这样一个生态系统,我们毕竟主要做芯片,我们需要软件公司的支持,所以我们公司的策略是希望用我们的软件一方面直接服务于我们的设备制造商,另一方面服务于我们的partner,服务于我们的合作伙伴,像在座的wind river,montavista等等都是我们重要的合作伙伴,这是从市场和技术角度说明了我们一个芯片公司有这样的需求,去做软件开发。

      Freescale大家可能都比较了解,它的前身是Motorola的半导体事业部,2004年独立出来后我们专注于汽车、工业、网络和消费的芯片的开发、设计与制造。作为软件,我们提供这样几种软件。大家可以看到,左边是基于我们公司开发板、开发包的工具盒上层的一些软件,那么归纳起来,可以做以下几点:第一包括tools,开发工具,包括compiler,debuger,simulator等等,第二个主要跟OS相关的东西,包括中间件等等,第三个是service,包括给客户定制的一些东西,第四个是Hardware的这个板子,包括里面跑的一些微码等,微码也是软件。我们大概提供这四方面的产品。

      刚才我在开始的时候提到的,现在在软件、OS中,Linux是扮演很重要的角色。从这个Linux contribution来看是谁在支持嵌入式Linux的开发,我们可以看到有很多软件公司,但是我们也可以发现有很多芯片公司的名字,像Intel、freescale等等,在Linux过程中,在contribution中,我们可以看到刚刚Linux kernel 2.6.30 release,各个公司在2.6.30 release code当中,freescale贡献是排17位,跟嵌入式相关的OS中还有个Boot loader,U-boot2009也是刚刚release,contribution code中freescale是排第四;作为一个芯片公司,我们在软件开发上也是花了很多力气。

      下面就讲讲我们在Linux开发中,有个很重要的我们提供给客户的产品叫做BSP,我们的BSP可能和Vxworks的BSP概念上稍微有些不一样,我们的BSP实际上完整的操作系统解决方案,它包括U-boot(boot loader)所有的source code、Kernel,包括所有的外设,device driver,source code全部都提供、file system,我们提供Ramdisk,NFS,在某些高性能的产品中还提供Hard disk、还有一些应用,再一个我们公司和Codesourcery(注:一家基于GNU的商业工具软件公司)有很好的合作,所以codesourcery对我们公司产品的一些优化,我们会把它拿过来包括在我们的产品当中。所以这几个部分构成了一个完整的package,叫做BSP,而且这个BSP是完全free的,如果大家感兴趣的话,可以到我们公司网站上下载各种版本的BSP。

      了解freescale的人,可能会知道freescale作为处理器,有三大产品线,第一是PowerPC,第二个是ARM系列的iMX,第三个是codefire,所以如果你到网上看到所有freescale的PowerPC的Linux package全部是在北京做的,北京开发的。我们现在有个计划,就是把我们这个扩大到codefire和iMX全系列的产品线上。BSP的开发形式这样的,这边是freescale的开发板参考板,这边是我们的host端,host端是运行在X86的平台上,使用Linux,在上面就用工具,去开发我们的BSP,它通过Ethernet和这个板子相连,另外一个通过JTAG仿真器和板子相连,我们这边开发的是个交叉编译的环境,编译出来后通过以太网或者JTAG给它真正的目标板去调试,最后做成flash或者harddisk里面交给客户。

      下面我就花一点时间讲一讲所谓的LTIB,LTIB是一种我们开发的集成的工具,全称叫做Linux target Image Builder,它提供了一个非常简单的tool,能够帮助我们的开发者和用户能够无论是开发BSP、还是将来开发上层的应用,这样的一个集成的开发环境,同时LTIB也是open source的一个项目,目前已经在open source有这样一个网站专门支持这样一个LTIB,如果大家感兴趣的话,可以到我们公司的网站上看一看。

      最后再花点时间介绍一下我们在北京有一个Linux叫做COE,这样一个开发中心。我们这个队伍是从1997年开始的,实际上是从96年Motorola跟计算所那边有合作项目,可能有些人知道,我们是从99年开始接手Linux,同年freescale也就是Motorola半导体收购了一个公司叫做metroworks(注:一家嵌入式软件公司),它也是做嵌入式工具的,就像Intel收购wind river一样,当然metroworks没有wind river那么大,freescale也没办法跟Intel比,但是模式是一样的,当时就是加强软件这方面的力量,当时我们这个team就是整个并入到metroworks了,做Linux的开发,到现在差不多有10年了。主要是做PowerPC、ARM等的Linux的开发,基本上我们这个team使用公司提供给我们最新的板子和芯片,来供全球的客户来使用,同时我们在open source上也在contribute一些source code,就像刚才讲的U-boot 2009年06的release,大概全球前20位的贡献者当中有3位是我们这个team的,中文Linux的部分也是我们team提供的,所以我们跟open source有很好的合作关系。还有我们有一个跟大学合作的计划,和北大清华都有很好的合作项目,在座的陈渝、董渊我们都合作好几年了。

      这就是我今天所讲的内容,有感兴趣的,我们在会下多加沟通,谢谢大家。

      (感谢嵌入式系统联谊会提供本次文字实录,相关PPT下载请访问:http://www.esbf.org.cn/img/0906yxx.pdf)

进入嵌入式查看更多内容>>
相关视频
  • PX4固件二次开发课程

  • RISC-V嵌入式系统开发

  • NuttX Workshop 2024

  • 自己动手写操作系统

  • SOC系统级芯片设计实验

  • 自己动手做一台计算机

精选电路图
  • 简洁的过零调功器电路设计与分析

  • 永不缺相启动运行的电动机控制电路

  • IGBT模块通过控制门极阻断过电流

  • 比较常见的功率整流器和滤波电路

  • 基于M66T旋律发​​生器的电路图解析

  • 基于CA3193的热电偶放大器电路

    相关电子头条文章