没有合适的资源?快使用搜索试试~ 我知道了~
鉴于越来越多使用者将Linux移植到晶心平台(Andes Embedded)上(AndesCore N12或N10),本文的目的在协助使用者快速、有效率的将Linux 移植到自建的FPGA板子上(CPU是AndesCore 的 N12或N10)。笔者曾协助多家公司工程师进行Linux移植到晶心平台的工作,将Linux移植过程容易遭遇的问题与盲点进行实际说明,期望能对使用者有所帮助,也希望读者不吝指教提供您宝贵的意见。 在进行Linux移植时会发现,使用者的晶心平台可能会有各式各样的组合,除了CPU是使用N12或N10外,使用者对于其他的周边(如RAM,ROM,Timer……)之搭配各有所
资源推荐
资源详情
资源评论



























如何移植如何移植Linux到晶心平台到晶心平台
鉴于越来越多使用者将Linux移植到晶心平台(Andes Embedded)上(AndesCore N12或N10),本文的目的
在协助使用者快速、有效率的将Linux 移植到自建的FPGA板子上(CPU是AndesCore 的 N12或N10)。笔者曾
协助多家公司工程师进行Linux移植到晶心平台的工作,将Linux移植过程容易遭遇的问题与盲点进行实际说明,
期望能对使用者有所帮助,也希望读者不吝指教提供您宝贵的意见。 在进行Linux移植时会发现,使用者的
晶心平台可能会有各式各样的组合,除了CPU是使用N12或N10外,使用者对于其他的周边(如
RAM,ROM,Timer……)之搭配各有所
鉴于越来越多使用者将Linux移植到晶心平台(Andes Embedded)上(AndesCore N12或N10),本文的目的在协助使
用者快速、有效率的将Linux 移植到自建的FPGA板子上(CPU是AndesCore 的 N12或N10)。笔者曾协助多家公司工程师进
行Linux移植到晶心平台的工作,将Linux移植过程容易遭遇的问题与盲点进行实际说明,期望能对使用者有所帮助,也希望读
者不吝指教提供您宝贵的意见。
在进行Linux移植时会发现,使用者的晶心平台可能会有各式各样的组合,除了CPU是使用N12或N10外,使用者对于其
他的周边(如RAM,ROM,Timer……)之搭配各有所好,为了有系统性说明Linux移植的要领,将选定一明确的硬件,软件,
与开发工具(toolchain)环境做演练说明,除了让读者可以实作明了文中的叙述,当使用者的周边非原设计的硬件(用户自己
的IP)时,可以运用移植的基本原则,更改希望移植IP的Linux驱动程序,其他原始码不动,逐一的将使用者的周边驱动程序
移植到晶心的平台。
在Linux移植过程中,使用者须建立一基本观念,那就是整个Linux OS可分为两部分,部分是与硬件相关的HW
dependence code,这部分的程序代码会因对应不同的硬件而造成软件部分需做不同程度的改写;第二部份是与硬件无关的
generic code,这部分的程序代码与硬件无关,纯软件运作,不会因平台(Andes, X86, Arm)的改变而有差别。移植Linux的工
程师步需要能区分出哪一部分程序代码是 HW dependence code,另外部分的程序代码就是generic code,如果在这阶段对程序
代码判断错误(HW dependence code/generic code)会拖延Linux移植的进程并增加调试时的困难。
Linux移植到晶心平台过程中,首先须先做到Linux基础架构移植成功。在调试时,Linux的基础架构组件是
CPU,timer,interrupt与UART,当CPU与这3项周边移植成功后,scheduler可以运行了,printk也可以运行了Linux系统已经可以
正常的运作了。接下来的工作只需将需移植的驱动程序一个一个移植即可,基础骨架移植完成后,调试也有printk可用,接下
来只需将肉 (需要加的device drivers) 填上即可。Linux移植比较困难的地方是Linux基础架构尚未完成之前(Linux移植的初
期阶段)的调试,所幸晶心提供的标准调试工具与AndeShape?的调试器AICE,可以一步一步找出问题之所在,让初期移植
Linux的调试也变得很简单,具体得作法,后文会详细说明。本文叙述重点是如何在晶心平台上建立Linux基础架构,至于个别
Linux 驱动程序的移植,坊间有许多的书在介绍,本文就不多加赘述。
1.开发环境与程序开发环境与程序
使用者开始进行Linux移植到晶心平台,首先须先选定一版晶心的Linux原始码作为基准再进行软件移植,修改原始码以符
合使用者的开发平台,经由工具链的compile与link所产生的Linux的映像文件,再放到FPGA板上以验证程序编写的正确与
否,依此开发程序:软件编写->FPGA板验证,再回到软件编写程序直到所有周边IP在FPGA板上验证完全,Linux 移植才完
成,如图表 1所示,Linux移植过程中,AICE调试可以有效加快Linux移植的速度。
图表 1 Linux 移植的开发流程
本文选定一组Linux原始码、工具链、FPGA 板和netlist作为晶心的平台(于1.1,1.2,1.3中所述)进行linux的移植。读者可
将自己的平台与晶心的平台做类比,从而有效缩短产品开发进程。
1.1 晶心版晶心版Linux原始码原始码
目前晶心版本的Linux原始码在AndeSoft?的BSP310中,Linux原始码在BSP310套件中的位置为:
BSPv310/source/Linux/linux-2.6.tgz.使用BSP310中的ramdisk "xc5_glibc_ramdisk.img"作为filesystem.
1.2 工具链工具链
此晶心平台选用的工具链是AndeSoft?的nds32le-linux-glibc-v2.
1.3 FPGA 板子与板子与 netlist
FPGA板子是晶心AndeShape?的 XC5 开发板。Netlist 为晶心AndesCore?的N10 production version.
移植平台是指使用者要移植Linux的平台,也就是移植Linux的目标平台。将移植平台与晶心平台的比较列表如下: (其中
资源评论


weixin_38500948
- 粉丝: 3
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 改善交流伺服系统脉冲接口抗干扰能力(00001).doc
- 单片机和USB接口技术高速数据采集系统设计方案.doc
- GeekDesk-C#资源
- 大数据下互联网广告精准投放策略探讨.docx
- 浅议中职院校计算机课程实施翻转课堂的保障条件.docx
- 大数据产业新高地成就贵安精彩.docx
- gis中属性数据的输入和管理.ppt
- 数字图像处理降噪滤波大作业.doc
- 大数据、信息化时代电子档案管理的安全问题研究.docx
- watermark-js-plus-JavaScript资源
- (源码)基于Hyperf框架和Vue的微信服务系统.zip
- 电力信息化管理中存在的问题及对策解析.docx
- 网络环境下企业会计信息披露研究.docx
- 人工智能从前沿概念走进青少年实际生活.docx
- 计算机多媒体技术的应用现状及其发展前景分析.docx
- 农业电子商务平台建设现状附存在问题.doc
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



安全验证
文档复制为VIP权益,开通VIP直接复制
