目前 , 在嵌入式系统里基于ARM核的嵌入式处理器已经成为市场主流。随着ARM技术的广泛应用 , 建立面向ARM构架的嵌入式操作系统也就成为当前研究的热点。S3C2410是SAMSUNG公司基于ARM920T处理器内核开发的一款16/32位嵌入式处理器,运行频率高达200多M,具有MMU和高速缓存等丰富片上资源,是目前基于ARM920T内核的出货量最大的一款芯片。目前嵌入式操作系统也较多,如 Tor2nado 的VxWork、微软的 Windows CE等等。大量开发人员选择的却都是Linux,这是因为它源代码开放,可以轻松修改移植到自己的目标平台系统里使用。并且事实证明,效果令人满意。两者的结合必将在嵌入式系统的世界里打出一片天地。
Linux 操作系统的移植
2.1移植的含义
要使得标准Linux能在ARM嵌入式处理器上运作,势必要经过移植 (porTIng) 的过程。所谓移植,就是让一套软件可以在一套选定硬件平台上正常运作,也就是要将平台相依 (platform dependent) 的部分做适当的修改。内核源码arch子目录包括了所有和平台体系结构相关的核心代码,它的每一个子目录都代表所支持的一种体系结构,arm就是关于我们所选处理器体系结构的子目录。我们的移植工作主要集中于此目录下。
2.2移植的具体实现
如果我们已经搭建起完整的交叉编译平台,移植工作便可开始了(以当前使用最广的linux-2.4为例,放于/usr/SRC/ linux-2.4.18之下)。
/ Makefile文件
一个工程往往包含很多的文件,按照一定的规则放在多个目录中。Makefile文件用来指定编译规则,例如哪些需要编译,哪些要先编译。在此处要做的是:
指定目标平台ARCH := $(shell uname -m | sed -e s/i.86/i386/ -e s/sun4u/sparc64/ -e s/arm.*/arm/ -e s/sa110/arm/)
设置为ARCH :=arm
指定交叉编译器CROSS_COMPILE =
设置为CROSS_COMPILE =arm-linux-
/arch/arm/Makefile
启动代码的产生要通过此一文件,由于2.4内核还没有对S3C2410的支持,自行加入如下代码
ifeq ((CONFIG_ARCH_ S3C2410),y)
TEXTADDR = xxx
MACHINE = s3c2410
Endif
TEXTADDR是内核的虚拟起始地址[6],也是内核最终运行地址,通常设为PAGE_OFFSET +0x8000,须根据实际情况相结合[2]。
/arch/arm/config.in
config.in是配置文件,决定了我们在配置菜单中看到的内容。自行加入$CONFIG_ARCH_S3C2410子选项[5]。
if [ “$CONFIG_ARCH_S3C2410” = “y” ]; then
comment‘Archimedes/A5000 ImplementaTIons’
dep_bool ‘SMDK (MERI TECH BOARD) ’
CONFIG _S3C2410_SMDK//
$CONFIG_ARCH_S3C2410
//其他
fi
在if [ “$CONFIG_FOOTBRIDGE_HOST” = “y” -o
……
“$CONFIG_ARCH_SA1100” = “y” ]; then
define_bool CONFIG_ISA y
else
define_bool CONFIG_ISA n
fi
中依样加入“$CONFIG_ARCH_s3c2410” = “y”-o。
/arch/arm/boot/Makefile
上一篇:数字信号处理架构下FPGA,ARM,DSP的对比
下一篇:基于CSMA/CA的MAC协议设计实现
推荐阅读
史海拾趣
随着市场的不断发展,CST意识到技术创新是企业持续发展的关键。因此,公司加大了对技术研发的投入,引进了一批高素质的研发人才,建立了先进的研发实验室。经过不懈努力,CST在电子接插件领域取得了多项技术突破,产品性能得到了显著提升,进一步巩固了其在市场中的领先地位。
1996年,CONTEC公司在秦皇岛经济技术开发区成立,初期便自主掌握了心电、脑电生产技术。这一技术的掌握为公司奠定了坚实的基础,使得其在医疗行业设备领域开始崭露头角。随着技术的不断进步和市场的扩大,公司逐渐发展成为国内领先的医疗设备供应商之一。
进入新世纪,三环集团继续加大研发投入,力求在电子元件领域取得更多突破。2001年,公司投资生产多层片式陶瓷电容器(MLCC),这是一种广泛应用于电子设备的关键元件。三环集团凭借其强大的研发能力和技术实力,成功实现了MLCC的量产,并将其应用于手机、电子、通讯等多个领域。这一突破不仅提升了公司的市场竞争力,也进一步巩固了其在电子行业中的地位。
然而,随着市场竞争的加剧和技术的快速变革,Fagor Electrónica也面临着前所未有的挑战。为了应对这些挑战,公司不断加大研发投入,积极引进先进技术和管理经验。同时,Fagor Electrónica还加强了与供应商和客户的合作,以共同应对市场变化。这些努力使得公司在激烈的市场竞争中保持了领先地位。
APM Hexseal一直致力于技术的持续创新和突破。公司不仅开发了可重复使用的自密封紧固件和垫圈等创新产品,还不断提升其产品的性能和可靠性。这些创新不仅满足了电子行业对密封解决方案的更高要求,也为APM Hexseal在激烈的市场竞争中保持了领先地位。
这些故事只是APM Hexseal在电子行业中发展起来的冰山一角。然而,正是这些故事所展现的创新精神、卓越品质和市场洞察能力,使得APM Hexseal能够在电子行业中脱颖而出,成为一家备受尊敬的企业。
FPGA的验证一直以来是不受重视的。 通常在RTL仿真后,采用SignalTap 和Chipscope来解决验证的问题。 当FPGA规模变大,编译时间很长,设计又很复杂时,这种方法的局限性就显露出来。 借鉴ASIC的验证概念,是解决这个问题的有效手段。   ...… 查看全部问答∨ |
作者:恩智浦半导体 Rob Cosaro ARM Cortex-M0内核使LPC1100的功耗数据与当前的低功耗微控制器保持一致,但这种内核的处理效率远远高于目前的8位和16位处理器。这可以降低电池供电应用的平均电流,延长电池寿命,也可减少其他应用的功 ...… 查看全部问答∨ |
我是linux新手,想请教一下高手 在写ALSA声卡驱动的时候,所形成的.probe()和.remove()函数与上层的file_operation结构体是怎样关联的? 它们的关系是怎样的?还有一般ALSA体系中file_operation结构体的在哪个文件中定义关联了write(),open(),r ...… 查看全部问答∨ |
|
我做了个今日插件和调用EXE,想用EXE去运行今日插件,但是如何实现呢?不想通过“设置”中的“今日”执行 我发现有些程序是挂载到SHELL32.EXE程序下的,而我的程序是挂载到MSTLI.EXE程序上的 如何才能实现挂载到SHELL32.EXE上呢?… 查看全部问答∨ |
|
怎么样准确地获得本机声卡设备名(device name)或者 device object指针 我想在底层通过驱动向真正的声卡发包让它读或者写(播放/录音), ///...获取声卡设备 ///...生成irp NTSTATUS status = IoCallDriver(pRealDev, Irp);   ...… 查看全部问答∨ |
说说LED日光灯的优势和普及趋势。 1、LED做成日光灯管的生产门槛较低。现成的各类配件(塑料管,铝塑管,内置电源,PCB,堵头)极其丰富,有电子组装经验的工厂能在短期内批量生产出来; 2、使用安装方法简便,可以在原灯架上改,也可以使用厂家 ...… 查看全部问答∨ |
MIL-STD-1553B入门视频教程 1553B总线资料课件 MIL-STD-1553B入门视频教程 1553B总线资料课件 MIL-STD-1553B入门视频教程,详细介绍了MIL-STD-1553B总线的历史背景、优点和应用;MIL-STD-1553B总线的基础知识介绍(1553B的网络结构、1553B工作模式、1553B传输方式、1553B数据 ...… 查看全部问答∨ |
太失败了,竟然连STM32F103VG的管脚详细说明也没找到。 在画板子,找不到STM32F103VG的管脚说明。 哪位有发一份给我吧,多谢啦。 请不要和我说去ST网站下载,找过了,没有。… 查看全部问答∨ |